Единая система программной документации ЕСПД – общая характеристика

Стандарты ЕСПД (как и другие ГОСТы) подразделяют на группы:

  • Общие положения
  • Основополагающие стандарты
  • Правила выполнения документации разработки
  • Правила выполнения документации изготовления
  • Правила выполнения документации сопровождения
  • Правила выполнения эксплуатационной документации
  • Правила обращения программной документации
  • Резервные группы
  • Прочие стандарты

Обозначение стандарта ЕСПД должно состоять из:

  • числа 19 (присвоенных классу стандартов ЕСПД);
  • одной цифры (после точки), обозначающей код классификационной группы стандартов, указанной в таблице;
  • двузначного числа (после тире), указывающего год регистрации стандарта.

Вообще перечень документов ЕСПД очень обширен. В него, в частности, входят следующие ГОСТы:

  • ГОСТ 19.001-77 ЕСПД. Общие положения.
  • ГОСТ 19.005-85 ЕСПД. P-схемы алгоритмов и программ. Обозначения условные графические и правила выполнения.
  • ГОСТ 19.101-77 ЕСПД. Виды программ и программных документов.
  • ГОСТ 19.102-77 ЕСПД. Стадии разработки.
  • ГОСТ 19.103-77 ЕСПД. Обозначение программ и программных документов.
  • ГОСТ 19.104—78 ЕСПД. Основные надписи.
  • ГОСТ 19.105-78 ЕСПД. Общие требования к программным документам.
  • ГОСТ 19.106-78 ЕСПД. Требования к программным документам, выполненным печатным способом.
  • ГОСТ 19.201-78 ЕСПД. Техническое задание. Требования к содержанию и оформлению.
  • ГОСТ 19.202-78 ЕСПД. Спецификация. Требования к содержанию и оформлению.
  • ГОСТ 19.301-79 ЕСПД. Порядок и методика испытаний.
  • ГОСТ 19.401-78 ЕСПД. Текст программы. Требования к содержанию и оформлению.
  • ГОСТ 19.402-78 ЕСПД. Описание программы.
  • ГОСТ 19.403-79 ЕСПД. Ведомость держателей подлинников.
  • ГОСТ 19.404-79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению.
  • ГОСТ 19.501-78 ЕСПД. Формуляр. Требования к содержанию и оформлению.
  • ГОСТ 19.502-78 ЕСПД. Описание применения. Требования к содержанию и оформлению.
  • ГОСТ 19.503-79 ЕСПД. Руководство системного программиста. Требования к содержанию и оформлению.
  • ГОСТ 19.504-79 ЕСПД. Руководство программиста. Требования к содержанию и оформлению.
  • ГОСТ 19.505-79 ЕСПД. Руководство оператора. Требования к содержанию и оформлению.
  • ГОСТ 19.506-79 ЕСПД. Описание языка. Требования к содержанию и оформлению.
  • ГОСТ 19.507-79 ЕСПД. Ведомость эксплуатационных документов.
  • ГОСТ 19.508-79 ЕСПД. Руководство по техническому обслуживанию. Требования к содержанию и оформлению.
  • ГОСТ 19.601-78 ЕСПД. Общие правила дублирования, учета и хранения.
  • ГОСТ 19.602-78 ЕСПД. Правила дублирования, учета и хранения программных документов, выполненных печатным образом.
  • ГОСТ 19.603-78 ЕСПД. Общие правила внесения изменений.
  • ГОСТ 19.604-78 ЕСПД. Правила внесения изменений в программные документы, выполняемые печатным способом.
  • ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.
  • ГОСТ 19.781-90. Обеспечение систем обработки информации про-рамное. Термины и определения.

Общая характеристика состояния дел в области документирования программных средств

Основу отечественной нормативной базы в области документирования ПС составляет комплекс стандартов Единой системы программной документации (ЕСПД). Основная и большая часть комплекса ЕСПД была разработана в 70-е и 80-е годы 20 века. Сейчас этот комплекс представляет собой систему межгосударственных стандартов стран СНГ (ГОСТ), действующих на территории Российской Федерации на основе межгосударственного соглашения по стандартизации.

Единая система программной документации — это комплекс государственных стандартов, устанавливающих взаимоувязанные правила разработки, оформления и обращения программ и программной документации.

Стандарты ЕСПД в основном охватывают ту часть документации, которая создается в процессе разработки ПС, и связаны, по большей части, с документированием функциональных характеристик ПС. Следует отметить, что стандарты ЕСПД (ГОСТ 19) носят рекомендательный характер. Впрочем, это относится и ко всем другим стандартам в области ПС (ГОСТ 34, международному стандарту ISO/IEC и др.). Дело в том, что в соответствии с Законом РФ «О стандартизации» эти стандарты становятся обязательными на контрактной основе, т.е. при ссылке на них в договоре на разработку (поставку) ПС.

В состав ЕСПД входят:

  • основополагающие и организационно-методические стандарты;
  • стандарты, определяющие формы и содержание программных документов, применяемых при обработке данных;
  • стандарты, обеспечивающие автоматизацию разработки программных документов.

Говоря о состоянии ЕСПД в целом, можно констатировать, что большая часть стандартов ЕСПД морально устарела.

К числу основных недостатков ЕСПД можно отнести:

  • ориентацию на единственную «каскадную» модель жизненного цикла ПС;
  • отсутствие четких рекомендаций по документированию характеристик качества ПС;
  • отсутствие системной увязки с другими действующими отечественными системами стандартов по ЖЦ и документированию продукции в целом, например ЕСКД;
  • нечетко выраженный подход к документированию ПС как товарной продукции;
  • отсутствие рекомендаций по самодокументированию ПС, например, в виде экранных меню и средств оперативной помощи пользователю (хелпов);
  • отсутствие рекомендаций по составу, содержанию и оформлению перспективных документов на ПС, согласованных с рекомендациями международных и региональных стандартов.

ЕСПД нуждается в полном пересмотре на основе стандарта ИСО/МЭК 12207-95 на процессы жизненного цикла ПС.

Тем не менее до пересмотра всего комплекса многие стандарты могут с пользой применяться в практике документирования ПС. Эта позиция основана на следующем:

  • стандарты ЕСПД вносят элемент упорядочения в процесс документирования ПС;
  • предусмотренный стандартами ЕСПД состав программных до-кументов вовсе не такой «жесткий», как некоторым кажется: стандарты позволяют вносить в комплект документации на ПС дополнительные виды программных документов (ПД), необходимых в конкретных проектах, и исключать многие ПД;
  • стандарты ЕСПД позволяют вдобавок мобильно изменять структуры и содержание установленных видов ПД исходя из требований заказчика и пользователя.

Международный стандарт ISO/IEC 12207:1995 на организацию ЖЦ продуктов программного обеспечения (ПО), казалось бы, весьма неконкретный, но вполне новый и отчасти «модный» стандарт.

Модели жизненного цикла программных средств

Модель жизненного цикла — структура, состоящая из процессов, работ и задач, включающих в себя разработку, эксплуатацию и сопровождение программного продукта, охватывающая жизнь системы от установления требований к ней до прекращения ее использования.

К настоящему времени наибольшее распространение получили следующие основные модели ЖЦ:

  • каскадная модель (70-80-е годы 20 века);
  • спиральная модель (80-90-е годы 20 века).

В изначально существовавших однородных ИС каждое приложение представляло собой единое целое. Для разработки такого типа приложений применялся каскадный способ. Его основной характеристикой является разбиение всей разработки на этапы, причем переход с одного этапа на следующий происходит только после того, как будет полностью завершена работа на текущем. Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков. 

Каскадная схема разработки программного средства

Положительные стороны применения каскадного подхода заключаются в следующем:

  • на каждом этапе формируется законченный набор проектной документации, отвечающий критериям полноты и согласованности;
  • выполняемые в логичной последовательности этапы работ позволяют планировать сроки завершения всех работ и соответствующие затраты.

Каскадный подход хорошо зарекомендовал себя при построении ИС, для которых в самом начале разработки можно достаточно точно и полно сформулировать все требования, с тем чтобы предоставить разработчикам свободу реализовать их как можно лучше с технической точки зрения. В эту категорию попадают сложные расчетные системы, системы реального времени и другие подобные задачи. Однако в процессе использования этого подхода обнаружился ряд его недостатков, вызванных прежде всего тем, что реальный процесс создания ПС никогда полностью не укладывался в такую жесткую схему. В процессе создания ПС постоянно возникала потребность в возврате к предыдущим этапам и уточнении или пересмотре ранее принятых решений. В результате реальный процесс создания ПС принимал следующий вид:

Схема реального процесса разработки ПС по каскадной схеме

Основным недостатком каскадного подхода является существенное запаздывание с получением результатов. Согласование результатов с пользователями производится только в точках, планируемых после завершения каждого этапа работ, требования к ИС «заморожены» в виде технического задания на все время ее создания. Таким образом, пользователи могут внести свои замечания только после того, как работа над системой будет полностью завершена. В случае неточного изложения требований или их изменения в течение длительного периода создания ПС пользователи получают систему, не удовлетворяющую их потребностям. Модели (как функциональные, так и информационные) автоматизируемого объекта могут устареть одновременно с их утверждением.

Для преодоления перечисленных проблем была предложена спиральная модель ЖЦ, делающая упор на начальные этапы ЖЦ: анализ и проектирование. На этих этапах реализуемость технических решений проверяется путем создания прототипов. Каждый виток спирали соответствует созданию фрагмента или версии ПС, на нем уточняются цели и характеристики проекта, определяется его качество и планируются работы следующего витка спирали. Таким образом, углубляются и последовательно конкретизируются детали проекта, и в результате выбирается обоснованный вариант, который доводится до реализации.

Схема спиральной модели жизненного цикла

Разработка итерациями отражает объективно существующий спиральный цикл создания системы. Неполное завершение работ на каждом этапе позволяет переходить на следующий этап, не дожидаясь полного завершения работы на текущем. При итеративном способе разработки недостающую работу можно будет выполнить на следующей итерации. Главная же задача — как можно быстрее показать пользователям системы работоспособный продукт, тем самым активизируя процесс уточнения и дополнения требований.

Основная проблема спирального цикла — определение момента перехода на следующий этап. Для ее решения необходимо ввести временные ограничения на каждый из этапов жизненного цикла. Переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена. План составляется на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков.

Общая характеристика состояния в области документирования программных средств

Основу отечественной нормативной базы в области документирования ПС составляет комплекс стандартов Единой системы программной документации (ЕСПД). Основная и большая часть комплекса ЕСПД была разработана в 70-е и 80-е годы 20 века. Сейчас этот комплекс представляет собой систему межгосударственных стандартов стран СНГ (ГОСТ), действующих на территории Российской Федерации на основе межгосударственного соглашения по стандартизации.

Единая система программной документации — это комплекс государственных стандартов, устанавливающих взаимоувязанные правила разработки, оформления и обращения программ и программной документации.

Стандарты ЕСПД в основном охватывают ту часть документации, которая создается в процессе разработки ПС, и связаны, по большей части, с документированием функциональных характеристик ПС. Следует отметить, что стандарты ЕСПД (ГОСТ 19) носят рекомендательный характер. Впрочем, это относится и ко всем другим стандартам в области ПС (ГОСТ 34, международному стандарту ISO/IEC и др.). Дело в том, что в соответствии с Законом РФ «О стандартизации» эти стандарты становятся обязательными на контрактной основе, т.е. при ссылке на них в договоре на разработку (поставку) ПС.

В состав ЕСПД входят:

  • основополагающие и организационно-методические стандарты;
  • стандарты, определяющие формы и содержание программных документов, применяемых при обработке данных;
  • стандарты, обеспечивающие автоматизацию разработки программных документов.

Говоря о состоянии ЕСПД в целом, можно констатировать, что большая часть стандартов ЕСПД морально устарела.

К числу основных недостатков ЕСПД можно отнести:

  • ориентацию на единственную «каскадную» модель жизненного цикла ПС;
  • отсутствие четких рекомендаций по документированию характеристик качества ПС;
  • отсутствие системной увязки с другими действующими отечественными системами стандартов по ЖЦ и документированию продукции в целом, например ЕСКД;
  • нечетко выраженный подход к документированию ПС как товарной продукции;
  • отсутствие рекомендаций по самодокументированию ПС, например, в виде экранных меню и средств оперативной помощи пользователю (хелпов);
  • отсутствие рекомендаций по составу, содержанию и оформлению перспективных документов на ПС, согласованных с рекомендациями международных и региональных стандартов.

ЕСПД нуждается в полном пересмотре на основе стандарта ИСО/МЭК 12207-95 на процессы жизненного цикла ПС.

При этом стиль применения стандартов может соответствовать современному общему стилю адаптации стандартов к специфике проекта: заказчик и руководитель проекта выбирают уместное в проекте подмножество стандартов и ПД, дополняют выбранные ПД нужными разделами и исключают ненужные, привязывают создание этих документов к той схеме ЖЦ, которая используется в проекте.

Надо сказать, что наряду с комплексом ЕСПД официальная нормативная база РФ в области документирования ПС и в смежных областях включает ряд перспективных стандартов (отечественного, межгосударственного и международного уровней).

Международный стандарт ISO/IEC 12207:1995 на организацию ЖЦ продуктов программного обеспечения (ПО), казалось бы, весьма неконкретный, но вполне новый и отчасти «модный» стандарт.

Стандарты комплекса ГОСТ 34 на создание и развитие автоматизированных систем — обобщенные, но воспринимаемые как весьма жесткие по структуре ЖЦ и проектной документации. Но эти стандарты многими считаются бюрократическими до вредности и консервативными до устарелости.

Какие действия входят в состав процесса управления и каково их назначение?

Процесс управления (management process) состоит из действий и задач, которые могут выполняться любой стороной, управляющей своими процессами. Данная сторона (менеджер) отвечает за управление выпуском продукта, управление проектом и управление задачами соответствующих процессов, таких, как приобретение, поставка, разработка, эксплуатация, сопровождение и др.

Процесс управления

При инициировании менеджер должен убедиться, что необходимые для управления ресурсы (персонал, оборудование и технология) имеются в его распоряжении в достаточном количестве.

Планирование подразумевает выполнение как минимум следующих задач:

  • составление графиков выполнения работ;
  • оценку затрат;
  • выделение требуемых ресурсов;
  • распределение ответственности;
  • оценку рисков, связанных с конкретными задачами;
  • создание инфраструктуры управления.

Какие задачи выполняются в процессе разрешение проблем?

Процесс разрешения проблем (problem resolution process) предусматривает анализ и решение проблем (включая обнаруженные несоответствия) независимо от их происхождения или источника, которые обнаружены в ходе разработки, эксплуатации, сопровождения или других процессов. Каждая обнаруженная проблема должна быть идентифицирована, описана, проанализирована и разрешена.

В чем отличие процесса совместной оценки от процесса аудита?

Процесс совместной оценки (joint review process) предназначен для оценки состояния работ по проекту и ПС, создаваемому при выполнении данных работ (действий). Он сосредоточен в основном на контроле планирования и управления ресурсами, персоналом, аппаратурой и инструментальными средствами проекта.

Оценка применяется как на уровне управления проектом, так и на уровне технической реализации проекта и проводится в течение всего срока действия договора. Данный процесс может выполняться двумя любыми сторонами, участвующими в договоре, при этом одна сторона проверяет другую.

Процесс аудита (audit process) представляет собой определение соответствия требованиям, планам и условиям договора.

Аудит может выполняться двумя любыми сторонами, участвующими в договоре, когда одна сторона проверяет другую.

Аудит — это ревизия (проверка), проводимая компетентным органом (лицом) в целях обеспечения независимой оценки степени соответствия ПС или процессов установленным требованиям. Аудит служит для установления соответствия реальных работ и отчетов требованиям, планам и контракту. Аудиторы (ревизоры) не должны иметь прямой зависимости от разработчиков ПС. Они определяют состояние работ, использование ресурсов, соответствие документации спецификациям и стандартам, корректность тестирования.

Это разные понятия, т.к. находятся он на разных этапах жизненного цикла. Аудит это, как правило, третье лицо, а совместной оценкой  занимаются только заказчик и разработчик.

Какие действия входят в состав процесса обеспечения качества и каково их назначение?

Процесс обеспечения качества (quality assurance process) обеспечивает соответствующие гарантии того, что ПС и процессы его ЖЦ соответствуют заданным требованиям и утвержденным планам. Под качеством ПС понимается совокупность свойств, которые характеризуют способность ПС удовлетворять заданным требованиям.

Процесс обеспечения качества

Для получения достоверных оценок создаваемого ПС процесс обеспечения его качества должен происходить независимо от субъектов, непосредственно связанных с разработкой ПС. При этом могут использоваться результаты других вспомогательных процессов, таких, как верификация, аттестация, совместная оценка, аудит и разрешение проблем.

Подготовительная работа заключается в координации с другими вспомогательными процессами и планировании самого процесса обеспечения качества с учетом используемых стандартов, методов, процедур и средств.

Обеспечение качества продукта подразумевает гарантирование полного соответствия программных продуктов и документации на них требованиям заказчика, предусмотренным в договоре.

Обеспечение качества процесса предполагает гарантирование соответствия процессов ЖЦ ПС, методов разработки, среды разработки и квалификации персонала условиям договора, установленным стандартам и процедурам.

Обеспечение прочих показателей качества системы осуществляется в соответствии с условиями договора и стандартом качества ISO 9001.

Какие действия входят в состав процесса управление конфигурацией и каково их назначение?

Процесс управления конфигурацией (configuration management process) предполагает применение административных и технических процедур на всем протяжении ЖЦ ПС для определения состояния компонентов ПС в системе, управления модификациями ПС, описания и подготовки отчетов о состоянии компонентов ПС и запросов на модификацию, обеспечения полноты, совместимости и корректности компонентов ПС, управления хранением и поставкой ПС. Согласно стандарту IEEE-90 под конфигурацией ПС понимается совокупность его функциональных и физических характеристик, установленных в технической документации и реализованных в ПС.

Управление конфигурацией позволяет организовать, систематически учитывать и контролировать внесение изменений в ПС на всех стадиях ЖЦ.

Процесс управления конфигурацией

Подготовительная работа заключается в планировании управления конфигурацией.

Идентификация конфигурации устанавливает правила, с помощью которых можно однозначно идентифицировать и различать компоненты ПС и их версии. Кроме того, каждому компоненту и его версиям соответствует однозначно обозначаемый комплект документации. В результате создается база для однозначного выбора и манипулирования версиями компонентов ПС, использующая ограниченную и упорядоченную систему символов, идентифицирующих различные версии ПС.

Контроль конфигурации предназначен для систематической оценки предполагаемых модификаций ПС и координированной их реализации с учетом эффективности каждой модификации и затрат на выполнение. Он обеспечивает контроль состояния и развития компонентов ПС и их версий, а также адекватность реально изменяющихся компонентов их комплектной документации.

Учет состояния конфигурации представляет собой регистрации состояния компонентов ПС, подготовку отчетов обо всех реализованных и отвергнутых модификациях версий компонентов ПС. Совокупность отчетов обеспечивает однозначное отражение текущего состояния системы и ее компонентов, а также ведение истории модификаций.

Оценка конфигурации заключается в оценке функциональной полноты компонентов ПС, а также соответствия их физического состояния текущему техническому описанию.

Управление выпуском и поставка охватывают изготовление эталонных копий программ и документации, их хранение и поставку пользователям в соответствии с порядком, принятым в организации.

Какие действия входят в состав процесса документирование и каково их назначение?

Процесс документирования (documentation process) предусматривает формализованное описание информации, созданной в течение ЖЦ ПС. Данный процесс состоит из набора действий, с помощью которых планируют, проектируют, разрабатывают, выпускают, редактируют, распространяют и сопровождают документы, необходимые для всех заинтересованных лиц, таких, как руководители, технические специалисты и пользователи системы.

Процесс документирования