Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Принципы. На практике, при решении достаточно большого количества задач, разработка ПО имеет циклический характер, когда после выполнения некоторых стадий приходится возвращаться на предыдущие. Это может происходить по следующим основным причинам:
Ø из-за ошибок разработчиков, допущенных на ранних стадиях и выявленных на поздних стадиях (это ошибки анализа, проектирования, кодирования, выявляемые, как правило, на стадии тестирования);
Ø из-за изменения требований в процессе разработки – «ошибки» заказчиков (это или неготовность заказчиков сформулировать требования, или изменения требований, вызванные изменениями ситуации в процессе разработки (изменения рынка, новые технологии и т.п.)).
Спиральная модель была предложена как альтернатива каскадной модели для преодоления перечисленных выше проблем и учитывает повторяющийся характер разработки программного обеспечения.
Основными принципамиспиральной модели являются:
· разработка вариантов продукта, соответствующих различным вариантам требований с возможностью вернуться к более ранним вариантам;
· создание прототипов ПО как средства общения с заказчиком для уточнения и выявления требований;
Прототипом называют действующий программный продукт, реализующий отдельные функции и внешние интерфейсы разрабатываемой ПС.
· планирование следующих вариантов с оценкой альтернатив и анализом рисков, связанных с переходом к следующему варианту;
· переход к разработке следующего варианта до завершения предыдущего в случае, когда риск завершения очередного варианта (прототипа) становится неоправданно высок;
· использование каскадной модели как схемы разработки очередного варианта;
· активное привлечение заказчика к работе над проектом (заказчик участвует в оценке очередного прототипа ПО, в уточнении требований при переходе к следующему, в оценке предложенных альтернатив очередного варианта и оценке рисков).
В спиральной модели разработка вариантов продукта представляется как набор циклов раскручивающейся спирали (рисунок 17). Каждому циклу спирали соответствует такое же количество стадий, как и в модели каскадного процесса. При этом начальные стадии, связанные с анализом и планированием, представлены более подробно с добавлением новых элементов. В каждом цикле выделяются четыре базовые фазы:
· определение целей, альтернативных вариантов и ограничений;
· оценка альтернативных вариантов, идентификация и разрешение рисков;
· разработка продукта следующего уровня;
· планирование следующей фазы.
Разработка проекта начинается с анализа общей постановки задачи. Здесь на первой фазе определяются общие цели, устанавливаются предварительные ограничения, определяются возможные альтернативы подходов к решению задачи. Далее проводится оценка подходов, устанавливаются их риски. На шаге разработки создается концепция (видение) продукта и путей его создания.
Следующий цикл начинается с планирования требований и деталей ЖЦ продукта для оценки затрат. На фазе определения целей устанавливаются альтернативные варианты требований, связанные с ранжировкой требований по важности и стоимости их выполнения. На фазе оценки устанавливаются риски вариантов требований. На фазе разработки – спецификация требований (с указанием рисков и стоимости), готовится демо -версия ПО для анализа требований заказчиком.
Следующий цикл – разработка проекта – начинается с планирования разработки. На фазе определения целей устанавливаются ограничения проекта (по срокам, объему финансирования, ресурсам и т.п.), определяются альтернативы проектирования, связанные с альтернативами требований, применяемыми технологиями проектирования, привлечением субподрядчиков и т.п. На фазе оценки альтернатив устанавливаются риски вариантов и делается выбор варианта для дальнейшей реализации. На фазе разработки выполняется проектирование и создается демо-версия, отражающая основные проектные решения.
Следующий цикл – реализация проекта – также начинается с планирования. Варианты реализации могут отличаться из-за применяемых технологий реализации и привлекаемых ресурсов. Оценка альтернативных вариантов и связанных с ними рисков на этом цикле определяется степенью «проработанности» технологий и «качеством» имеющихся ресурсов. Фаза разработки выполняется по каскадной модели, результатом является действующий вариант (прототип) продукта.
Таким образом, особенностями спиральной модели являются:
ü до начала разработки ПО проходит несколько полных циклов анализа требований и проектирования;
ü количество циклов модели (как в части анализа и проектирования, так и в части реализации) не ограничено и определяется сложностью и объемом задачи;
ü в модели предусматриваются возвраты на оставленные варианты при изменении стоимости рисков.
Преимущества и недостатки. Спиральная модель (по отношению к каскадной) имеет следующие очевидные преимущества:
§ более тщательное проектирование (несколько начальных итераций) с оценкой результатов проектирования, что позволяет выявить ошибки проектирования на более ранних стадиях и уменьшить как стоимость проекта, так и время его разработки;
§ поэтапное уточнение требований в процессе выполнения итераций, что позволяет более точно удовлетворить требованиям заказчика;
§ участие заказчика в выполнении проекта с использованием прототипов программы. Заказчик видит, что и как создается, не выдвигает необоснованных требований, оценивает реальные объемы финансирования;
§ планирование и управление рисками при переходе на следующие итерации позволяет разумно планировать использование ресурсов и обосновывать финансирование работ;
§ возможность разработки сложной программной системы «по частям», выделяя на первых этапах наиболее значимые требования.
Основные недостатки спиральной модели связаны с ее сложностью:
§ сложность анализа и оценки рисков при выборе вариантов;
§ сложность поддержания версий продукта (хранение версий, возврат к ранним версиям, комбинация версий);
§ сложность оценки точки перехода на следующий цикл;
§ бесконечность модели – на каждом витке заказчик может выдвигать новые требования, которые приводят к необходимости следующего цикла разработки.
Применимость. Циклический характер разработки ПО отражен в спиральной модели ЖЦ, предложенной Б. Боэмом в 1988 году [24].
Спиральную модель целесообразно применять при следующих условиях:
ü когда пользователи не уверены в своих потребностях или когда требования слишком сложны и могут меняться в процессе выполнения проекта и необходимо прототипирование для анализа и оценки требований;
ü когда достижение успеха не гарантировано и необходима оценка рисков продолжения проекта;
ü когда проект является сложным, дорогостоящим и обоснование его финансирования возможно только в процессе его выполнения;
ü когда речь идет о применении новых технологий, что связано с риском их освоения и достижения ожидаемого результата;
ü при выполнении очень больших проектов, которые в силу ограниченности ресурсов можно делать только по частям.
Дата публикования: 2014-11-03; Прочитано: 786 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!