Модели разработки программных средств.

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

Модель жизненного цикла программного обеспечения— структура, содержащая процессы действия и задачи, которые осуществляются в ходе разработки, использования и сопровождения программного продукта.

Эти модели можно разделить на 3 основных группы:

  1. Инженерный подход;
  2. С учетом специфики задачи;
  3. Современные технологии быстрой разработки.

Каскадная модель жизненного цикла программного обеспечения (водопад).
Модели разработки программных средств. - student2.ru

Преимущества:

  1. Последовательное выполнение этапов проекта в строгом фиксированном порядке;
  2. Позволяет оценивать качество продукта на каждом этапе.

Недостатки:

  1. Отсутствие обратных связей между этапами;
  2. Не соответствует реальным условиям разработки программного продукта.

Относится к первой группе моделей.

Каскадная модель с промежуточным контролем (водоворот).
Данная модель является почти эквивалентной по алгоритму предыдущей модели, однако при этом имеет обратные связи с каждым этапом жизненного цикла, при этом порождает очень весомый недостаток: 10-ти кратное увеличение затрат на разработку. Относится к первой группе моделей.

V модель (разработка через тестирование).

Является одной из основных практик экстремального программирования.

Модели разработки программных средств. - student2.ru

Таким образом, в конце каждого этапа жизненного цикла разработки, а зачастую и в процессе выполнения этапа, осуществляется проверка взаимной корректности требований различных уровней. Данная модель позволяет более оперативно проверять корректность разработки, однако, как и в каскадной модели, предполагается, что на каждом этапе разрабатываются документы, описывающие поведение всей системы в целом.

Спиральный жизненный цикл.

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

Естественно, такая картина достаточно утопична, поэтому постепенно появилось решение, исправляющее основной недостаток V-образного жизненного цикла - предположение о том, что на каждом этапе разрабатывается очередное полное описание системы. Этим решением стала спиральная модель жизненного цикла.

Модели разработки программных средств. - student2.ru

В спиральной модели разработка системы происходит повторяющимися этапами - витками спирали. Каждый виток спирали - один каскадный или V-образный жизненный цикл. В конце каждого витка получается законченная версия системы, реализующая некоторый набор функций. Затем она предъявляется пользователю, на следующий виток переносится вся документация, разработанная на предыдущем витке, и процесс повторяется.

Таким образом, система разрабатывается постепенно, проходя постоянные согласования с заказчиком. На каждом витке спирали функциональность системы расширяется, постепенно дорастая до полной.

Преимущества:

  1. Быстрое получение результата;
  2. Повышение конкурентоспособности;
  3. Изменяющиеся требования — не проблема.

Недостатки:

  1. Отсутствие регламентации стадий.

Третьей группе принадлежат такие модели как экстремальное программирование (XP), SCRUM.

Наши рекомендации