Одним из базовых понятий методологии проектирования ИС является понятие жизненного цикла (ЖЦ) ее программного обеспечения. Жизненный цикл программного обеспечения - это непрерывный процесс, который начинается с момента принятия решения о необходимости его создания и заканчиваются в момент его полного изъятия из эксплуатации.
Основным нормативным документом, регламентирующим жизненный цикл, является международный стандарт ISO/IEC 12207 (ISO - International Organization of Standardization - Международная организация по стандартизации, IEC - International Electrotechnical Commission - Международная комиссия по электротехнике). Он определяет структуру жизненного цикла, содержащую процессы, действия и задачи, которые должны быть выполнены во время создания программного обеспечения ИС.
Структура жизненного цикла включает в себя три группы процессов:
· основные процессы (приобретение, поставка, разработка, эксплуатация, сопровождение);
· вспомогательные процессы, обеспечивающие выполнение основных процессов (документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, оценка, аудит, решение проблем);
· организационные процессы (управление проектами, создание инфраструктуры проекта, определение, оценка и улучшение самого ЖЦ, обучение).
Разработка включает в себя все работы по созданию программного обеспечения:
· анализ, проектирование и реализацию (программирование);
· оформление проектной и эксплуатационной документации;
· подготовку материалов, необходимых для проверки работоспособности и качества программ;
· разработку документов, необходимых для организации обучения персонала.
Эксплуатация включает в себя:
· ввод в эксплуатацию ПО;
· конфигурирование баз данных и рабочих мест конечных пользователей;
· подготовку эксплуатационной документации;
· обучение персонала;
· проведение эксплуатации, в том числе локализация проблем и устранение причин их возникновения, модификация программного обеспечения в рамках установленного регламента, подготовка предложений по совершенствованию, развитию и модернизации системы.
Управление проектом связано с вопросами планирования и организации работ, создания коллективов разработчиков, контроля за сроками и качеством выполняемых работ. Техническое и организационное обеспечение проекта включает выбор методов и инструментальных средств для реализации проекта, определение методов описания промежуточных состояний разработки, разработку методов и средств испытаний ПО, обучение персонала. Обеспечение качества проекта связано с проблемами верификации, проверки и тестирования ПО. Верификация - это процесс определения того, отвечает ли текущее состояние разработки, достигнутое на данном этапе, требованиям этого этапа. Проверка позволяет оценить соответствие параметров разработки с исходными требованиями. Проверка частично совпадает с тестированием, которое связано с идентификацией различий между действительными и ожидаемыми результатами и оценкой соответствия характеристик ПО исходным требованиям. В процессе реализации проекта важное место занимают вопросы идентификации, описания и контроля конфигурации отдельных компонентов и всей системы в целом.
Одним из вспомогательных процессов жизненного цикла является управление конфигурацией ПО. При создании сложных ИС часто разрабатывается несколько версий компонентов программного обеспечения. При этом возникает проблема учета их связей и функций, создания унифицированной структуры и обеспечения развития системы. Управление конфигурацией позволяет организовать, систематически учитывать и контролировать внесение изменений в ПО на всех стадиях ЖЦ.
Каждый процесс характеризуется определенными задачами и методами их решения, исходными данными, полученными на предыдущем этапе, и результатами. Результатами анализа, в частности, являются функциональные модели, информационные модели и соответствующие им диаграммы. Жизненный цикл программного обеспечения носит итерационный характер. Результаты очередного этапа часто вызывают изменения в проектных решениях, выработанных на более ранних этапах.