Спиральная модель
Подход к созданию программного изделия на основе спиральной модели охватывает все основные элементы моделей, рассмотренных ранее, но дополнительно включает новый вид деятельности — анализ риска. Общая схема разработки программного изделия представлена на рис. 3 в виде четырех квадрантов, соответствующих четырем видам деятельности, выполняемым последовательно:
1.Планирование, включающее определение целей, возможных альтернативных решений и ограничений.
2. Анализ риска, связанный с анализом альтернативных решений и оценкой возможных рисков и путей их преодоления.
3. Инженерная разработка продукта "следующего уровня".
4. Оценка пользователем (заказчиком) результатов инженерной деятельности, т.е. экспертиза разработанного варианта продукта.
Планирование
Сбор первичных требований и планирование проекта
Планирование, основанное на замечаниях заказчика
Оценка заказчиком
Оценка заказчиком
Анализ риска
(Анализ, основанный на первоначальных требованиях;
основанный на реакции заказчика)
Разработка
Рис 3. Спиральная модель разработки программного изделия
По мере прохождения указанных четырех этапов создается версия программного изделия, и на каждом следующем витке спирали происходит переход к более совершенной версии. Если на первом витке анализ риска указывает на отсутствие четкости и определенности в требованиях, то может оказаться необходимым создание прототипа, чтобы помочь и разработчику, и заказчику уточнить и согласовать требования. В результате оценки заказчиком результатов инженерной разработки вырабатываются предложения по модификации изделия, и на основе этих предложений начинается новый виток спирали с этапа планирования. На каждом витке высшей точкой является фаза анализа риска, когда принимается решение о продолжении работ. При очень высоком риске проект может быть закрыт.
Обычно движение по спирали продолжается, и с каждым витком происходит приближение ко все более совершенному программному изделию. Инженерная разработка в свою очередь может проводиться в соответствии с моделью классического ЖЦПИ. Следует отметить, что спиральная модель (и ее модификации) является одной из наиболее реальных моделей при разработке программных систем большого размера. В качестве эффективного средства снижения риска целесообразно создавать прототип на каждом витке спирали. Спиральная модель не получила такого широкого распространения, как модель ЖЦПИ, поскольку она требует значительных усилий при оценке риска и экспертизе такой оценки.