Rambler's Top100
Структуралист (на главную)  
 

RUP – рациональный унифицированный процесс разработки программного обеспечения

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

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

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

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

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

Унифицированный процесс состоит из четырех фаз: начала, развития, конструирования и передачи (рис. 1):

Фазы рационального унифицированного процесса (RUP)
Название фазы Содержание фазы
Начало (inception) Определение начального видения проблемы, прецедентов, а так же оценка сложности проекта.
Развитие (elaboration) Формирование более полного видения проблемы, итеративная реализация базовой архитектуры системы, создание наиболее критичных компонентов (разрешение высоких рисков), определение основных требований и оформление их в виде системы прецедентов, получение более реалистичных оценок сложности проекта и сроков.
Конструирование (construction) Итеративная реализация менее критичных и более простых элементов, подготовка к развертыванию системы.
Передача (transition) Бета-тестирование и развертывание системы.

Фазы рационального унифицированного процесса (RUP) разработки программного обеспечения

Рис. 1. Фазы рационального унифицированного процесса (RUP) разработки программного обеспечения

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

Фазы и дисциплины рационального унифицированного процесса (RUP) разработки программного обеспечения

Рис. 2. Фазы и дисциплины рационального унифицированного процесса (RUP) разработки программного обеспечения

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

Можно привести пример короткой двухнедельной итерации. В первый день происходит осмысление задач и требований текущей итерации. Проводится обратное проектирование, например, при помощи пакета CASE-технологий Rational Rose, в результате чего будут получены диаграммы на языке UML, описывающие уже имеющуюся часть системы. Во второй день программистами проводится объектно-ориентированное проектирование той части системы, которая будет реализована в результате данной итерации. Тогда же выявляются возможные шаблоны проектирования, которые могут быть использованы при реализации этой части системы. Так же проводится совместное обсуждение результатов проектирования. Оставшиеся дни отводятся на реализацию (собственно написание программного кода на целевом алгоритмическом языке), отладку, тестирование, рефакторинг и интеграцию созданной части в систему.

Итак, основными свойствами унифицированного процесса являются:

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

Рациональный унифицированный процесс является наиболее предпочтительным при создании систем автоматизированного проектирования (САПР), CASE-систем, систем с элементами искусственного интеллекта, а также, систем поддержки структурно-параметрического синтеза объектов.

Материалы на сайте

Литература

  1. Ларман К. Применение UML и шаблонов проектирования / Пер. с англ. М.: Вильямс, 2002.
  2. Буч Г., Рамбо Дж., Джекобсон А. Язык UML. Руководство пользователя. Пер. с англ. М.: ДМК, 2000.
  3. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. Пер. с англ. М.: Бином, СПб.: Невский диалект, 1998.
  4. Гамма Э., Хелм Р., Джексон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. Пер. с англ. СПб.: Питер, 2001.

Связанные понятия

Кто Вы?
Исследователь
Специалист
Управленец
Преподаватель
Студент
Аспирант
Другое
Результаты голосования

©Structuralist 2005-2006
structuralist@narod.ru
Рейтинг@Mail.ru Rambler's Top100
Hosted by uCoz