Спиральная модель


 

Спиральная модель — классический примерприменения эволюционной страте­гии конструирования.

Спиральная модель (автор Барри Боэм, 1988) базируется на лучших свойствах классического жизненного никла и макетирования, к которым добавляется новый элемент -- анализ риска, отсутствующий в этих парадигмах 119].

 

 

Рис. 1.6. Спиральная модель: 1 начальный сбор требований и планирование проекта;

2 — та же работа, нона основе рекомендаций заказчика;3анализ риска наоснове начальных требований; 4 — анализ риска на основе реакциизаказчика; 5 — переход к комплексной системе; 6 — начальный макет системы; 7 — следующийуровень макета; 8 — сконструированная система; 9 — оценивание заказчиком

 

Как показано на рис. 1.6, модель определяет четыре действия, представляемые че­тырьмя квадрантами спирали.

1. Планирование — определение целей, вариантов и ограничений.

2. Анализ риска — анализ вариантов и распознавание/выбор риска.

3. Конструирование — разработка продукта следующегоуровня.

4. Оценивание — оценка заказчиком текущих результатов конструирования.

Интегрирующий аспект спиральной модели очевиден при учете радиального из­мерения спирали. С каждой итерацией по спирали (продвижением от центра к периферии) строятся все более полные версии ПО.

В первом витке спирали определяются начальные цели, варианты и ограни­чения, распознается и анализируется риск. Если анализ риска показывает не­определенность требований, на помощь разработчику и заказчику приходит макетирование (используемое в квадранте конструирования). Для дальнейшего определения проблемных и уточненных требований может быть использовано моделирование. Заказчик оценивает инженерную (конструкторскую) работу и вносит предложения по модификации (квадрант оценки заказчиком). Следую­щая фаза планирования и анализа риска базируется на предложениях заказчика. В каждом цикле по спирали результаты анализа риска формируются в виде «про­должать, не продолжать». Если риск слишком велик, проект может быть оста­новлен.

В большинстве случаев движение по спирали продолжается, с каждым шагом продвигая разработчиков к более общей модели системы. В каждом цикле по спирали требуется конструирование (нижний правый квадрант), которое может быть реа­лизовано классическим жизненным циклом или макетированием. Заметим,чтоколичество действий по разработке (происходящих в правом нижнем квадранте) возрастает по мере продвижения от центра спирали.

Достоинства спиральной модели:

1) наиболее реально (в виде эволюции) отображает разработку программного обес­печения;

2) позволяет явно учитывать риск на каждом витке эволюции разработки;

3) включает шаг системного подхода в итерационную структуру разработки;

4) использует моделирование для уменьшения риска и совершенствования про­граммного изделия.

Недостатки спиральной модели:

1) новизна (отсутствует достаточнаястатистика эффективностимодели);

2) повышенные требования к заказчику;

3) трудности контроля и управления временем разработки.