Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Методология Rational Unified Process (RUP)



RUP - методология разработки программ­ного обеспечения, созданная компанией Rational Software. Она явля­ется ведущей методологией разработки ПО. Это пример «тя­желого» процесса.

RUP использует итеративную и инкрементальную модель разработки. В конце каждой итерации (в идеале продолжающейся от 2 до 6 недель) проектная команда должна достичь запланированных на данную итерацию целей, создать или доработать проектные артефакты и получить промежуточную, но функциональную версию конечного продукта. Итеративная разработка позволяет быстро реагировать на меняющиеся требования, обнаруживать и устранять риски на ранних стадиях проекта, а также эффективно контролиро­вать качество создаваемого продукта.

В основе RUP лежат следующие основные принципы:

1. Ранняя идентификация и непрерывное (до окончания проекта) устранение основных рисков.

2. Концентрация на выполнении требований заказчиков к исполняемой программе (анализ и построение модели прецедентов).

3. Ожидание изменений в требованиях, проектных решениях и реализации в процессе разработки.

4. Компонентная архитектура, реализуемая и тестируемая на ранних стадиях проекта.

5. Постоянное обеспечение качества на всех этапах разработки проекта (продукта).

6. Работа над проектом в сплочённой команде, ключевая роль в которой принадлежит архитекторам.

Структуру жизненного цикла проекта, выполняемого по технологии RUP удобно рассматривать на координатной плоскости. При этом по горизонтальной оси отложено время, а по вертикальной — основные деятельности, которые обычно выполняются в ходе любого проекта, претендующего на статус успешного (рис. 1.4).

Время отражает динамический аспект жизненного цикла проекта, выраженный в терминах циклов, фаз, итераций и контрольных точек, которые разделяют две отдельные фазы. Вертикальная ось отражает статический аспект проекта. Он описывается в терминах процессов, артефактов (единица информации, создаваемая или модифицируемая в ходе любого процесса) и ролей (ответственность за адекватное выполнение той или иной деятельности в процессе).

 

 

 

Рисунок 1.4. - Процессы (дисциплины) и фазы жизненного цикла проекта в RUP

 

RUP организует выполнение проекта по фазам, каждая из которых состоит из одной или нескольких итераций. При итеративном подходе объем работ по каждому процессу варьируется в течение всего жизненного цикла. Контрольные точки в конце фаз позволяют оценить, насколько успешной была предыдущая фаза и насколько успешен весь проект в целом.

Полный жизненный цикл разработки продукта состоит из четырех фаз, каждая из которых включает в себя одну или несколько итераций:

1. Начало (Inception)

На этом этапе:

- Формируются видение и границы проекта.

- Создается экономическое обоснование (business case).

- Определяются основные требования, ограничения и ключевая функциональность продукта.

- Создается базовая версия диаграммы вариантов использования.

- Оцениваются риски.

Проектирование (Elaboration)

На этапе Проектирование производится анализ предметной области и построение исполняемой архитектуры. Это включает в себя:

- Документирование требований (включая детальное описание большинства вариантов использования).

- Спроектированную, реализованную и оттестированную исполняемую архитектуру.

- Обновленное экономическое обоснование и более точные оценки сроков и стоимости.

- Сниженные основные риски.

Построение (Construction)

Во время этой фазы происходит реализация большей части функциональности продукта. Фаза Построение завершается первым внешним релизом системы.

Внедрение (Transition)

Во время фазы Внедрение создается финальная версия продукта и передается от разработчика к заказчику. Это включает в себя программу бета-тестирования, обучение пользователей, а также определение качества продукта. В случае, если качество не соответствует ожиданиям пользователей или критериям, установленным в фазе Начало, фаза Внедрение повторяется снова.

RUP определяет следующие основные процессы (дисциплины):

1. моделирование бизнес-процессов;

2. управление требованиями;

3. анализ и проектирование;

4. реализация;

5. тестирование;

6. развертывание;

7. конфигурационное управление и управление изменениями;

8. управление проектом;

9. управление средой.

Первые пять дисциплин считаются рабочими, остальные — поддерживающими. Распределение объемов работ по дисциплинам в ходе проекта выглядит, согласно руководству по RUP, примерно так, как показано на рис. 1.4.

Моделирование бизнес-процессов применяется чтобы разобраться в структуре исследуемой предметной области, обеспечить единство понимания основных автоматизируемых процессов среди всех участников проекта и определить высокоуровневые требования, которые должны быть реализованы в ходе проекта.

Управление требованиями позволяет прийти к соглашению с заказчиками и конечными пользователями, определить, что должна уметь делать создаваемая система, предоставить более четкие инструкции участникам проекта о возможностях системы, создать базу для успешного планирования работ в проекте и оценки его статуса в любой момент жизненного цикла.

Анализ и проектирование служат для последовательного преобразования выявленных требований к системе в спецификации особого вида, которые описывают, как следует конкретно реализовать конечный продукт. Следует при этом делать различия между анализом и проектированием. Основное из них состоит в том, что спецификации анализа не зависят от конкретной платформы и технологии, для которой осуществляется создание ИС. А спецификации проектирования являются точным представлением проектируемой системы, часто позволяя автоматизировать процесс генерации на их основе программного кода.

Реализация необходима для выявления порядка организации программного кода в терминах отдельных подсистем, преобразования исходного кода в выполняемые компоненты, тестирования созданных компонентов и интеграции отдельных компонентов в подсистемы и системы.

Тестирование позволяет определять и контролировать качество создаваемых продуктов, следить за тем, насколько качественно осуществлена интеграция компонентов и подсистем, все ли требования к системе реализованы и все ли выявленные ошибки устранены до того, как система будет развернута на оборудовании конечного пользователя.

Развертывание является процессом, в ходе которого осуществляется доставка разрабатываемого продукта к конечному пользователю. В ходе данного процесса производится новый выпуск системы, распространение ПО, его установка на стороне конечного пользователя, обучение последнего навыкам эффективной работы с поставленным ПО, предоставление услуг по технической поддержке, бета-тестирование и т. п.

Конфигурационное управление и управление изменениями позволяет организовать эффективную работу с артефактами проекта, контролировать и управлять доступом к ним, вести историю изменений, обеспечить эффективное взаимодействие участников проекта, как в простых командах, так и в распределенных, находящихся на большом удалении друг от друга.

Управление проектом включает в себя непосредственное формирование условий для эффективного хода всего проекта, определение руководств и руководящих принципов для планирования, формирования команды и мониторинга проекта, выявление и управление рисками, организацию работы участников проекта, формирование бюджета, планирование фаз и итераций.

Управление средой позволяет осуществить поддержку всех участников проекта. В эту поддержку входят выбор инструментария и его приобретение, настройка и установка, конфигурирование процесса, доработка и адаптация методологии, используемой для ведения проекта, обучение.

В документации по процессу каждая дисциплина сопровождается диаграммой, поясняющей действия, которые нужно выполнить в ходе работ в рамках данной дисциплины, артефакты, с которыми надо иметь дело, и роли вовлеченных в эти действия лиц.

На основе итеративной/инкрементальной модели ЖЦ разработан главный конкурент RUP со стороны Microsoft – MSF (Microsoft Solutions Framework), а также аналогичный подход компании Borland – ALM (Application Lifecycle Management).

 


Поделиться:



Последнее изменение этой страницы: 2019-03-31; Просмотров: 841; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.017 с.)
Главная | Случайная страница | Обратная связь