Каскадно-вовратная модель
"Классическая" каскадная модель предполагает только движение вперед по этой схеме: все необходимое для проведения очередной деятельности должно быть подготовлено в ходе предшествующих работ.
Поэтому при реальной работе в соответствии с моделью, допускающей движение только в одну сторону, обычно возникают проблемы при обнаружении недоработок и ошибок, сделанных на ранних этапах. Но еще более тяжело иметь дело с изменениями окружения, в котором разрабатывается ПО (это могут быть изменения требований, смена подрядчиков, изменения политик разрабатывающей или эксплуатирующей организации, изменения отраслевых стандартов, появление конкурирующих продуктов и пр.).
В процессе создания ПО постоянно возникает потребность в возврате к предыдущим этапам и уточнения или пересмотре ранее принятых решений. В результате реальный процесс создания ПО принимал вид каскадно-возвратного подхода:
Стадии
Анализ Проектирование РеализацияТестирование
|
|
и отладка Эксплуатация
и сопровождение
Здесь разрешены возвраты к предыдущим стадиям и пересмотр или уточнение ранее принятых решений.
Этот подход отражает итерационный характер разработки ПО, а значит более соответствует реальному процессу создания ПО.
Недостаток этого подхода:
- существенные задержки с готовностью ПО из-за корректировках при возвратах.
- требования к создаваемой системе "заморожены" в виде технического задания на все время ее создания.
Таким образом, пользователи могут внести свои замечания только после того, как работа над системой будет полностью завершена. В случае неточного изложения требований или их изменения в течение длительного периода создания системы, пользователи получают систему, не удовлетворяющую их потребностям.