Rational Unified Process

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Разработка программного обеспечения
Ключевые процессы
Парадигмы и модели
Методологии
Инструменты

Rational Unified Process (RUP) — методология разработки программного обеспечения, созданная компанией Rational Software.

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

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

Процессы и стадии RUP

[править | править код]

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

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

Графическое представление процесса разработки по RUP

1. Начальная стадия (Inception)

[править | править код]

В фазе начальной стадии:

  • Формируются видение и границы проекта.
  • Создается экономическое обоснование (business case).
  • Определяются основные требования, ограничения и ключевая функциональность продукта.
  • Создается базовая версия модели прецедентов.
  • Оцениваются риски.

При завершении начальной фазы оценивается достижение этапа жизненного цикла цели (англ. Lifecycle Objective Milestone), которое предполагает соглашение заинтересованных сторон о продолжении проекта.

2. Уточнение (Elaboration)

[править | править код]

В фазе «Уточнение» производится анализ предметной области и построение исполняемой архитектуры. Это включает в себя:

  • Документирование требований (включая детальное описание для большинства прецедентов).
  • Спроектированную, реализованную и оттестированную исполняемую архитектуру.
  • Обновленное экономическое обоснование и более точные оценки сроков и стоимости.
  • Сниженные основные риски.

Успешное выполнение фазы уточнения означает достижение этапа жизненного цикла архитектуры (англ. Lifecycle Architecture Milestone).

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

[править | править код]

В фазе «Построение» происходит реализация большей части функциональности продукта. Фаза Построение завершается первым внешним релизом системы и вехой начальной функциональной готовности (Initial Operational Capability).

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

[править | править код]

В фазе «Внедрение» создается финальная версия продукта и передается от разработчика к заказчику. Это включает в себя программу бета-тестирования, обучение пользователей, а также определение качества продукта. В случае, если качество не соответствует ожиданиям пользователей или критериям, установленным в фазе Начало, фаза Внедрение повторяется снова. Выполнение всех целей означает достижение вехи готового продукта (Product Release) и завершение полного цикла разработки.

Примечания

[править | править код]
  1. Boehm B, «A Spiral Model of Software Development and Enhancement Архивная копия от 28 мая 2015 на Wayback Machine», IEEE Computer, IEEE, 21(5):61-72, May 1988
  2. Tom Gilb. Principles Of Software Engineering Management. — 1. — Addison-Wesley Professional, January 11, 1988. — 464 с. — ISBN ISBN 0201192462 ISBN 978-0201192469.

Литература

[править | править код]
  • Ivar Jacobson, Grady Booch, James Rumbaugh (1999). The Unified Software Development Process
  • Gary Pollice, Liz Augustine, Chris Lowe, Jas Madhur (2003). Software Development for Small Teams: A RUP-Centric Approach
  • Per Kroll, Philippe Kruchten (2003). Rational Unified Process Made Easy, The: A Practitioner’s Guide to the RUP
  • Per Kroll, Bruce Mac Isaac (2006). Agility and Discipline Made Easy: Practices from OpenUP and RUP
  • Philippe Kruchten (1998). The Rational Unified Process: An Introduction
  • Ahmad Shuja, Jochen Krebs (2007). RUP Reference and Certification Guide
  • Walker Royce, Software Project Management, A Unified Framework