2.5 Сравнительный анализ рассмотренных жизненных циклов ПО
В первую очередь проведем анализ понятия жизненный цикл, употребляемый нами довольно часто. Согласно ГОСТ 34.003 жизненный цикл АС: совокупность взаимосвязанных процессов создания и последовательного изменения состояния АС от формирования исходных требований к ней до окончания эксплуатации и утилизации комплекса средств автоматизации АС. При рассмотрение жизненного цикла ПО, регламентированного 34-ой системой стандартов, было приведено такое же определение. При этом подразумевалось, что под понятием автоматизированная система понимается программное обеспечение. Тогда, более точным будет следующее определение. Жизненный цикл ПО - совокупность взаимосвязанных процессов создания и последовательного изменения состояния ПО от момента формирования исходных требований к нему до полной его утилизации.
По смыслу и объему это определение полностью согласуется с определением модели жизненного цикла, данное в проекте стандарта ИСО/МЭК 12207-1. Модель жизненного цикла ПО - структура, содержащая процессы, действия и задачи, касающиеся разработки, эксплуатации и поддержки программных продуктов, охватывающая жизнь системы от определения требований к ней до окончания ее использования.
В документе DO-178B нет четкого определения понятия жизненного цикла программного обеспечения. Тем не менее, проведя анализ определенных в нем этапов жизненного цикла ПО, можно сделать вывод, что, по сути, оно аналогично определению, используемому в ГОСТ 34.003. Однако, жизненный цикл, установленный в DO-178B, не содержит аналогичных этапов Выполнение работ в соответствии с гарантийными обязательствами и Послегарантийного обслуживания, определенных в ГОСТ 34.601.
Можно сделать вывод, что современное представление ЖЦ ПО отражено в проекте стандарта ИСО/МЭК 12207, представляющий ЖЦ не только как процесса разработки ПО, но и как эксплуатации и сопровождения ПО.
ГОСТ 19.102 и ГОСТ 34.601не охватывают всего жизненного цикла ПО. Кроме того, ГОСТ 19.102 устарел, его требования не могут быть выполнены в полном объеме (например, требование обязательной передачи программы в фонд алгоритмов и программ). Основное отличие ИСО/МЭК 12207 от ГОСТ 19.102, ГОСТ 34.601, DO-178B заключается также в том, что первый их них устанавливает общий каркас для любого типа моделей жизненного цикла ПП, а остальные устанавливают более конкретные схемы. Схема ГОСТ 19.102 не предполагает использование высокопроизводительных моделей ЖЦ, широко применяемых в современной программотехнике. Из отечественных стандартов предпочтительнее использовать схему ГОСТ 34.601, которая охватывает практически все современные модели ЖЦ ПО. DO-178B признает, что приемлемы различные модели ЖЦ для разработки ПО и подчеркивает, что выбранный жизненный цикл должен быть определен на этапе планирования проекта.
Кроме того, выполнение требований ГОСТ 19.102 и ГОСТ 34.601 не гарантирует качество ПО, так как в них явно не определены процессы обеспечения качества разрабатываемого ПО. В этом отношении более прогрессивны проект стандарта ИСО/МЭК 12207 и документ DO-178B, руководящие принципы которых удовлетворяют целям стандартов ИСО 9000-3-91 Стандарты в области административного управления качеством и обеспечения качества. Часть 3. Руководящие положения по применению стандарта ИСО 9001 при разработке, поставке и обслуживанию ПО и МЭК 65А (Secretariat) 122 (1991 г.) ПО для компьютеров, используемых в промышленных системах безопасности.
Общая структура процессов ЖЦ во всех рассматриваемых выше стандартах и документах совпадает, за исключением DO-178B. Структура ИСО/МЭК 12207, ГОСТ 19.102, ГОСТ 34.601 представляет собой иерархию, содержащую три уровня: стадия (процесс), этапы (действия), содержание работ (задачи). Различия этих стандартов заключается в наполнении этой структуры. Точки контроля жизненного цикла привязаны к указанным трем уровням структуры.
DO-178B является преимущественно этапно-ориентированным документом. В нем для каждого этапа определены цели и способы достижения этих целей. В нем имеется описание данных этапов жизненного цикла, которые показывают, что цели были достигнуты. Кроме того, в DO-178B явно определена взаимосвязь между этапами жизненного цикла системы и этапами жизненного цикла ПО. Условия сбоев, связанных с функциями, которые выполняют ПО, описаны в ходе выполнения этапа оценки безопасности системы. Это является основой для установления уровня ПО. Уровень программного обеспечения основывается на вкладе, вносимом ПО в набор потенциальных состояний отказов системы.
ГОСТ 34.601 в качестве первой и обязательной стадии создания предусматривает формирование требований пользователя. В ИСО/МЭК 12207 эта стадия соответствует двум первым действиям процесса приобретения (5.1). Основным результатом этой стадии являются формально сформулированные и зарегистрированные требования пользователя к разрабатываемому ПО. Такой подход позволяет на последующих стадиях проводить оценку качества ПО ГОСТ 28195 (ГОСТ Р ИСО/МЭК 9126) на основе идентифицированных требований пользователя.
В ГОСТ 19.102 формулировка требований пользователя опущена до самого нижнего уровня иерархии (стадия Технический проект, этап 3 Разработка и утверждение технического задания, работа Определение требований к программе). В недавнем прошлом эта работа, зачастую, совсем исключалась из проекта, так как этот стандарт допускает исключать стадии, этапы работ и их содержание.
Стадии Разработка концепции, Техническое задание, Эскизный и технический проект ГОСТ 34.601 в основном соответствуют процессу разработки (5.3) ИСО/МЭК 12207 и частично - стадиям Техническое задание, Эскизный и технический проект, Рабочий проект ГОСТ 19.102. Детализация этапов и содержания работ на этих стадиях по ГОСТ 19.102 представляется на современном уровне недостаточной для оценки качества ПО. Детализация этапов (действий) и содержания работ (задач) по ГОСТ 34.601 и ИСО/МЭК 12207-1 для этой стадии (процесса) в целом хорошо согласуются между собой, хотя в первом из этих документов содержание работ в большей мере учитывает реальности РФ, а во втором дана большая детализация. Так как содержание работ ГОСТ 34.601 вынесено в справочное приложение к этому стандарту, то, в случае необходимости, в работы можно включать задачи ИСО/МЭК 12207.
Последние две стадии Ввод в действие и Сопровождение ГОСТ 34.601 связаны с процессами поставки (5.2), эксплуатации (5.4) и сопровождения (5.5) ИСО/МЭК 12207. При этом, большинство этапов и работ, выполняемых на этих стадиях, применяются к автоматизированным системам, а не к программному обеспечению (например, этап 7.4 Строительно-монтажные работы). Содержание работ этапа Внедрение ГОСТ 19.102 не вполне точно соответствует сегодняшним реальностям, о чем уже говорилось выше.
Что касается сравнения документа DO-178B с ИСО/МЭК 12207, ГОСТ 34.601 в отношении процессов ЖЦ, то в силу того, что они имеют разную структуры, анализ несколько затруднен. Можно только сказать, что цели этапа планирования соответствую в некоторой степени целям стадии 2 ГОСТ 34.601, этап разработки идентичен процессу разработки ИСО/МЭК 12207, а интегрированный этап - поддерживающим процессам ИСО/МЭК 12207.
Вопрос, касающийся документации в рассматриваемых выше стандартах будет рассмотрен нами в разделе 3.
Вопросы обеспечения качества, верификации, подтверждения почти не отражены в ГОСТ 19.102 и ГОСТ 34.601. В проекте ИСО/МЭК 12207 эти вопросы охвачены поддерживающими процессами обеспечения качества, верификации, подтверждения, общего обзора, аудита, разрешения проблем. В DO-178B эти вопросы отрабатываются в процессе выполнения интегрированного этапа. Непосредственное отношение к данным вопросам имеют работы по тестированию ПО, почти не отраженные в ГОСТ 19.102 и ГОСТ 34.601, но которым уделяется достаточное внимание в задачах основных процессов ИСО/МЭК 12207 и DO-178B.