Эволюционно-инкрементная организация жизненного цикла разработки
Рассматриваемый подход является развитием спиральной модели Боэма [8], [40], [44], [57]. В этом случае процесс разработки программной системы организуется в виде эволюционно-инкрементного жизненного цикла. Эволюционная составляющая цикла основывается на доопределении требований в ходе работы, инкрементная составляющая – на планомерном приращении реализации требований.
В этом цикле разработка представляется как серия итераций, результаты которых развиваются от начального макета до конечной системы. Каждая итерация включает сбор требований, анализ, проектирование, реализацию и тестирование. Предполагается, что вначале известны не все требования, их дополнение и изменение осуществляется на всех итерациях жизненного цикла. Структура типовой итерации показана на рис. 15.1.
Видно, что критерием управления этим жизненным циклом является уменьшение риска. Работа начинается с оценки начального риска. В ходе выполнения каждой итерации риск пересматривается. Риск связывается с каждой итерацией так, что ее успешное завершение уменьшает риск. План последовательности реализаций гарантирует, что наибольший риск устраняется в первую очередь.
Такая методика построения системы нацелена на выявление и уменьшение риска в самом начале жизненного цикла. В итоге минимизируются затраты на уменьшение риска.
Рис. 15.1.Типовая итерация эволюционно-инкрементного жизненного цикла
Рис. 15.2.Два измерения унифицированного процесса разработки
Как показано на рис. 15.2, в структуре унифицированного процесса разработки выделяют два измерения:
q горизонтальная ось представляет время и демонстрирует характеристики жизненного цикла процесса;
q вертикальная ось представляет рабочие потоки процесса, которые являются логическими группировками действий.
Первое измерение задает динамический аспект развития процесса в терминах циклов, этапов, итераций и контрольных вех. Второе измерение задает статический аспект процесса в терминах компонентов процесса, рабочих потоков, приводящих к выработке искусственных объектов (артефактов), и участников.
Этапы и итерации
По времени в жизненном цикле процесса выделяют четыре этапа:
q начало (Inception) – спецификация представления продукта;
q развитие (Elaboration) – планирование необходимых действий и требуемых ресурсов;
q конструирование (Construction) – построение программного продукта в виде серии инкрементных итераций;
q переход (Transition) – внедрение программного продукта в среду пользователя (промышленное производство, доставка и применение).
В свою очередь, каждый этап процесса разделяется на итерации. Итерация – это полный цикл разработки, вырабатывающий промежуточный продукт. По мере перехода от итерации к итерации промежуточный продукт инкрементно усложняется, постепенно превращаясь в конечную систему. В состав каждой итерации входят все рабочие потоки – от сбора требований до тестирования. От итерации к итерации меняется лишь удельный вес каждого рабочего потока – он зависит от этапа. На этапе Начало основное внимание уделяется сбору требований, на этапе Развитие – анализу и проектированию, на этапе Конструирование – реализации, на этапе Переход – тестированию. Каждый этап и итерация уменьшают некоторый риск и завершается контрольной вехой. К вехе привязывается техническая проверка степени достижения ключевых целей. По результатам проверки возможна модификация дальнейших действий.
Дата добавления: 2019-02-07; просмотров: 520;