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