Rational Unified Process
Rational Unified Process (RUP) — методология разработки программного обеспечения, созданная компанией Rational Software.
ПринципыПравить
В основе RUP лежат следующие принципы:
- Ранняя идентификация и непрерывное (до окончания проекта) устранение основных рисков.
- Концентрация на выполнении требований заказчиков к исполняемой программе (анализ и построение модели прецедентов (вариантов использования)).
- Ожидание изменений в требованиях, проектных решениях и реализации в процессе разработки.
- Компонентная архитектура, реализуемая и тестируемая на ранних стадиях проекта.
- Постоянное обеспечение качества на всех этапах разработки проекта (продукта).
- Работа над проектом в сплочённой команде, ключевая роль в которой принадлежит архитекторам.
Процессы и стадии RUPПравить
RUP использует итеративную модель разработки. В конце каждой итерации (в идеале продолжающейся от 2 до 6 недель) проектная команда должна достичь запланированных на данную итерацию целей, создать или доработать проектные артефакты и получить промежуточную, но функциональную версию конечного продукта. Итеративная разработка позволяет быстро реагировать на меняющиеся требования, обнаруживать и устранять риски на ранних стадиях проекта, а также эффективно контролировать качество создаваемого продукта. Первые идеи итеративной модели разработки были заложены в «спиральной модели»[1][2].
Полный жизненный цикл разработки продукта состоит из четырёх фаз, каждая из которых включает в себя одну или несколько итераций:
1. Начальная стадия (Inception)Править
В фазе начальной стадии:
- Формируются видение и границы проекта.
- Создается экономическое обоснование (business case).
- Определяются основные требования, ограничения и ключевая функциональность продукта.
- Создается базовая версия модели прецедентов.
- Оцениваются риски.
При завершении начальной фазы оценивается достижение этапа жизненного цикла цели (англ. Lifecycle Objective Milestone), которое предполагает соглашение заинтересованных сторон о продолжении проекта.
2. Уточнение (Elaboration)Править
В фазе «Уточнение» производится анализ предметной области и построение исполняемой архитектуры. Это включает в себя:
- Документирование требований (включая детальное описание для большинства прецедентов).
- Спроектированную, реализованную и оттестированную исполняемую архитектуру.
- Обновленное экономическое обоснование и более точные оценки сроков и стоимости.
- Сниженные основные риски.
Успешное выполнение фазы уточнения означает достижение этапа жизненного цикла архитектуры (англ. Lifecycle Architecture Milestone).
3. Построение (Construction)Править
В фазе «Построение» происходит реализация большей части функциональности продукта. Фаза Построение завершается первым внешним релизом системы и вехой начальной функциональной готовности (Initial Operational Capability).
4. Внедрение (Transition)Править
В фазе «Внедрение» создается финальная версия продукта и передается от разработчика к заказчику. Это включает в себя программу бета-тестирования, обучение пользователей, а также определение качества продукта. В случае, если качество не соответствует ожиданиям пользователей или критериям, установленным в фазе Начало, фаза Внедрение повторяется снова. Выполнение всех целей означает достижение вехи готового продукта (Product Release) и завершение полного цикла разработки.
См. такжеПравить
ПримечанияПравить
- ↑ Boehm B, «A Spiral Model of Software Development and Enhancement Архивная копия от 28 мая 2015 на Wayback Machine», IEEE Computer, IEEE, 21(5):61-72, May 1988
- ↑ 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