Итеративно-инкрементная модель с элементами каскада RUP
(Rational Unified Process)
Является довольно сложной, детально проработанной итеративно-инкрементной моделью с элементами каскада. Rational Unified Process — это процесс разработки программного обеспечения, который обеспечивает упорядоченный подход и распределение обязанностей в организации – разработчике.
В модели RUP выделяются 4 основные фазы, 9 видов деятельности (процессов). Кроме того, в модели описывается ряд практик, которые следует применять или руководствоваться для успешного выполнения проекта. RUP ориентирован на поэтапное моделирование создаваемого продукта с помощью языка UML (см. рис. 6.9).
Рис. 6.9. Модель Rational Unified Process.
Основными фазами RUP являются:
1. Фаза начала проекта (Inception)- определяются основные цели проекта, бюджет проекта, основные средства его выполнения — технологии, инструменты, ключевой персонал, составляются предварительные планы проекта. Основная цель этой фазы — достичь компромисса между всеми заинтересованными лицами относительно задач проекта.
2. Фаза проработки (Elaboration).Основная цель этой фазы — на базе основных, наиболее существенных требований разработать стабильную базовую архитектуру продукта, которая позволяет решать поставленные перед системой задачи и в дальнейшем используется как основа разработки системы.
3. Фаза построения (Construction).Основная цель этой фазы — детальное прояснение требований и разработка системы, удовлетворяющей им, на основе спроектированной ранее архитектуры.
4. Фаза передачи (Transition).Цель фазы — сделать систему полностью доступной конечным пользователям. Здесь происходит окончательное развертывание системы в ее рабочей среде, подгонка мелких деталей под нужды пользователей.
В рамках каждой фазы возможно проведение нескольких итераций, количество которых определяется сложностью выполняемого проекта.
Деятельности (основные процессы) RUP делятся на:
- 5 рабочих процессов (деятельности)
- 4 поддерживающих процесса (деятельности).
К рабочим деятельностям относятся:
1. Моделирование предметной области (бизнес-моделирование, Business Modeling). Цели этой деятельности — понять бизнес-контекст, в котором должна будет работать система (и убедиться, что все заинтересованные лица понимают его одинаково), понять возможные проблемы, оценить возможные их решения и их последствия для бизнеса организации, в которой будет работать система.
2. Определение требований (Requirements). Цели — понять, что должна делать система, определить границы системы и основу для планирования проекта и оценок ресурсозатрат в нем.
3. Анализ и проектирование (Analysis and Design). Выработка архитектуры системы на основе ключевых требований, создание проектной модели, представленной в виде диаграмм UML, описывающих продукт с различных точек зрения.
4. Реализация (Implementation). Разработка исходного кода, компонент системы, тестирование и интегрирование компонент.
5. Тестирование (Test). Общая оценка дефектов продукта, его качество в целом; оценка степени соответствия исходным требованиям.
Поддерживающими деятельностями являются:
1. Развертывание (Deployment). Цели — развернуть систему в ее рабочем окружении и оценить ее работоспособность.
2. Управление конфигурациями и изменениями (Configuration and Change Management). Определение элементов, подлежащих хранению и правил построения из них согласованных конфигураций, поддержание целостности текущего состояния системы, проверка согласованности вносимых изменений.
3. Управление проектом (Project Management). Включает планирование, управление персоналом, обеспечения связей с другими заинтересованными лицами, управление рисками, отслеживание текущего состояния проекта.
4. Управление средой проекта (Environment). Настройка процесса под конкретный проект, выбор и смена технологий и инструментов, используемых в проекте.
Основной причиной широкого распространения RUP является его системный характер.