1. Спиральная модель – предложенная Барри Боэмом в 1986 году, стала существенным прорывом в понимании природы разработки ПО. Она представляет собой процесс разработки программного обеспечения, сочетающий в себе как итеративность, так и этапность.
Этапы:
1. Определение целей, альтернатив, ограничений, или фаза планирования.
2. Анализ, определение и разрешение рисков
3. Фаза разработки
4. Планирование следующей фазы
Достоинства:
- Мониторинг рисков является одной из главных особенностей, делающих данную модель особенно привлекательной в том случае, если вам предстоит управление большим, сложным и дорогостоящим проектом. Более того, проект будет более прозрачным, поскольку спиральная модель изначально была спроектирована таким образом, чтобы каждая итерация тщательно анализировалась;
- Заказчик может увидеть работающую версию продукта уже на ранних стадиях жизненного цикла ПО;
- Изменения могут быть внесены на поздних стадиях разработки;
- Проект может быть разделен на несколько частей и те из них, которые, согласно анализу, окажутся более рискованными, могут быть реализованы на ранних стадиях. Такой подход может снизить трудности, связанные с управлением проектом;
Строгий контроль над документацией, как результат постоянного анализа рисков.
Недостатки:
- Мониторинг рисков требует дополнительных ресурсов, а значит, эта модель может оказаться весьма затратной. Каждая итерация требует отдельной экспертизы, что делает управление проектом сложнее. Именно поэтому спиральная модель плохо подходит для небольших проектов;
- Большое количество промежуточных стадий разработки. Как следствие — большой объем документации;
- На самых ранних стадиях дата завершения работы над проектом может быть неизвестна, что также усложняет контроль над процессом разработки
2. Каскадная модель (англ. waterfall model, иногда переводят как модель «Водопад») — модель процесса разработки программного обеспечения, в которой процесс разработки выглядит как поток, последовательно проходящий фазы анализа требований, проектирования, реализации, тестирования, интеграции и поддержки. В качестве источника названия часто указывают статью, опубликованную У. У. Ройсом в 1970 году; при том, что сам Ройс использовал итеративную модель разработки.
- Определение требований
- Проектирование
- Конструирование (также «реализация» либо «кодирование»)
- Воплощение
- Тестирование и отладка (также «верификация»)
- Инсталляция
- Поддержка
Плюсы и минусы каскадной модели:
+ Полное документирование каждого этапа;
+ Четкое планирование сроков и затрат;
+ Прозрачность процессов для заказчика;
— Необходимость утверждения полного объема требований к системе еще на первом этапе;
— В случае необходимости внесения изменений требований позднее – возврат к первой стадии и переделка заново всей проделанной работы;
— Увеличение затрат средств и времени в случае необходимости изменения требований.