- •Содержание
- •Раздел 1 Современные методы разработки сапр
- •Базовые компоненты
- •1.2 Жизненный цикл сапр.
- •1.3 Система (сапр) и окружающая среда (надсистема). Прогнозирование.
- •1.4 Взаимосвязь потребностей надсистемы и целей системы. Иерархия целей проектирования
- •Глава 15. Унифицированный процесс разработки объектно-ориентированных пс
- •Эволюционно-инкрементная организация жизненного цикла разработки
- •Этапы и итерации
- •Рабочие потоки процесса
- •Технические артефакты
- •1.5 Введение в управление требованиями
- •1.6 Пять этапов анализа проблемы
- •1.7 Моделирование бизнес-процессов
- •1.8 Определение системы. Организация информации требованиях. Документ-концепция
- •4 Архитектуро-
- •92 Глава 4 • Архитектуро-центрированный процесс
- •6 Определение
- •Глава 23
- •Глава 7
Глава 15. Унифицированный процесс разработки объектно-ориентированных пс
В первой главе рассматривались основы организации процессов разработки ПО. В данной главе внимание сосредоточено на детальном обсуждении унифицированного процесса разработки объектно-ориентированного ПО, на базе которого возможно построение самых разнообразных схем конструирования программных приложений. Далее описывается содержание ХР-процесса экстремальной разработки, являющегося носителем адаптивной технологии, применяемой в условиях частого изменения требований заказчика.
Эволюционно-инкрементная организация жизненного цикла разработки
Рассматриваемый подход является развитием спиральной модели Боэма [8], [40], [44], [57]. В этом случае процесс разработки программной системы организуется в виде эволюционно-инкрементного жизненного цикла. Эволюционная составляющая цикла основывается на доопределении требований в ходе работы, инкрементная составляющая — на планомерном приращении реализации требований.
В этом цикле разработка представляется как серия итераций, результаты которых развиваются от начального макета до конечной системы. Каждая итерация включает сбор требований, анализ, проектирование, реализацию и тестирование. Предполагается, что вначале известны не все требования, их дополнение и изменение осуществляется на всех итерациях жизненного цикла. Структура типовой итерации показана на рис. 15.1.
Видно, что критерием управления этим жизненным циклом является уменьшение риска. Работа начинается с оценки начального риска. В ходе выполнения каждой итерации риск пересматривается. Риск связывается с каждой итерацией так, что ее успешное завершение уменьшает риск. План последовательности реализаций гарантирует, что наибольший риск устраняется в первую очередь.
Такая методика построения системы нацелена на выявление и уменьшение риска в самом начале жизненного цикла. В итоге минимизируются затраты на уменьшение риска.
Рис. 15.1. Типовая итерация эволюционно-инкрементного жизненного цикла
Рис. 15.2. Два измерения унифицированного процесса разработки
Как показано на рис. 15.2, в структуре унифицированного процесса разработки выделяют два измерения:
горизонтальная ось представляет время и демонстрирует характеристики жизненного цикла процесса;
вертикальная ось представляет рабочие потоки процесса, которые являются логическими группировками действий.
Первое измерение задает динамический аспект развития процесса в терминах циклов, этапов, итераций и контрольных вех. Второе измерение задает статический аспект процесса в терминах компонентов процесса, рабочих потоков, приводящих к выработке искусственных объектов (артефактов), и участников.
Этапы и итерации
По времени в жизненном цикле процесса выделяют четыре этапа:
начало (Inception) — спецификация представления продукта;
развитие (Elaboration) — планирование необходимых действий и требуемых ресурсов;
конструирование (Construction) — построение программного продукта в виде серии инкрементных итераций;
переход (Transition) — внедрение программного продукта в среду пользователя (промышленное производство, доставка и применение).
В свою очередь, каждый этап процесса разделяется на итерации. Итерация — это полный цикл разработки, вырабатывающий промежуточный продукт. По мере перехода от итерации к итерации промежуточный продукт инкрементно усложняется, постепенно превращаясь в конечную систему. В состав каждой итерации входят все рабочие потоки — от сбора требований до тестирования. От итерации к итерации меняется лишь удельный вес каждого рабочего потока — он зависит от этапа. На этапе Начало основное внимание уделяется сбору требований, на этапе Развитие — анализу и проектированию, на этапе Конструирование — реализации, на этапе Переход — тестированию. Каждый этап и итерация уменьшают некоторый риск и завершается контрольной вехой. К вехе привязывается техническая проверка степени достижения ключевых целей. По результатам проверки возможна модификация дальнейших действий.