Метамодель 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 представляют собой многоразовые блоки, применяемые для конструирования новых процессов
поставки. Шаблон возможностей можно выбрать и применить двумя способами:
-
Шаблон может применяться в сложной операции копирования и изменения объектов. В этом случае разработчик процессов
может адаптировать наполнение шаблона в момент его применения в соответствии со своими потребностями.
-
Шаблон может применяться в ходе динамической привязки. Этот уникальный новый способ повторного использования
процессов позволяет выделять повторяющиеся операции в шаблоны, которые затем можно применять для конструирования
процессов. Любые изменения в шаблоне автоматически распространяются на все процессы, построенные на основе шаблона.
|