• Жизненный цикл программного продукта — это период времени, начинающийся с момента принятия решения о необходимости создания ПП и заканчивающийся в момент его полного изъятия из эксплуатации.
• Структуру жизненного цикла ПП, состав процессов, действия и задачи, которые должны быть выполнены во время создания ПП, определяет и регламентирует международный стандарт ISO/IEC 12207: 1995 «Information Technology — Software Life Cycle Processes» (ISO — International Organization for Standardization — Международная организация по стандартизации; IEC — International Electrotechnical Commission — Международная комиссия по электротехнике; название стандарта «Информационные технологии — Процессы жизненного цикла программ»).
• В России, начиная с 1970-х годов, создание ПП регламентировалось стандартами ЕСПД (Единая система программной документации — серия ГОСТ 19.ХХХ), которые были ориентированы на класс относительно простых программ небольшого объема, создаваемых отдельными программистами. В настоящее время указанные стандарты устарели концептуально и по форме, их сроки действия закончились и дальнейшее использование этих стандартов нецелесообразно. В результате для каждого серьезного проекта приходится создавать комплекты нормативных и методических документов, регламентирующих процессы создания конкретного прикладного ПП, поэтому в отечественных разработках целесообразно использовать современные международные стандарты.
• Существует несколько моделей жизненного цикла (ЖЦ), каждая из которых определяет различную методологию создания систем, тем не менее все без исключения модели ЖЦ включают в себя пять этапов и связей между ними с детальным описанием действий, моделей и результатов каждого этапа. Приведем названия и краткое содержание каждого этапа в соответствии с ГОСТ 19.102-77.
Техническое задание
• постановка задачи
• выбор критериев эффективности
• проведение предварительных научно-исследовательских работ (НИР);
• разработка ТЗ.
Эскизный проект:
• структура входных и выходных данных;
• уточнение методов решения; общий алгоритм;
• разработка документации эскизного проекта.
Технический проект:
• уточнение структуры входных и выходных данных;
• разработка алгоритмов;
• формы данных;
• семантика и синтаксис языка;
• структура программы; конфигурация технических средств;
• план работ.
Рабочий проект:
• программирование и отладка;
• разработка документов;
• подготовка и проведение испытаний;
• корректировка программы и документов по итогам испытаний.
Внедрение:
• передача программы и документов для сопровождения;
• оформление акта;
• передача в Фонд алгоритмов и программ (ФАП).
• В соответствии со стандартом ISO/IEC 12207 все процессы жизненного цикла ПП разделены на три базовые группы: основные процессы; вспомогательные (поддерживающие) процессы; организационные процессы.
• Основные процессы включают в себя набор определенных действий и связанных с ними задач, которые должны быть выполнены в течение жизненного цикла ПП.
• К основным относятся процессы приобретения, поставки, разработки, эксплуатации и сопровождения.
• Основной целью вспомогательных (поддерживающих) процессов является создание надежного, полностью удовлетворяющего требованиям заказчика ПП в установленные договором сроки. К вспомогательным относятся процессы документирования, управления конфигурацией, обеспечения качества, верификации, аттестации, совместной оценки, аудита, разрешения проблем.
• Основной целью организационных процессов является организация процесса разработки надежного, полностью удовлетворяющего требованиям заказчика ПП в установленные договором сроки и управление этим процессом. К организационным относятся процессы управления, создания инфраструктуры, усовершенствования, обучения.
Процесс приобретения (acquisition process) охватывает действия заказчика по приобретению ПП. К этим действиям относятся:
• инициирование приобретения;
• подготовка заявочных предложений;
• подготовка и корректировка договора;
• надзор за деятельностью поставщика;
• приемка и завершение работ.
Процесс поставки (supply process) охватывает действия и задачи поставщика при снабжении заказчика ПП или услугой. К этим действиям относятся:
• инициирование поставки;
• подготовка ответа на заявочные предложения;
• подготовка договора;
• планирование;
• выполнение и контроль;
• проверка и оценка;
• поставка и завершение работ.
Процесс разработки (development process) охватывает действия и задачи разработчика и предусматривает следующие основные направления работ:
• создание ПП и его компонентов в соответствии с заданными требованиями, включая оформление проектной и эксплуатационной документации;
• подготовку материалов, необходимых для проверки работоспособности и качества ПП;
• подготовку материалов, необходимых для организации обучения персонала, и т.д.
Процесс эксплуатации (operation process) охватывает действия и задачи оператора — организации, занимающейся эксплуатацией разработанного ПП или системы. К этим действиям относятся:
• подготовительная работа;
• эксплуатационное тестирование;
• эксплуатация системы;
• поддержка пользователей.
• Процесс сопровождения (maintenance process) охватывает действия и задачи сопровождающей организации (службы сопровождения). Данный процесс активизируется при изменениях (модификациях) ПП и соответствующей документации, вызванных возникшими проблемами или потребностями в модернизации либо адаптации ПП. В соответствии со стандартом IEEE-90 (IEEE — Institute of Electrical and Electronics Engineers — Институт инженеров по электротехнике и электронике) под сопровождением понимается внесение изменений в ПП в целях исправления ошибок, повышения производительности либо адаптации к изменившимся условиям работы или требованиям.
Процесс документирования (documentation process) предусматривает формализованное описание информации, созданной в течение жизненного цикла ПП. Данный процесс состоит из набора действий, с помощью которых планируют, проектируют, разрабатывают, выпускают, редактируют, распространяют и сопровождают документы, необходимые для всех заинтересованных лиц, таких как руководство, технические специалисты и пользователи системы.
• Процесс документирования включает в себя:
• подготовительную работу;
• проектирование и разработку документации;
• выпуск документации;
• сопровождение.