Модель разработки
Спираль

Описание
Спиральная модель — одна из наиболее важных моделей жизненного цикла разработки программного обеспечения, которая обеспечивает поддержку обработки рисков . На схематическом изображении она выглядит как спираль с множеством петель. Точное количество петель спирали неизвестно и может варьироваться от проекта к проекту. Каждый виток спирали называется этапом процесса разработки программного обеспечения. Точное количество этапов, необходимых для разработки продукта, может варьироваться менеджером проекта в зависимости от рисков проекта.
Поскольку менеджер проекта динамически определяет количество фаз, менеджер проекта играет важную роль в разработке продукта с использованием спиральной модели.


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

На приведенной ниже диаграмме показаны различные фазы спиральной модели:

Квадранты модели
Каждая фаза спиральной модели разделена на четыре квадранта, как показано на рисунке выше.

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


Разработка продукта на очередной итерации: в третьем квадранте выявленные функции разрабатываются и проверяются посредством тестирования. В конце третьего квадранта доступна следующая версия ПО.
Планирование следующей итерации: В четвертом квадранте заказчики оценивают уже разработанную версию программного обеспечения. осуществляют прием программы.
Обработка рисков в спиральной модели
Риск — это любая неблагоприятная ситуация, которая может повлиять на успешное завершение программного проекта. Наиболее важной особенностью спиральной модели является устранение этих неизвестных рисков после начала проекта. Такое разрешение рисков легче осуществить, разработав прототип. Спиральная модель помогает справиться с рисками, предоставляя возможности для создания прототипа на каждом этапе разработки программного обеспечения.

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

Спиральная модель использует подход модели прототипирования, создавая прототип в начале каждого этапа в качестве метода управления рисками. Также спиральную модель можно рассматривать как поддерживающую.
Преимущества классической модели водопада
Обработка рисков: Подходит для проектов со многими неизвестными рисками, возникающими по мере развития.
Подходит для больших проектов: Спиральную модель рекомендуется использовать в больших и сложных проектах.
Гибкость в требованиях: запросы на изменение в требованиях на более позднем этапе могут быть точно включены с помощью этой модели.
Удовлетворенность клиентов: клиент может видеть разработку продукта на ранней стадии разработки программного обеспечения и, таким образом, он привык к системе, используя ее до завершения всего продукта.
Недостатки классической модели водопада
Комплекс: спиральная модель намного сложнее, чем другие модели.
Дорого: Спиральная модель не подходит для небольших проектов, так как она намного дороже. Больше времени затрат на анализ, согласованность, переработку.
Слишком большая зависимость от анализа рисков: успешное завершение проекта очень сильно зависит от анализа рисков. Без опытных экспертов разработать проект по этой модели будет невозможно.
Трудности в управлении временем: поскольку количество фаз неизвестно в начале проекта, поэтому оценка времени очень сложна.