Понятие жизненного цикла программного обеспечения ИС (ЖЦ ПО ИС)
Одним из базовых понятий методологии проектирования ИС является понятие жизненного цикла её программного обеспечения (ЖЦ ПО).
ЖЦ ПО – это непрерывный процесс, который начинается с момента принятия решения о необходимости его создания и заканчивается в момент его полного изъятия из эксплуатации.
Содержание ЖЦ разработки ИС сводится к выполнению следующих стадий:
1. Планирование и анализ требований (предпроектная стадия) – предполагает исследование и анализ существующей ИС, определение требований к вновь создаваемой ИС, формируются технико-экономическое обоснование (ТЭО) и техническое задание (ТЗ) на разработку ИС;
2. Проектирование (техническое, логическое проектирование). Разработка в соответствии со сформулированными требования состава автоматизируемых функций (функциональная архитектура) и состава обеспечивающих подсистем (системная архитектура), оформление технического проекта ИС;
3. Реализация (рабочее, физическое проектирование, программирование). Разработка и настройкапрограмм, наполнение баз данных, создание рабочих инструкций для персонала, оформление рабочего проекта;
4. Внедрение (тестирование, опытная эксплуатация). Комплексная отладка подсистем ИС, обучение персонала, поэтапное внедрение ИС в эксплуатацию по подразделениям экономического объекта, оформление акта о приёмо-сдаточных испытаниях ИС;
5. Эксплуатация ИС (сопровождение, модернизация). Сбор рекламаций и статистики о функционировании ИС, исправление ошибок и недоработок, оформление требований к модернизации ИС и её выполнение (повторение стадий 2-5).
Особенностью ЖЦ ПО ИС является повторяемость его основных стадий «анализ – проектирование – сопровождение – анализ». При первом выполнении этого цикла создаётся определённый вариант ИС, а при последующих реализациях осуществляется его модернизация.
Модель жизненного цикла отражает различные состояния системы, начиная с момента возникновения необходимости в данной ИС и заканчивая моментом ее полного изъятия из употребления. Модель жизненного цикла - структура, содержащая процессы, действия и задачи, которые осуществляются в ходе разработки, функционирования и сопровождения программного продукта в течение всей жизни системы, от определения требований до завершения его использования.
Среди известных моделей жизненного цикла можно выделить следующие:
· Каскадная модель (до 70-х годов). Предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке. Переход на следующий этап означает полное завершение работ на предыдущем этапе.
Каскадная модель ЖЦ ИС
· Итерационная (поэтапная модель с промежуточным контролем (70-80 годы)). Разработка ИС ведется итерациями с циклами обратной связи между этапами. Межэтапные корректировки позволяют учитывать реально существующее взаимовлияние результатов разработки на различных этапах; время жизни каждого из этапов растягивается на весь период разработки.
Поэтапная модель с промежуточным контролем
· Спиральная модель (80-90 годы). На каждом витке спирали выполняется создание очередной версии продукта, уточняются требования проекта, определяется его качество и планируется работа следующего витка. Особое внимание уделяется начальным этапам разработки - анализу и проектированию, где реализуемость тех или иных технических решений проверяется и обосновывается посредством создания прототипов (макетов).
Спиральная модель ЖЦ ИС
На практике наибольшее распространение получили две модели жизненного цикла:
· каскадная модель;
· спиральная модель.
Достоинство Каскадной модели заключается в:
· планировании времени осуществления всех этапов проекта;
· упорядочении хода конструирования.
Недостатки каскадной модели:
ª реальные проекты часто требуют отклонения от стандартной последовательности шагов;
ª реально в начале проекта требования заказчика определены лишь частично;
ª результаты проекта доступны заказчику только в конце работы.
Достоинства Спиральной модели:
· реально отображает разработку программного обеспечения;
· позволяет явно учитывать риск на каждом витке разработки;
· использует моделирование для уменьшения риска и совершенствования программного изделия.
Недостатками спиральной модели являются:
ª Новизна (отсутствует достаточная статистика эффективности модели);
ª Повышенные требования к заказчику;
ª Трудности контроля и управления временем разработки.