Модели жизненного цикла ПО.


 

В основе деятельности по созданию и использованию ПО лежит понятие жизненного цикла (ЖЦ). ЖЦ является моделью создания и использования ПО, отражающей его различные состояния, начиная с момента возникновения необходимости в данном программном изделии и заканчивая моментом его полного выхода из употребления у всех пользователей.

Стандарт ISO не предполагает конкретную модель ЖЦ и методы разработки ПО.

Под моделью ЖЦ понимается структура, определяющая последовательность выполнения их взаимосвязей, процессов, действий и задач на протяжении ЖЦ. Наибольшее распространение получили каскадная модель и спиральная.

 

Традиционно выделяют следующие основные этапы ЖЦ ПО:

- анализ требований,

- проектирование,

- кодирование (программирование)

- тестирование и отладка,

- эксплуатация и сопровождение.

ЖЦ образуется в соответствии с принципом нисходящего проектирования и, как правило носит итерационный характер: реализованные этапы, начиная с самых ранних, циклически повторяются в соответствии с изменениями требований и внешних условий, введением ограничений и т.п. На каждом этапе ЖЦ порождается определенный набор документов и технических решений, при этом для каждого этапа исходными являются документы и решения, полученные на предыдущем этапе. Каждый этап завершается верификацией порожденных документов и решений с целью проверки их соответствия исходным.

Модели ЖЦ

1. Каскадная модель (70-80 г.г.) – предполагает переход на следующий этап после полного окончания работ по предыдущему этапу.

2. Поэтапная модель с промежуточным контролем (80-85г.г.) – итерационная модель разработки ПО с циклами обратной связи между этапами. Преимущество такой модели заключается в том, что межэтапные корректировки обеспечивают меньшую трудоемкость по сравнению с каскадной моделью; однако, время жизни каждого из этапов растягивается на весь период разработки.

3. Спиральная модель (86-90г.г.) – делает упор на начальные этапы ЖЦ: анализ требований, проектирование спецификаций, предварительное и детальное проектирование. На этих этапах проверяется и обосновывается реализуемость технических решений путем создания прототипов. Каждый виток спирали соответствует поэтапной модели создания фрагмента или версии программного изделия на нем уточняются цели и характеристики проекта, определяется его качество, планируются работы следующего витка спирали. Таким образом углубляются и последовательно конкретизируются детали проекта и в результате выбирается обоснованный вариант, который доводится до реализации.

 

 

Каскадная модель.

 

 

Основная проблема – существенное запаздывание с получением результатов.

Для преодоления данных проблем предложена спиральная модель.