stringtranslate.com

Рациональный унифицированный процесс

Рациональный унифицированный процесс ( RUP ) — это итеративный процесс разработки программного обеспечения , созданный корпорацией Rational Software Corporation, подразделением IBM с 2003 года. [1] RUP — это не единый конкретный предписывающий процесс, а скорее адаптируемая структура процесса , предназначенная для адаптации организациями-разработчиками и командами проектов по разработке программного обеспечения, которые будут выбирать элементы процесса, соответствующие их потребностям. RUP — это конкретная реализация унифицированного процесса .

История

Rational Software изначально разработала рациональный унифицированный процесс как программный процессный продукт. Продукт включает гиперссылочную базу знаний с образцами артефактов и подробными описаниями для многих различных типов деятельности. RUP включен в продукт IBM Rational Method Composer (RMC), который позволяет настраивать процесс.

Филиппу Крухтену , опытному техническому представителю Rational, было поручено возглавить первоначальную команду RUP.

Эти первоначальные версии объединили обширный практический опыт организации Rational Software в создании объектно-ориентированных систем (называемый сотрудниками Rational на местах подходом Rational) с руководством Objectory по таким практикам, как варианты использования, и включили обширный контент из подхода Джима Рамбо к моделированию Object Modeling Technology (OMT), метода Буча Грейди Буша и недавно выпущенного UML 0.8. [2] [3]

Чтобы сделать эту растущую базу знаний более доступной, Филиппу Крухтену было поручено собрать явную структуру процесса для современной программной инженерии. В этой работе использовался механизм доставки процессов на основе HTML , разработанный Objectory. Получившийся в результате "Rational Unified Process" (RUP) завершил стратегический трипод для Rational:

В последующих версиях это руководство было дополнено знаниями, основанными на опыте компаний, приобретенном Rational.

В 1997 году к подходу были добавлены дисциплины требований и тестирования, большая часть дополнительных материалов была взята из метода Колледжа требований, разработанного Дином Леффингвеллом и др. в Requisite, Inc., и метода Процесса SQA, разработанного в SQA Inc. (обе компании были приобретены Rational Software).

В 1998 году компания Rational Software добавила две новые дисциплины:

  1. бизнес-моделирование, большая часть этого контента уже была в процессе возражений
  2. дисциплина управления конфигурацией и изменениями, полученная в результате приобретения корпорации Pure Atria.

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

  1. Разрабатывайте итеративно, при этом риск является основным фактором итерации [4]
  2. Управление требованиями
  3. Используйте архитектуру, основанную на компонентах
  4. Визуальное моделирование программного обеспечения
  5. Постоянно проверяйте качество
  6. Изменения контроля

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

Были включены дополнительные методы, включая тестирование производительности, проектирование пользовательского интерфейса, проектирование данных, а также обновление, отражающее изменения в UML 1.1.

В 1999 году была введена дисциплина управления проектами, а также методы поддержки разработки программного обеспечения в реальном времени и обновления для отражения UML 1.3. Кроме того, в том же году была опубликована первая книга, описывающая этот процесс, The Unified Software Development Process ( ISBN  0-201-57169-2 ) Айвара Якобсона , Грейди Буша и Джеймса Рамбо .

В период с 2000 по 2003 год ряд изменений ввели руководство из текущего опыта Rational в области итеративной разработки, в дополнение к поддержке инструментов для принятия экземпляров RUP и для настройки фреймворка RUP. Эти изменения включали:

  1. введение концепций и методов из подходов, таких как eXtreme Programming (XP), которые позже стали известны как agile-методы. Сюда вошли такие методы, как парное программирование, проектирование с первым тестом и статьи, объясняющие, как RUP позволяет XP масштабироваться для использования в более крупных проектах.
  2. полная переработка дисциплины тестирования для лучшего отражения того, как проводилась работа по тестированию в различных контекстах итеративной разработки.
  3. введение вспомогательных руководств — известных как «инструментальные наставники» — для внедрения практик RUP в различных инструментах. По сути, они предоставляли пошаговую методическую поддержку пользователям инструментов Rational.
  4. автоматизация настройки RUP таким образом, чтобы клиенты могли выбирать части из структуры процесса RUP, настраивать свой выбор с помощью собственных дополнений и по-прежнему включать улучшения в последующие выпуски Rational.

IBM приобрела Rational Software в феврале 2003 года.

В 2006 году IBM создала подмножество RUP, предназначенное для реализации проектов Agile , и выпустила его в виде метода с открытым исходным кодом под названием OpenUP на веб-сайте Eclipse . [5]

Рациональные унифицированные темы процесса

Строительные блоки RUP

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

В рамках каждой итерации задачи подразделяются на девять дисциплин:

Четыре фазы жизненного цикла проекта

Фазы и дисциплины RUP.

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

Начальная фаза

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

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

Фаза разработки

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

Результатом этапа разработки является:

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

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

Ключевым предметным анализом для разработки является архитектура системы.

Фаза строительства

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

Переходная фаза

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

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

Продукт IBM Rational Method Composer

Продукт IBM Rational Method Composer — это инструмент для создания, настройки, просмотра и публикации процессов. Подробнее см. IBM Rational Method Composer и проект Eclipse Process Framework (EPF) с открытым исходным кодом.

Сертификация

В январе 2007 года был выпущен новый экзамен на получение сертификата RUP для IBM Certified Solution Designer - Rational Unified Process 7.0 , который заменяет предыдущую версию курса под названием IBM Rational Certified Specialist - Rational Unified Process . [6] Новый экзамен будет проверять не только знания, связанные с содержанием RUP, но и с элементами структуры процесса. [7]

Чтобы сдать новый экзамен на сертификацию RUP, человек должен пройти IBM's Test 839: Rational Unified Process v7.0 . На прохождение экзамена из 52 вопросов дается 75 минут. Проходной балл составляет 62%. [8]

Шесть лучших практик

Определены шесть лучших практик разработки программного обеспечения для программных проектов, чтобы минимизировать ошибки и повысить производительность. Это: [9] [10]

Разрабатывать итеративно
Лучше всего знать все требования заранее; однако часто это не так. Существует несколько процессов разработки программного обеспечения, которые занимаются предоставлением решений для минимизации затрат с точки зрения фаз разработки.
Управление требованиями
Всегда помните о требованиях, предъявляемых пользователями.
Использовать компоненты
Разбивка сложного проекта не только предлагается, но и фактически неизбежна. Это способствует возможности тестирования отдельных компонентов до их интеграции в более крупную систему. Кроме того, повторное использование кода является большим плюсом и может быть достигнуто более легко с помощью объектно-ориентированного программирования .
Модель визуально
Используйте диаграммы для представления всех основных компонентов, пользователей и их взаимодействия. «UML», сокращение от Unified Modeling Language , — это один из инструментов, который можно использовать для того, чтобы сделать эту задачу более выполнимой.
Проверить качество
Всегда делайте тестирование основной частью проекта в любой момент времени. Тестирование становится тяжелее по мере продвижения проекта, но должно быть постоянным фактором в создании любого программного продукта.
Изменения контроля
Многие проекты создаются многими командами, иногда в разных местах, могут использоваться разные платформы и т. д. В результате важно убедиться, что изменения, вносимые в систему, постоянно синхронизируются и проверяются. (См. Непрерывная интеграция ).

Смотрите также

Ссылки

  1. ^ IBM приобретает Rational
  2. ^ Якобсон, Стен (2002-07-19). "Процесс рационального объектирования - процесс разработки программного обеспечения на основе UML". Rational Software Scandinavia AB. Архивировано из оригинала 2019-05-27 . Получено 2014-12-17 .
  3. ^ Крахтен, Филипп (2004-05-01). Рациональный унифицированный процесс: Введение. Addison-Wesley . стр. 33. ISBN 9780321197702. Получено 17 декабря 2014 г. .
  4. ^ Акед, Марк (2003-11-25). "RUP in brief". IBM . Получено 2011-07-12 .
  5. ^ "OpenUP". Архивировано из оригинала 2014-01-06 . Получено 2013-08-03 .
  6. ^ Кребс, Йохен (2007-01-15). "Ценность сертификации RUP". IBM . Получено 2014-05-05 .
  7. ^ "Spacer IBM Certified Solution Designer - IBM Rational Unified Process V7.0". IBM . Архивировано из оригинала 8 января 2007 года . Получено 2008-05-13 .
  8. ^ "Тест 839: Rational Unified Process v7.0". IBM . Получено 2008-05-13 .[ постоянная мертвая ссылка ]
  9. ^ Стивен Шах (2004). Классическая и объектно-ориентированная программная инженерия . 6/e, WCB McGraw Hill, Нью-Йорк, 2004.
  10. ^ Белая книга Rational Unified Process Архивировано 01.05.2009 на Wayback Machine

Дальнейшее чтение

Внешние ссылки

  1. ^ Szymkowiak, Paul; Kruchten, Philippe (февраль 2003 г.). «Тестирование: философия RUP». Academia.Edu . Rational Software (электронный журнал Rational Edge). стр. 11. Получено 13 октября 2022 г.