Документирование ПО. Обзор отечественных стандартов по составлению документации на ПО.
Документирование ПО
Когда программист-разработчик получает в той или иной форме задание на программирование, перед ним, перед руководителем проекта и перед всей проектной группой встают вопросы:
· что должно быть сделано, кроме собственно программы?
· что и как должно быть оформлено в виде документации?
· что передавать пользователям, а что службе сопровождения?
· как управлять всем этим процессом?
· что должно входить в само задание на программирование?
Кроме упомянутых вопросов есть и другие.
На эти и массу других вопросов когда-то отвечали государственные стандарты на программную документацию комплекс стандартов 19-й серии ГОСТ ЕСПД. Но уже тогда у программистов была масса претензий к этим стандартам. Что-то требовалось дублировать в документации много раз (как, казалось — неоправданно), а многое не было предусмотрено, как, например, отражение специфики документирования программ, работающих с интегрированной базой данных.
В настоящее время остается актуальным вопрос о наличии системы, регламентирующей документирование программных средств (ПС).
Обзор отечественных стандартов по составлению документации на ПО
Основу отечественной нормативной базы в области документирования ПС составляет комплекс стандартов Единой системы программной документации (ЕСПД). Основная и большая часть комплекса ЕСПД была разработана в 70-е и 80-е годы. Сейчас этот комплекс представляет собой систему межгосударственных стандартов стран СНГ (ГОСТ), действующих на территории Российской Федерации на основе межгосударственного соглашения по стандартизации.
Стандарты ЕСПД в основном охватывают ту часть документации, которая создается в процессе разработки ПС, и связаны, по большей части, с документированием функциональных характеристик ПС. Следует отметить, что стандарты ЕСПД (ГОСТ 19) носят рекомендательный характер. Впрочем, это относится и ко всем другим стандартам в области ПС (ГОСТ 34, Международному стандарту ISO/IEC, и др.). Дело в том, что в соответствии с Законом РФ "О стандартизации" эти стандарты становятся обязательными на контрактной основе — то есть при ссылке на них в договоре на разработку (поставку) ПС.
Говоря о состоянии ЕСПД в целом, можно констатировать, что большая часть стандартов ЕСПД морально устарела.
К числу основных недостатков ЕСПД можно отнести:
- ориентацию на единственную, "каскадную" модель жизненного цикла (ЖЦ) ПС;
- отсутствие четких рекомендаций по документированию характеристик качества ПС;
- отсутствие системной увязки с другими действующими отечественными системами стандартов по ЖЦ и документированию продукции в целом, например, ЕСКД;
- нечетко выраженный подход к документированию ПС как товарной продукции;
- отсутствие рекомендаций по самодокументированию ПС, например, в виде экранных меню и средств оперативной помощи пользователю ("хелпов");
- отсутствие рекомендаций по составу, содержанию и оформлению перспективных документов на ПС, согласованных с рекомендациями международных и региональных стандартов.
Ниже рассмотрены наиболее используемые стандарты в практике:
1) ГОСТ (СТ СЭВ) 19.201-78 (1626-79). ЕСПД. Техническое задание. Требование к содержанию и оформлению.
Техническое задание (ТЗ) содержит совокупность требований к ПС и может использоваться как критерий проверки и приемки разработанной программы. Поэтому достаточно полно составленное (с учетом возможности внесения дополнительных разделов) и принятое заказчиком и разработчиком, ТЗ является одним из основополагающих документов проекта ПС.
Техническое задание должно содержать следующие разделы:
- введение;
- основания для разработки;
- назначение разработки;
- требования к программе или программному изделию;
- требования к программной документации;
- технико-экономические показатели;
- стадии и этапы разработки;
- порядок контроля и приемки;
- в техническое задание допускается включать приложения.
ГОСТ (СТ СЭВ) 19.101-77 (1626-79). ЕСПД. Виды программ и программных документов.
Устанавливает виды программ и программных документов для вычислительных машин, комплексов и систем независимо от их назначения и области применения. Рассматривает такие группы, как:
· Виды программ
· Виды программных документов
· Виды эксплуатационных документов
· Виды программных документов, разрабатываемых на разных стадиях, и их коды
3) ГОСТ 19.102-77. ЕСПД. Стадии разработки.
Устанавливает стадии разработки программ и программной документации для вычислительных машин, комплексов и систем независимо от их назначения и области применения. Стадии разработки:
· Техническое задание: постановка задачи, сбор материалов
· Эскизный проект: уточнение методов решения
· Технический проект: разработка алгоритма, структуры программы
· Рабочий проект программирование, разработка документации, тестирование
· Внедрение: передача программы для изготовления и/или сопровождения