Концепция: Ключевые возможности архитектуры UMA
Архитектура UMA (Unified Method Architecture) представляет собой метамодель разработки процессов, в которой определены схема и терминология представления методов в форме их процессов и наполнения.
Основное описание

Метамодель UMA была создана в целях унификации различных методик и языков моделирования процессов, включая расширения SPEM для UML, языки RUP v2003, Unified Process, IBM Global Services Method и IBM Rational Summit Ascendant. Метамодель представляет собой единоообразную расширяемую реализацию всех концепций и возможностей вышеперечисленных систем, в которой можно описать любую модель из любой из этих систем.  В этом разделе приведены общие сведения о возможностях UMA.

Разделение наполнения и процесса метода

В UMA предусмотрено четкое отделение наполнения методов от применения методов в процессах. Это достигается путем раздельного описания следующих объектов:

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

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

Многократное использование наполнения

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

Семейства процессов

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

Различные жизненные циклы

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

Гибкие механизмы реализации модулей и расширений

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

Различные представления процессов

В UMA поддерживаются различные, но в то же время целостные представления процессов. Представления позволяют адаптировать процедуру создания и изменения процессов к индивидуальным предпочтениям разработчиков. Разработчики могут создавать определения процессов, отталкиваясь от любого из следующих представлений:

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

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

Многоразовые шаблоны процессов

Шаблоны возможностей UMA представляют собой многоразовые блоки, применяемые для конструирования новых процессов поставки. Шаблон возможностей можно выбрать и применить двумя способами:

  • Шаблон может применяться в сложной операции копирования и изменения объектов. В этом случае разработчик процессов может адаптировать наполнение шаблона в момент его применения в соответствии со своими потребностями.
  • Шаблон может применяться в ходе динамической привязки. Этот уникальный новый способ повторного использования процессов позволяет выделять повторяющиеся операции в шаблоны, которые затем можно применять для конструирования процессов. Любые изменения в шаблоне автоматически распространяются на все процессы, построенные на основе шаблона.