Введение

Объектно-ориентированная структура процесса разработки программного обеспечения Единый процесс разработки программного обеспечения или унифицированный процесс - это итеративная и инкрементальная структура процесса разработки программного обеспечения. Наиболее известным и широко документированным усовершенствованием унифицированного процесса является рациональный унифицированный процесс (RUP). Другими примерами являются OpenUP и гибкий унифицированный процесс.

Обзор

Единый процесс - это не просто процесс, а расширяемая структура, которая должна быть адаптирована к конкретным организациям или проектам. Рациональный унифицированный процесс - это, аналогично, настраиваемая структура. В результате часто невозможно сказать, было ли усовершенствование процесса получено из UP или из RUP, и поэтому названия, как правило, используются взаимозаменяемо. Название унифицированный процесс в отличие от рационального унифицированного процесса обычно используется для описания общего процесса, включая те элементы, которые являются общими для большинства усовершенствований. Название унифицированного процесса также используется для предотвращения потенциальных проблем нарушения товарных знаков, поскольку Rational Unified Process и RUP являются товарными знаками IBM. Первая книга, описывающая процесс, была озаглавлена "Объединенный процесс разработки программного обеспечения" и опубликована в 1999 году Иваром Джейкобсоном, Грейди Бучем и Джеймсом Ромбо. С тех пор различные авторы, не связанные с Rational Software, опубликовали книги и статьи, используя название Unified Process, тогда как авторы, связанные с Rational Software, предпочитают название Rational Unified Process. В 2012 году была выпущена дисциплинированная гибкая структура доставки, гибридная структура, которая принимает и расширяет стратегии из унифицированного процесса, Scrum, экстремального программирования и других методов.

Итеративные и инкрементальные

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

Архитектурно-ориентированный

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

Ориентированный на риск

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

Применение случаев

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

Фаза начала

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

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

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

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

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

Переходный этап

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