Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Процесс разработки программного обеспечения Унифицированный или унифицированный процесс является итеративным и инкрементный процесс разработки программного обеспечения базы. Наиболее известным и подробно документированным усовершенствованием унифицированного процесса является Rational Unified Process (RUP). Другими примерами являются OpenUP и Agile Unified Process .

Профиль типичного проекта, показывающий относительные размеры четырех фаз унифицированного процесса.

Обзор [ править ]

Единый процесс - это не просто процесс, а, скорее, расширяемая структура, которую следует настраивать для конкретных организаций или проектов. Rational Unified Process является, так же, настраиваемые рамки. В результате часто невозможно сказать, произошло ли усовершенствование процесса из UP или из RUP, и поэтому имена, как правило, используются взаимозаменяемо.

Название Unified Process в отличие от Rational Unified Process обычно используется для описания общего процесса, включая те элементы, которые являются общими для большинства уточнений. Имя Unified Process также используется, чтобы избежать потенциальных проблем с нарушением прав на товарный знак, поскольку Rational Unified Process и RUP являются товарными знаками IBM . Первая книга, описывающая этот процесс, называлась «Унифицированный процесс разработки программного обеспечения» ( ISBN  0-201-57169-2 ) и была опубликована в 1999 году Иваром Джейкобсоном , Грэди Бучем и Джеймсом Рамбо.. С тех пор различные авторы, не связанные с Rational Software , опубликовали книги и статьи под названием Unified Process , тогда как авторы, связанные с Rational Software , отдали предпочтение названию Rational Unified Process .

В 2012 году была выпущена структура Discipeled Agile Delivery , гибридная среда, которая принимает и расширяет стратегии Unified Process, Scrum, XP и других методов.

Характеристики унифицированного процесса [ править ]

Итеративный и инкрементный [ править ]

Диаграмма, показывающая, как относительный акцент различных дисциплин меняется в ходе проекта.

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

Хотя большинство итераций будет включать в себя работу по большинству дисциплин процессов ( например, « Требования», «Дизайн», «Реализация», «Тестирование»), относительные усилия и акценты будут меняться в ходе проекта.

Ориентация на архитектуру [ править ]

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

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

Риск-ориентированный [ править ]

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

Жизненный цикл проекта (фазы единого процесса) [ править ]

Единый процесс делит проект на четыре фазы:

  • Зарождение
  • Разработка (веха)
  • Строительство (выпуск)
  • Переход (окончательный производственный выпуск)

Начальная фаза [ править ]

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

Ниже приведены типичные цели начальной фазы:

  • Учреждать
  • Подготовить предварительный график проекта и смету
  • Осуществимость
  • Купить или развить

Веха цели жизненного цикла знаменует собой конец начальной фазы.

Разработайте приблизительное видение системы, сделайте бизнес-обоснование, определите объем и сделайте приблизительную оценку стоимости и графика.

Фаза разработки [ править ]

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

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

Конечный результат этапа проработки - это план (включая смету затрат и графиков) для этапа строительства. На этом этапе план должен быть точным и заслуживающим доверия, поскольку он должен основываться на опыте этапа проработки и поскольку существенные факторы риска должны быть устранены на этапе проработки.

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

Строительство - самый крупный этап проекта. На этом этапе остальная часть системы строится на фундаменте, заложенном в Elaboration. Системные функции реализуются в виде серии коротких итераций, ограниченных по времени. Каждая итерация приводит к выпуску исполняемой версии программного обеспечения. Принято писать полнотекстовые варианты использования на этапе построения, и каждый из них становится началом новой итерации. Распространенные Unified Modeling Language (UML) диаграммы , используемые во время этой фазы включают диаграммы деятельности , диаграммы последовательности , сотрудничества диаграммы , диаграммы переходного состояния и обзорные взаимодействия диаграммы. Выполняется итеративная реализация для более низких рисков и более простых элементов. Конечный результат этапа строительства - это программное обеспечение, готовое к развертыванию на этапе перехода.

Фаза перехода [ править ]

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


Уточнения и вариации [ править ]

Уточнения унифицированного процесса отличаются друг от друга тем, как они классифицируют дисциплины проекта или рабочие процессы . Rational Unified Process определяет девять дисциплин: бизнес - моделирование , Требование , анализ и проектирование , реализация , Test , развертывание , конфигурирования и управление изменений , управление проектами и среда . Unified Process Enterprise расширяет RUP за счет добавления восьми «предприятие» дисциплин. Гибкие усовершенствования UP, такие какOpenUP / Basic и Agile Unified Process упрощают RUP за счет сокращения количества дисциплин.

Уточнения также различаются акцентом на различные артефакты проекта . Усовершенствования Agile оптимизируют RUP за счет упрощения рабочих процессов и уменьшения количества ожидаемых артефактов.

Уточнения также различаются по спецификации того, что происходит после фазы перехода. В Rational Unified Process за переходной фазой обычно следует новая начальная фаза. В унифицированном процессе предприятия за этапом перехода следует этап производства.

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

  • Agile Unified Process (AUP), облегченная вариация, разработанная Скоттом У. Амблером.
  • Базовый унифицированный процесс (BUP), облегченный вариант, разработанный IBM и предшественник OpenUP
  • Enterprise Unified Process (EUP), расширение Rational Unified Process
  • Essential Unified Process (EssUP), облегченная вариация, разработанная Иваром Якобсоном
  • Open Unified Process (OpenUP), процесс разработки программного обеспечения Eclipse Process Framework
  • Rational Unified Process (RUP), процесс разработки программного обеспечения IBM / Rational
  • Oracle Unified Method (OUM), процесс разработки и внедрения Oracle
  • Rational Unified Process-System Engineering (RUP-SE), версия RUP, разработанная Rational Software для системного проектирования

Ссылки [ править ]

  • Кролл, Пер; Крухтен, Филипп (2003). Rational Unified Process Made Easy: Практическое руководство по RUP . ISBN 0-321-16609-4 . 
  • Крухтен, Филипп (2004). Рациональный унифицированный процесс: введение (3-е изд.). ISBN 0-321-19770-4 . 
  • Эмблер, Скотт (2002). Гибкое моделирование: эффективные методы экстремального программирования и унифицированный процесс . Дж. Вили. ISBN 0-471-20282-7. CS1 maint: обескураженный параметр ( ссылка )
  • Скотт, Кендалл (2002). Объяснение единого процесса . ISBN 0-201-74204-7 . 
  • Бергстром, Стефан; Раберг, Лотта (2004). Принятие рационального унифицированного процесса: успех с RUP . ISBN 0-321-20294-5 . 
  • Эмблер, Скотт ; Константин, Ларри (2002). Фазы перехода единого процесса и производства . Книги CMP. ISBN 1-57820-092-X. CS1 maint: обескураженный параметр ( ссылка )
  • Ларман, Крейг (2004). Гибкая и итеративная разработка: руководство для менеджера . ISBN 0-13-111155-8 .