2.2.4. Спиральная мoдель
Спиральная модель ЖЦ разработки программны х систем впер-
вые была представлена доктором Барри Боэмо м и опубликова-
на в 1988 г.
Спиральная модель воплощает в себе преимущества каскад-
ной модели. Пр и этом в нее включены дополнительные процес-
сы: анализ рисков, управление рисками , процессы менеджмен-
та. В спиральной модели использован метод прототипирования,
или быстрой разработки приложений, посредством применени я
средств разработки программного обеспечения четвертого по-
коления (и выше). Обобщенны й вид спиральной модели
И С преставлен на рис. 2.6.
См. : Шеер А.В. Моделировани е бизнес-процессо в / А.В. Шеер ; пер . с
- М.: Весть-Метатехнология , 2000.
Рис. 2.6. Обобщенны й ви д спирально й модел и ЖЦ И С
В спиральной модели каждый цикл (виток спирали) пред-
ставляет собой набор операций , которому соответствует такое
же количество стадий, как и в модели каскадного процесса.
Каждый виток спирали — версия системы (итерация), на нем
уточняются цели и характеристики проекта, определяется каче-
ство версии системы, планируются работы для следующего вит-
ка спирали. Таким образом, углубляются и последовательно кон-
кретизируются детали проекта.
Итерация — это законченный цикл разработки, приводящий к
выпуску некой сокращенной версии системы, которая расши-
ряется от итерации к итерации, чтобы стать законченной систе-
мой .
Процессы, реализуемые в спиральной модели, могут быть
сгруппированы в следующие блоки:
• определение целей, альтернативных вариантов и ограни-
чений. Формируется дерево целей, описываются характеристи-
ки системы, требуемые функции , возможность внесения изме-
нений , выявляются решающи е фактор ы достижени я успеха,
определяется состав аппаратного/программного обеспечения.
Формулируется тип проекта: собственная разработка или адап-
тация приобретенной системы. Определяются ограничения по
См. : Шеер А.В. Моделировани е бизнес-процессов .
каждому альтернативному варианту проекта (затраты, график
выполнения , ограничения, относящиеся к среде, и др.). Прово-
дится анализ рисков. Создается документация, подтверждаю-
щая риски , связанны е с недостатком опыта в данно й сфере,
применением новой технологии, жестким и графиками, плохо
организованными процессами и т.д.;
• оценк а альтернативных вариантов, идентификаци я и раз-
решение рисков. Выполняется оценк а альтернативных вариан-
тов, относящихся к целям и ограничениям . Определяются ме-
тоды и способы разрешения рисков (менеджмент рисков; оценка
связанных с риско м ситуаций, приняти е решени я о прекраще-
нии/продолжении работ над проектом и т.п.);
• разработка продукта следующего уровня: создание специ-
фикаци и продукта, критический анализ продукта, описани е ар-
хитектуры, разработка и проверка кода, тестирование и компо-
новк а продукта . Перва я верси я продукта предоставляетс я
заказчику, которы й совместно с разработчиками проводит ана-
лиз полученной версии, составляет заключение и уточняет тре-
бования для следующей версии системы;
• планировани е следующей фазы . Выполняется с учетом
замечаний заказчика и включает разработку плана проекта для
следующей итерации , плана менеджмента конфигурацией, пла-
на тестирования и плана установки программного продукта.
Спиральная модель — это набор итераций, где результатом
каждого витка является новая версия системы , которая выпол-
няется с учетом уточненных требований заказчика.
На каждом витке спирали осуществляются следующие виды
работ:
• определение и уточнение цели;
• выявление альтернативных вариантов и ограничений;
• выявление рисков и определение путей их разрешения ;
• анализ и оценка альтернативных вариантов;
• описани е результатов, которые должны быть получены на
этой итерации;
• определение методов и средств контроля за качеством вы-
полнения всех процессов;
• определение необходимости выполнени я следующей ите-
рации;
• планирование следующей итерации, в случае если требу-
ется ее выполнять.
Необходимо отметить, что кодирование в спиральной моде-
ли выполняется значительно позже, чем в других моделях, что-
бы минимизировать риски посредством последовательных уточ-
нений требований пользователя. В каждом мини-проекте (витке
спирали) рассматривается один или несколько главных факто-
ров риска, начиная с фактора наивысшего риска.
Преимущества спиральной модели
При использовании спиральной модели в проекте, для кото-
рого она в достаточной мере подходит, проявляются следующие
преимущества:
• позволяет заказчику «увидеть» систему на ранних этапах,
что обеспечивается созданием прототипов на каждом витке спи-
рали;
• предусматривает активное участие заказчика при плани-
ровании, анализе рисков, разработке, а также в выполнении
оценочных действий;
• обеспечивает разбиение большого объема работы на час-
ти; при этом сначала реализуются функции с высокой степенью
риска, что позволяет принять решение о целесообразности про-
должения работы над проектом на ранних стадиях;
• возможность гибкого режима проектирования системы,
поскольку в модели разрешены итерации на всех фазах ЖЦ ;
• не ставится цель довести продукт до совершенства;
• поддерживается высокая частота обратной связи (от за-
казчика к разработчикам), начиная с самых ранних этапов мо-
дели, что обеспечивает создание продукта высокого качества и
с требуемыми характеристиками;
• выполняетс я постоянно е совершенствовани е процесса
управления качеством, контроль за выполнением процесса раз-
работки, затратами, соблюдением графика и кадровым обеспе-
чением, что достигается проведением анализа в конце каждой
итерации;
• сокращается время разработки благодаря повторному ис-
пользованию программных компонентов;
• повышается вероятность предсказуемости поведения сис-
темы с помощью уточнения поставленных целей;
• не требуется заранее распределять все необходимые для
выполнения проекта финансовые ресурсы.
Область применения спиральной модели
Целесообразность использования спиральной модели может
быть обоснована следующими причинами:
• последовательное создание прототипов системы представ-
ляет собой подходящий тип разработки продукта;
• не ставится цель сразу создать готовое решение системы,
а возможна разработка прототипов системы;
• требуется планирование затрат, связанных с рисками ;
• для проектов, выполнение которых сопряжен о со средней
и высокой степенями риска;
• высока вероятность потенциальных изменений экономи-
ческих приоритетов и ограничений во времени;
• необходимо протестировать базовые концепци и и техно-
логии разработки;
• пользователи не уверены в своих требованиях;
• требования к системе слишком сложные;
• при разработке новой серии продуктов ожидаются суще-
ственные изменения в процессах предметной области;
• проект является широкомасштабным ;
• для организаций, которые не могут выделить заранее не-
обходимые для выполнения проекта финансовые средства или в
процессе разработки отсутствует стабильная финансовая под-
держка;
• преимущества создания новой системы невозможно точно
определить и успешное внедрение системы не гарантировано;
• в процесс вовлекаются новые технологии разработки;
• при разработке систем поддержки принятия решений;
• при выполнении бизнес-проектов и инжиниринга.