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

Ссылки