Международный стандарт ISO/IEC 12207: 1995-08-01
Указанный стандарт является базовым и определяет жизненный цикл программного обеспечения. Стандарт определяет стратегию и общий порядок в создании и эксплуатации программного обеспечения, охватывая жизненный цикл от концептуальной идеи до завершения проекта.
В отличие от Oracle CDM стандарт ISO/IEC 12207 состоит из более крупных обобщенных процессов: приобретение, поставка, разработка и т.д. (все процессы Oracle CDM сопоставимы с одним процессом в стандарте ISO/IEC 12207).
В стандарте ISO/IEC 12207 описаны пять основных процессов жизненного цикла программного обеспечения:
1) процесс приобретения определяет действия предприятия - покупателя информационной системы, программного продукта или службы программного обеспечения;
2) процесс поставки определяет действия предприятия-поставщика по снабжению покупателя информационной системой, программным продуктом или службы программного обеспечения;
3) процесс разработки определяет действия предприятия-разработчика, который разрабатывает принципы построения программного изделия и собственно программный продукт;
4) процесс функционирования определяет действия предприятия-оператора, обслуживающего систему в целом. Сюда входят консультация пользователей, получение обратной связи и т.д.;
5) процесс сопровождения определяет действия персонала, обеспечивающего сопровождение программного продукта, т.е. управление модификацией программного продукта, поддержку текущего состояния и функциональной пригодности, установку и удаление.
Кроме пяти основных процессов, ISO/IEC 12207 оговаривает восемь вспомогательных процессов, которые являются неотъемлемой частью всего жизненного цикла системы:
1) процесс решения проблем;
2) процесс документирования;
3) процесс управления конфигурацией;
4) процесс обеспечения качества;
5) процесс верификации;
6) процесс аттестации;
7) процесс совместной оценки;
8) процесс аудита.
В стандарте ISO/IEC 12207 также определяются четыре организационных процесса:
1) процесс управления;
2) процесс создания инфраструктуры;
3) процесс усовершенствования;
4) процесс обучения.
В стандарте ISO/IEC 12207 имеется дополнительный процесс, позволяющий адаптировать стандарт к условиям конкретного проекта.
Рассмотрим особенности стандарта ISO/IEC 12207.
Стандарт имеет динамический и адаптивный характер. Это обусловлено способом определения последовательности выполнения процессов и задач, при котором один процесс вызывает при необходимости другой или его часть либо вообще его исключает. Стандарт принципиально не содержит описания конкретных методов действий, а тем более заготовок решений или документации. Стандарт позволяет обеспечить качество с разной степенью организационной независимости контролирующей деятельности. Стандарт обеспечивает гибкую степень обязательности. Достаточно указать небольшое количество процессов и задач, соответствующих данному стандарту. Стандарт содержит предельно мало описаний, направленных на проектирование баз данных (возможны ситуации, когда базы данных и не используются).
Ценность стандарта ISO/IEC 12207 заключается в том, что он дает набор задач, характеристик качества, критериев оценки, охватывающих все проектные ситуации. Например, для характеристики требования к программному обеспечению предусмотрено 10 классов характеристик качества:
1) функциональные и возможные спецификации, включая исполнение, физические характеристики и условия среды эксплуатации, при которых единица программного обеспечения должна быть выполнена;
2) внешние связи (интерфейс) с единицей программного обеспечения;
3) требования квалификации (набор критериев, которые должны быть выполнены, чтобы признать продукт готовым к использованию в целевой окружающей среде);
4) спецификации надежности, включая спецификации, связанные
с методами функционирования и сопровождения, воздействия окружающей среды и травм персонала;
5) спецификации защищенности информации;
6) человеческие факторы (по эргономике и инженерной психологии);
7) определение данных и требований к базам данных;
8) установочные и приемочные требования поставляемого программного продукта в местах эксплуатации;
9) документация пользователя;
10) требования сервиса пользователя.
При использовании стандарта стороны-участники ответственны:
1) за выбор модели жизненного цикла для разрабатываемого проекта;
2) адаптацию процессов и задач к этой модели;
3) выбор и применение методов разработки программного обеспечения;
4) выполнение действий и задач, подходящих для проекта программного обеспечения.