Спиральная модель жизненного цикла ИС
Спиральная модель (англ. spiral model) была разработана в середине 1980-х годов Барри Боэмом. Она основана на классическом цикле Деминга PDCA (plan-do-check-act). При использовании этой модели ИС создается в несколько итераций (витков спирали) методом прототипирования (рис.11). Рис.11. Спиральная модель жизненного цикла системы.
Прототип — действующий компонент ИС, реализующий отдельные функции и внешние интерфейсы. Каждая итерация соответствует созданию фрагмента или версии ИС, на ней уточняются цели и характеристики проекта, оценивается качество полученных результатов и планируются работы следующей итерации. На каждой итерации оцениваются: Риск превышения сроков и стоимости проекта Необходимость выполнения еще одной итерации Степень полноты и точности понимания требований к системе Целесообразность прекращения проекта. Один из примеров реализации спиральной модели — RAD (англ. Rapid Application Development, метод быстрой разработки приложений). Принципиальные особенности спиральной модели: отказ от фиксации требований и назначение приоритетов пользовательским требованиям; разработка последовательности прототипов, начиная с требований наивысшего приоритета; идентификация и анализ риска на каждой итерации; использование каскадной модели для реализации окончательного прототипа; оценка результатов по завершении каждой итерации и планирование следующей итерации. При использовании спиральной модели прикладное программное обеспечение создается в несколько итераций (витков спирали) методом прототипирования. Под прототипом понимается действующий программный компонент, реализующий отдельные функции и внешние интерфейсы разрабатываемого программного обеспечения. Создание прототипов осуществляется в несколько итераций, или витков спирали. Каждая итерация соответствует созданию фрагмента или версии программного обеспечения, на ней уточняются цели и характеристики проекта, оценивается качество полученных результатов и планируются работы следующей итерации. На каждой итерации производится тщательная оценка риска превышения сроков и стоимости проекта, чтобы определить необходимость выполнения еще одной итерации, степень полноты и точности понимания требований к системе, а также целесообразность прекращения проекта. Спиральная модель избавляет пользователей и разработчиков программного обеспечения от необходимости полного и точного формулирования требований к системе на начальной стадии, поскольку они уточняются на каждой итерации. Таким образом, углубляются и последовательно конкретизируются детали проекта, и в результате выбирается обоснованный вариант, который доводится до реализации. Разработка итерациями отражает объективно существующий спиральный цикл создания системы. Неполное завершение работ на каждой стадии позволяет переходить на следующую стадию, не дожидаясь полного завершения работы на текущей стадии. При итеративном способе разработки недостающую работу можно будет выполнить на следующей итерации. Главная же задача - как можно быстрее показать пользователям системы работоспособный продукт, тем самым активизируя процесс уточнения и дополнения требований. Достоинствами спиральной модели являются: · ускорение разработки (раннее получение результата за счет прототипирования); · постоянное участие заказчика в процессе разработки; · разбиение большого объема работы на небольшие части; · снижение риска (повышение вероятности предсказуемого поведения системы). Спиральная модель не исключает использования каскадного подхода на завершающих стадиях проекта в тех случаях, когда требования к системе оказываются полностью определенными. К недостаткам спиральной модели можно отнести: · сложность планирования (определения количества и длительности итераций, оценки затрат и рисков); · сложность применения модели с точки зрения менеджеров и заказчиков (из-за привычки к строгому и детальному планированию); · напряженный режим работы для разработчиков (при краткосрочных итерациях). Основная проблема спирального цикла - определение момента перехода на следующую стадию. Для ее решения необходимо ввести временные ограничения на каждую из стадий жизненного цикла. Переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена. План составляется на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков.
|