- •Методологии разработки программного обеспечения. Введение Структура методологии разработки/внедрения программного обеспечения
- •Часть 1
- •От редакции
- •Введение
- •Этапы жизненного цикла по
- •Стратегия
- •Проектирование
- •Реализация
- •Тестирование
- •Внедрение
- •Эксплуатация и техническая поддержка
- •Каскадная модель
- •Поэтапная модель с промежуточным контролем
- •Спиральная модель
- •. Экстремальное программирование часть 2
- •Ускоренная и совместная разработка приложений
- •Экстремальное программирование Принципы xp и используемые методы ускорения разработки
- •Практики
- •Rational Unified Process Часть 3.
- •Введение
- •Структура rup
- •Продукты, поддерживающие rup
- •Артефакты и роли
- •Business modeling
- •Requirements
- •Analysis and design
- •Implementation
- •Deployment
- •Unified Modelling Language Часть 4.
- •История uml
- •Средства uml-моделирования
- •Для чего применяется uml
- •Элементы языка
- •Сущности
- •Отношения
- •Диаграммы uml
- •Microsoft Solutions Framework Часть 5.
- •Введение
- •Основные компоненты и модели msf
- •Процесс msf
- •Модель команды
- •Модель приложения
- •Проектирование компонентного по
- •Планирование архитектуры предприятия
- •Обзор методологии scrum
- •Product Owner
- •Команда (Team)
- •Артефакты Product Backlog
- •Sprint Backlog
- •Спринт (Sprint)
- •Жизненный цикл спринта Планирование спринта
- •Планирование спринта, митинг первый
- •Планирование спринта, митинг второй
- •Остановка спринта (Sprint Abnormal Termination)
- •Daily Scrum Meeting
- •Демо и ревью спринта
Rational Unified Process Часть 3.
Введение
Структура RUP
Продукты, поддерживающие RUP
Артефакты и роли
Business modeling
Requirements
Analysis and design
Implementation
Test
Deployment
Введение
ациональный
унифицированный процесс (Rational Unified
Process, RUP) — одна из спиральных методологий
разработки программного обеспечения.
Методология поддерживается компанией
Rational Software, обновление продукта происходит
примерно дважды в год. В качестве языка
моделирования в общей базе знаний
используется язык Unified Modelling Language (UML).
Итерационная разработка программного обеспечения в RUP предполагает разделение проекта на несколько мелких проектов, которые выполняются последовательно, и каждая итерация разработки четко определена набором целей, которые должны быть достигнуты в конце итерации. Конечная итерация предполагает, что набор целей итерации должен в точности совпадать с набором целей, указанных заказчиком продукта, то есть все требования должны быть выполнены.
RUP достаточно хорошо формализован, и наибольшее внимание уделяется начальным стадиям разработки проекта — анализу и моделированию. Таким образом, эта методология направлена на снижение коммерческих рисков (risk mitigating) посредством обнаружения ошибок на ранних стадиях разработки. Технические риски (assesses) оцениваются и «расставляются» согласно приоритетам на ранних стадиях цикла разработки, а затем пересматриваются с течением времени и с развитием проекта в течение последующих итераций. Новые цели появляются в зависимости от приоритетов данных рисков. Релизы версий распределяются таким образом, что наиболее приоритетные риски устраняются первыми.
Процесс предполагает эволюционирование моделей; итерация цикла разработки однозначно соответствует определенной версии модели программного обеспечения. Каждая из итераций (workflow) содержит элементы управления жизненным циклом программного обеспечения: анализ и дизайн (моделирование), реализация, интегрирование, тестирование, внедрение. В этом смысле RUP является реализацией спиральной модели, хотя довольно часто изображается в виде графика-таблицы. Ниже мы приведем основные компоненты процесса.
Для успешного процесса разработки необходимы три составляющие (рис. 1): процесс (process), нотация (notation) и набор утилит (tools). Процесс описывает, что мы делаем, в каком порядке и каким образом; нотация является средством общения; набор утилит помогает автоматизировать процесс и управлять им.

Рис. 1. Треугольник успеха
В RUP представлены все три компонента. Сначала рассмотрим функции нотации, которые производят следующие действия:
• осуществляет «склеивание» процесса в единое целое;
• является языковым средством принятия решений, которые не очевидны из исходного кода;
• предоставляет семантику для отображения важных стратегических и тактических решений;
• предлагает форму, достаточную для того, чтобы размышлять, а потом принимать решения и средства автоматизации процесса для того, чтобы манипулировать формализованными данными.
Фактически нотация охватывает разработку программного обеспечения, начиная с анализа и заканчивая внедрением продукта. Нотация в случае RUP–UML — формальное языковое средство описания процесса (об UML речь пойдет ниже). Далее рассмотрим структуру процесса, а также приведем набор утилит, используемых в процессе управления разработкой проекта согласно RUP.
