Моделирование процессов разработки ПО и создание сайтов процессов с помощью Rational Method ComposerИсточник: ibm Тимур Маркунин, независимый консультант, компания-разработчик ПО
Обзор продуктаRational Method Composer является инструментом позволяющим инженерам-технологам (process engineers) создавать, изменять, развертывать и поддерживать Процессы Разработки организации и отдельных проектов.
Обзор основных концепций Rational Method ComposerПеречень основных отличий Rational Method Composer от RUP2003 представлен во врезке Отличия в метамоделях RUP2003 и RMC Фундаментальным принципом Rational Method Composer является разделение Содержания Методик (Method content), которое может быть повторно используемо от конкретных Процессов разработки, в которых оно используется. Содержание Методик описывает, что должно быть создано, необходимые навыки и приводит пошаговое объяснение, как достигаются конкретные цели разработки. Это описание методик не зависит от описания жизненного цикла разработки. На основе Содержания Методик создаются Процессы в виде последовательностей действий, которые адаптируются к типам конкретных проектов. На Рисунок 1 показано такое разделение для RUP. Содержание Методик сгруппировано по дисциплинам вдоль оси Y, и описывает выполнение задач по разработке (не показанных на рисунке). Работа, описанная как Процесс в течении времени представлена вдоль оси Х. Это жизненный цикл проекта разработки ПО. Он отображает, когда и какие задачи должны быть выполнены. Графики на рисунке представляют приблизительный объем работ для каждой из дисциплин. Таким образом, жизненный цикл (Процесс) отображает изменения работы выполняемой в рамках различных дисциплин (Методики). Рисунок 1 Разделение содержания Методик и Процесса Для создания Методик в Rational Method Composer используется стандартизированный подход, упрощенное представление которого показано на Рисунок 2. В этой метамодели выделяется набор Ролей (Roles), представляющих совокупность связанных навыков, знаний и ответственностей команды разработчиков. Эти Роли ответственны за определенные типы Рабочих Продуктов (Work Product), например тестировщики за план тестирования, а менеджеры проектов за проектный план. Для создания или изменения Рабочих Продуктов Ролям присваиваются Задачи (Tasks), которые на входе и выходе имеют специфичные типы Рабочих Продуктов. Рисунок 2 Упрощенная модель основных элементов Методики На Рисунок 3 представлены ключевые элементы Rational Method Composer с разбиением на Содержание Методик и Процесса. Из рисунка видно, что Содержание Методик в основном описывается через Рабочие Продукты, Задачи, Роли и Руководства. Руководства (Guidance), такие как Чек-Листы (check-list), Примеры (example) или Планы Действий (roadmap) могут также быть созданы для предоставления дополнительной информации о Процессе. В правой части рисунка отображены элементы RMC используемые для описания Процессов. Основным элементом являются Активности (activity), которые могут быть вложены друг в друга для представления декомпозиции Работ (Пример вложенностей Активностей: Инициализация проекта\Создание проектной среды\ Создание Outlook папок). Также могут быть определены связи Активностей между собой для определения потока работ (workflow). Активности в свою очередь содержат Дескрипторы(descriptor), которые ссылаются на Содержание Методик. Активности используются для создания Процессов, которых в RMC два типа: Процесс Разработки (delivery process) и Процесс Ключевой Области разработки(capability pattern). Процессы Разработки это полные, интегрированные процессные шаблоны для специфичных типов проектов. Они описывают жизненный цикл проекта от начало до конца и используются в качестве ссылки для текущих проектов с похожими характеристиками. Процессы Ключевых Областей разработки это Процессы определяющие процессные знания для определенных ключевых областей разработки таких как дисциплина или лучшая практика (best practice). Они также используются для сборки Процессов Разработки или более крупных Процессов Ключевых Областей разработки. Это гарантирует оптимальное повторное использование и применение лучших практик при разработке Процесса в Rational Method Composer . Рисунок 3 Ключевые элементы Rational Method Composer
|
В этом разделе мы создадим с помощью Rational Method Composer упрощенный Процесс Разработки и таким образом на практике познакомимся с основными концепциями описанными выше.
Режимы работы с Rational Method Composer
Существует 2 режима работы с Rational Method Composer :
Режим разработки (Authoring perspective). Режим разработки предоставляет функции и представления для навигации по Содержанию Методик и Процессов Разработки, а также их изменению, Рисунок 5.
Рисунок 5 Режим разработки
*В статье описывается IBM Rational Method Composer версии 7.0.1.
Для того, чтобы изменить или создать любой тип элемента нужно выбрать режим разработки. В режиме разработки RMC содержит 2 представления: Представление библиотеки (Library View) и Представление конфигурации (Configuration View).
Режим просмотра (Browsing perspective). Режим просмотра позволяет просмотреть публикуемую Конфигурацию Методик без возможности внесения, каких либо изменений. В режиме просмотра Rational Method Composer содержит только Представление конфигурации. Для изменения режима работы можно использовать пиктограмму Open Perspective.
Для того, чтобы охватить возможности Rational Method Composer по созданию Содержания Методик и Процесса Разработки, мы будем создавать с нуля Содержание Методик и основанный на нем Процесс Разработки. Таким образом, возможности RMC по адаптации и изменению существующих Методик и Процессов Разработки в основном останутся за рамками статьи.
Для получения представления о работе с Rational Method Composer при ограниченных размерах статьи мы рассмотрим максимально упрощенный Процесс Разработки.
Итак, начинаем с запуска RMC. При запуске инструмента выбираем Библиотеку Методик, предлагаемую по умолчанию. Надо убедиться, что текущий режим работы с Rational Method Composer это режим разработки (Authoring perspective).
Библиотека Методик (Method library) является контейнером содержащим в себе Подключаемые Методики (Method plug-in) и определения Конфигураций Методик (Method configuration). Все элементы Методик сохраняются в Библиотеке Методик.
Для создания с нуля Процесса Разработки первым шагом создадим Библиотеку Методик. Для этого выберем в меню File\New\Method Library и заполним название библиотеки и путь, по которому она будет храниться.
Рисунок 6 Диалог открытия Библиотеки Методик
Подключаемая Методика (Method Plug-In) является контейнером содержания методик и процессов. Подключаемые Методики, Содержания Методик и Пакеты Содержаний (Content Package) позволяют организовать ваши Методики с уровнем детализации подходящим для создания и повторного использования.
В результате предыдущего действия у нас создалась пустая Библиотека Методик в которой теперь нужно создать Подключаемую Методику. В меню выбираем File\New\Method Plug-in. Выбираем имя и сохраняем Методику. Обратите внимание на поле Referenced Plug-ins. В этом поле выбираются Методики, содержимое которых мы хотим повторно использовать в создаваемой Подключаемой Методике. Так как мы создаем первую Подключаемую Методику в пустой Библиотеке Методик, то в нашем случае это поле пустое.
Пакет Содержаний (Content Package) состоит из элементов Методик, таких как Роли, Задачи, Рабочие Продукты и Руководства.
В контекстном меню листа Content Packages в Представлении библиотеки, открывающемуся по щелчку правой кнопкой мыши выбираем New\Content Package. Именуем и сохраняем Пакет Содержаний. В результате выполненных шагов у нас сформировалась структура для создания и редактирования содержания Методик, Рисунок7.
Рисунок 7 Структура подключаемой методики
Начнем наполнять нашу Методику содержанием.
Создание Ролей. Для создания Роли выбираем лист Roles и в контекстном меню, открывающемся по щелчку правой кнопкой мыши выбираем New\Role. В открывшемся редакторе (Content Editor) для каждой Роли заполняем поля значениями, указанными в Таблице 1 и сохраняем роль.
Роль |
Поле |
Значение |
Разработчик |
Name |
Разработчик |
Presentation Name |
Разработчик | |
Brief description |
Разработчик выполняет разработку программных компонентов в соответствии с функциональными требованиями и стандартами кодирования принятыми в организации. Также Разработчик ответственен за модульное тестирование разрабатываемых компонентов. | |
Заказчик |
Name |
Заказчик |
Presentation Name |
Заказчик | |
Brief description |
Эта роль представляет группу, чьи потребности будут удовлетворенны в результате выполнения проекта. | |
Main description |
Заказчик отвечает за определение своих потребностей и установление их приоритетов, своевременное предоставление комментариев по предоставляемым ему рабочим продуктам и проведение приемочного тестирования. | |
Руководитель команды |
Name |
Руководитель команды |
Presentation Name |
Руководитель команды | |
Brief description |
Руководитель команды отвечает за общий успех проекта. | |
Main description |
Руководитель команды отвечает за общий успех проекта. В его основные задачи входит выяснения представления о системе и ее функциях, планирование проекта, разработка общей архитектуры, участие в разработке системы в течении всего проекта и коммуникации достигнутых промежуточных результатов заказчику. | |
Тестировщик |
Name |
Тестировщик |
Presentation Name |
Тестировщик | |
Brief description |
Тестировщик отвечает за соответствие разрабатываемой системы потребностям заказчика. | |
Main description |
Тестировщик должен на ранних этапах проекта понять потребности заказчика, ограничения, накладываемые на систему и выполнять проверку выполнения этих требований и соответствия ограничениям в ходе всего жизненного цикла продукта от выработки архитектуры и создания прототипа системы до окончательной поставки системы заказчику. |
Обратите внимание на существование 2-х различных полей: Namе и Presentation Name. Имя Роли Name используется при разработке Методологии внутри RMC, а имя Роли Presentation Name отображается на опубликованном сайте или в RMC в режиме просмотра. Это удобно использовать при достаточно большом объеме Методики или при повторном использовании содержания Подключаемых Методик. Например, Задача по тестированию сборки из Методики 1 может иметь внутреннее имя meth1_tst_Test build.
Создание Рабочих Продуктов. Для создания Рабочего Продукта выбираем лист Work Products и в контекстном меню, открывающемся по щелчку правой кнопкой мыши выбираем New и в зависимости от типа создаваемого продукта либо Artifact либо Deliverable либо Outcome. В открывшемся редакторе (Content Editor) заполняем для каждого Рабочего Продукта поля значениями, указанными в Таблице 2 и сохраняем Рабочий Продукт.
Рабочий продукт |
Тип рабочего продукта |
Поле |
Значение |
Концепция системы (Vision) |
Deliverable |
Name |
Концепция системы |
Presentation Name |
Концепция системы | ||
Brief Description |
Концепция системы описывает систему с точки зрения заказчика, обращая внимание на необходимые функции системы и приемлемый уровень качества. Концепция система должна описывать функции, которые будут включены в систему, а также функции, которые рассматривались, но не будут включены в систему. Также документ должен описывать операционные качества системы (объемы информации, время отклика, точность расчетов), профили пользователей (кто будет использовать систему), интерфейсы предоставляемые за пределы системы, если такие имеются. | ||
Архитектура системы |
Deliverable |
Name |
Архитектура системы |
Presentation Name |
Архитектура системы | ||
Brief Description |
Архитектура Системы представляет собой подробный архитектурный обзор системы, использует различные представления для иллюстрации разных аспектов системы | ||
Требования |
Artifact |
Name |
Требования |
Presentation Name |
Требования | ||
Brief Description |
Требования описывают возможности, которые должна предоставлять система для удовлетворения потребностей пользователей. | ||
План проекта |
Deliverable |
Name |
План проекта |
Presentation Name |
План проекта | ||
Brief Description |
План проекта представляет собой временную последовательность действий и задач с указанием ресурсов выполняющих задачи, содержащий зависимости между задачами. | ||
Прототип системы |
Deliverable |
Name |
Прототип системы |
Presentation Name |
Прототип системы | ||
Brief Description |
Прототип системы представляет собой выполняемую часть системы с ограниченной функциональностью. Позволяет получить комментарии заказчика по поводу понимания концепции системы заказчиком, разрешить основные риски связанные с требованиями и (или) технологиями. | ||
План тестирования |
Deliverable |
Name |
План тестирования |
Presentation Name |
План тестирования | ||
Brief Description |
План тестирования определяет цели и стратегию тестирования в рамках проекта, а также необходимые ресурсы. | ||
Тестовые сценарии |
Artifact |
Name |
Тестовые сценарии |
Presentation Name |
Тестовые сценарии | ||
Brief Description |
Этот артефакт определяет набор тестовых сценариев, которые представляют из себя набор входных параметров, параметров выполнения теста и ожидаемые результаты | ||
Сборка |
Artifact |
Name |
Сборка |
Presentation Name |
Сборка | ||
Brief Description |
Этот артефакт представляет собой выполняемую версию системы или части системы и демонстрирует часть возможностей финальной системы | ||
Результаты тестирования |
Artifact |
Name |
Результаты тестирования |
Presentation Name |
Результаты тестирования | ||
Brief Description |
Результаты тестирования содержат заключение о качестве протестированной сборки вместе с суммарной статистикой проведенного тестирования. | ||
Дефекты занесенные в систему отслеживания дефектов |
Artifact |
Name |
Дефекты |
Presentation Name |
Дефекты | ||
Brief Description |
Дефекты занесенные в систему отслеживания дефектов | ||
Продукт |
Deliverable |
Name |
Продукт |
Presentation Name |
Продукт | ||
Brief Description |
Система поставляемая заказчику | ||
Продукт установлен в среде заказчика |
Outcome |
Name |
Продукт установлен в среде заказчика |
Presentation Name |
Продукт установлен в среде заказчика | ||
Заказчик принял продукт |
Outcome |
Name |
Заказчик принял продукт |
Presentation Name |
Заказчик принял продукт |
В нашем случае Тестовые сценарии будут поставляться на рассмотрение Заказчику в составе Плана тестирования. Чтобы отразить это в нашей модели надо открыть План тестирования, перейти на вкладку Deliverable Parts, нажать кнопку Add и выбрать Тестовые сценарии из дерева Рабочих Продуктов.
Создание Задач. Для создания Задачи выбираем лист Tasks и в контекстном меню, открывающемся по щелчку правой кнопкой мыши выбираем New\Task. В открывшемся редакторе (Content Editor) заполняем для каждой Задачи поля значениями, указанными в Таблице 3 и сохраняем Задачу. Для того, чтобы указать, кто выполняет Задачу надо перейти на закладку Roles и выбрать Роль ответственную за выполнение Задачи (Primary performer), которая может быть только одна и Роли участвующие в выполнении Задачи (Additional performers). Для указания Рабочих Продуктов надо перейти на вкладку Work Products и выбрать Рабочие Продукты, которые являются основной входной информацией (Mandatory inputs), дополнительной входной информацией (Optional inputs) и информацией на выходе из Задачи (Outputs).
Задача |
Вкладка |
Поле |
Значение |
Создать концепцию системы |
Description |
Name |
Создать концепцию системы |
Presentation Name |
Создать концепцию системы | ||
Roles |
Primary performer |
Заказчик | |
Work products |
Outputs |
Концепция системы | |
Определить требования к системе |
Description |
Name |
Определить требования к системе |
Presentation Name |
Определить требования к системе | ||
Roles |
Primary performer |
Руководитель команды | |
Additional performers |
Заказчик, Тестировщик, Разработчик | ||
Work Products |
Mandatory inputs |
Концепция системы | |
Outputs |
Требования | ||
Создать архитектуру системы |
Description |
Name |
Создать архитектуру системы |
Presentation Name |
Создать архитектуру системы | ||
Roles |
Primary performer |
Руководитель команды | |
Additional performers |
Тестировщик, Разработчик | ||
Work products |
Mandatory inputs |
Требования | |
Optional inputs |
Концепция системы | ||
Outputs |
Архитектура Системы | ||
Создать план тестирования |
Description |
Name |
Создать план тестирования |
Presentation Name |
Создать план тестирования | ||
Roles |
Primary performer |
Тестировщик | |
Additional performers |
Заказчик, Разработчик, Руководитель команды | ||
Work products |
Mandatory inputs |
Требования | |
Optional inputs |
Концепция системы, Архитектура Системы | ||
Outputs |
План тестирования | ||
Создать прототип |
Description |
Name |
Создать прототип |
Presentation Name |
Создать прототип | ||
Roles |
Primary performer |
Руководитель команды | |
Additional performers |
Разработчик, Тестировщик | ||
Work products |
Mandatory inputs |
Архитектура Системы, Требования | |
Optional inputs |
Концепция системы | ||
Outputs |
Прототип | ||
Закодировать требования |
Description |
Name |
Закодировать требования |
Presentation Name |
Закодировать требования | ||
Roles |
Primary performer |
Разработчик | |
Additional performers |
|||
Work products |
Mandatory inputs |
Требования | |
Optional inputs |
|||
Outputs |
Сборка | ||
Протестировать разработанный код |
Description |
Name |
Протестировать разработанный код |
Presentation Name |
Протестировать разработанный код | ||
Roles |
Primary performer |
Тестировщик | |
Additional performers |
|||
Work products |
Mandatory inputs |
Сборка, План тестирования | |
Optional inputs |
|||
Outputs |
Дефекты, Результаты тестирования | ||
Установить продукт в среде заказчика |
Description |
Name |
Установить продукт в среде заказчика |
Presentation Name |
Установить продукт в среде заказчика | ||
Roles |
Primary performer |
Руководитель команды | |
Additional performers |
Разработчик, Тестировщик | ||
Work products |
Mandatory inputs |
Продукт | |
Optional inputs |
|||
Outputs |
Продукт установлен в среде заказчика | ||
Description |
Name |
||
Presentation Name |
|||
Roles |
Primary performer |
||
Additional performers |
|||
Work products |
Mandatory inputs |
||
Optional inputs |
|||
Outputs |
Конфигурация Методик позволяет определить рабочий набор из Содержания Методик и Процессов для специфичного контекста. Все Содержание Методик и Процессы в Rational Method Composer организованы в виде Подключаемых Методик и Пакетов Методик. Таким образом, Конфигурация Методик представляет собой выборку из Подключаемых Методик и Пакетов Методик.
Выбираем лист Configurations в дереве Представления Библиотеки Методик. Выбираем New\Method Configuration в контекстном меню, появляющемся по щелчку правой кнопкой мыши. Вводим имя Конфигурации Упрощенная методология в поле Name и переходим в редакторе на вкладку Plug-in and Package Selection. Выбираем все элементы нашей Подключаемой Методики для использования в созданной Конфигурации, как на Рисунок 8. Мы вернемся к редактированию Конфигурации Методик позже, когда нам будет нужно опубликовать сайт процесса.
Рисунок 8 Подключение элементов Методики и Процессов к Конфигурации
Процесс Разработки представляет собой полный и интегрированный подход к выполнению определенного вида проектов. Он представляет модель полного жизненного цикла проекта, который детализируется путем выстраивания последовательности ссылок на Содержание Методик в структуре декомпозиции (breakdown structure).
Выбираем лист Delivery Processes в дереве Представления Библиотеки Методик. Выбираем New\ Delivery Process в контекстном меню. Вводим имя Процесса Упрощенный процесс и выбираем Упрощенная методология как Default Configuration в появившемся диалоге New Process Component. В появившемся диалоговом окне Switch Configuration выбираем Yes. Если диалоговое окно не появилось, то выбираем нашу Конфигурацию в списке конфигураций, расположенном в панели инструментов. Сохраняем наш Процесс и переходим к его редактированию.
Для начала в Представлении Конфигураций находим Упрощенный процесс и дважды кликаем по нему для начала редактирования. Переходим на закладку Work Breakdown Structure.
Создадим фазы Процесса. Для этого в редакторе выберем Упрощенный процесс и в контекстном меню выберем New Child\Phase. Создадим фазы Начало, Проектирование, Построение и Внедрение.
Теперь добавим к фазам Дескрипторы Задач, определенных в нашей Методике. Для примера добавим Задачу Создать концепцию системы в фазу Начало. Для этого в Представлении Конфигурации Методик откроем лист Disciplines\Uncategorized Tasks\Создать концепцию системы и перенесем его (drug and drop) на фазу Начало в редакторе, см. Рисунок9. Аналогичным образом добавим Дескрипторы, перечисленные в Таблице 4.
Рисунок 9 Добавление к процессу Дескриптора
Таблица 4 Дескрипторы
Фаза |
Задача |
Начало |
Создать концепцию системы |
Определить требования к системе | |
Создать архитектуру системы | |
Создать план тестирования | |
Создать план проекта | |
Проектирование |
Создать концепцию системы |
Создать прототип | |
Протестировать разработанный код | |
Определить требования к системе | |
Создать архитектуру системы | |
Создать план тестирования | |
Создать план проекта | |
Построение |
Закодировать требования |
Протестировать разработанный код | |
Внедрение |
Установить продукт в среде заказчика |
Протестировать разработанный код |
Можно заметить, что мы добавили к разным Фазам процесса Дескрипторы одних и тех же Задач. Это сделано для иллюстрации переопределения свойств и взаимосвязей элементов Методик в Процессе посредством Дескрипторов.
Для переопределения свойств нужно выделить Дескриптор в окне редактора и изменить его свойства в окне Properties (Для активации окна выберите Window \ Show View \ Other \ Properties). Для иллюстрации переопределим свойства нескольких Дескрипторов как показано в Таблице 5. (В приложенном к статье примере можно ознакомится с переопределением свойств остальных Дескрипторов)
Таблица 5 Переопределение свойств Дескрипторов
Фаза |
Дескриптор |
Вкладка |
Поле |
Значение |
Начало |
Создать концепцию системы |
Documentation |
Brief description |
Заказчик определяет свою основную проблему, которую должен решить продукт, как он будет выглядеть и кем использоваться |
Проектирование |
Создать концепцию системы |
Documentation |
Brief description |
Руководитель команды уточняет концепцию системы: границы системы, кому нужна система и во что она обойдется, а также ограничения, которых нужно придерживаться |
Roles |
Primary Performer |
Руководитель команды | ||
Additional Performers |
Заказчик | |||
Начало |
Определить требования к системе |
Нужно определить несколько (3-5) наиболее критичных требований к системе, без которых конечный продукт не будет приносить пользы заказчику. | ||
Проектирование |
Протестировать разработанный код |
Documentation |
Brief description |
На этой фазе тестируется прототип относительно возможности предоставления уже определенных наиболее критичных требований и ограничений. |
Work Products |
Mandatory Input |
Прототип системы; План тестирования | ||
Внедрение |
Протестировать разработанный код |
Documentation |
Brief description |
Заказчик проводит приемочное тестирование продукта |
Roles |
Primary Performer |
Заказчик | ||
Work Products |
Mandatory Input |
Продукт | ||
Output |
Дефекты;Заказчик принял продукт |
В данный момент модель жизненного цикла нашего Процесса представляет водопад, но мы можем добавить в него элементы итеративности. Например, мы можем добавить Итерации на фазе Построение. Для этого создадим в фазе Построения Итерацию Итерации Разработки - с помощью контекстного меню Child \ Iteration. Далее вырежем Дескрипторы Закодировать требования и Протестировать разработанный код и скопируем их в Итерацию. Также можно ввести Итерации по уточнению требований в фазу Проектирование для Дескрипторов Создать прототип, Протестировать разработанный код и Определить требования к системе.
Для упрощения восприятия Процесса можно создать диаграммы. Для этого, выделяем в редакторе Процесса Процесс, Фазу, Итерацию или Активность, выбераем в контекстном меню Diagrams \ Open Activity Diagram, Diagrams \ Open ActivityDetail Diagram, или Diagrams \ Open Work Product Dependency Diagrams и в появившемся редакторе создадаем диаграмму. На Рисунок 10 показаны диаграммы Activity и Activity Details для фазы Проектирование.
Рисунок 10 Диаграммы для фазы Проектирование
Для публикации сайта, необходимо добавить в определение Конфигурации представление, которое будет отображаться на сайте.
Для начала создадим произвольную категорию (Custom category). В Представлении Библиотеки выделяем лист Custom Categories и в контекстном меню выбираем New\Custom Category. Называем новую категорию Представление методологии. Переходим на вкладку Assign и добавляем в поле Content Elements созданный нами Упрощенный процесс. Теперь в контекстном меню категории Представление методологии выбираем меню New\Custom Category, называем новую категорию Роли, переходим на вкладку Assign и добавляем в поле Content Elements Роли: Заказчик, Разработчик, Руководитель Команды, Тестировщик. Аналогичным образом создаем категории Задачи, Рабочие продукты, Шаблоны. У вас должна получиться структура, аналогичная показанной на Рисунок 11.
Рисунок 11 Структура публикации сайта
Отредактируем Конфигурацию Упрощенная методология. В редакторе переходим на вкладку Views и нажимаем кнопку Add View. В появившемся дереве выбираем созданную нами категорию Представление методологи. Для того чтобы созданное нами представление отображалось по умолчанию, нажимаем на кнопку Make default, сохраняем изменения. Выбираем в меню Configuration\Publish, в первом окне нажимаем Next, указываем название сайта и путь где будет размещен набор html-страниц на диске, нажимаем Finish. В результате должен получится сайт процесса аналогичный показанному на Рисунок 12.
Рисунок 12 Опубликованный сайт процесса
Обратите внимание, что для корректной работы опубликованного сайта на клиентской машине необходимо установить Java Runtime Environment (JRE) [2]
Отличия в метамодели основном связаны с переходом в Rational Method Composer на новую схему организации содержания методик - Unified Method Architecture (UMA), базирующуюся на стандарте SPEM 1.1 (Software Process Engineering Metamodel ) [3]
Activities были переименованы в Tasks. Переименование связано с лучшим отражением терминов принятых в индустрии разработки ПО.
Task’и теперь могут выполняться больше чем одной ролью. В RUP2003 активность моделировалась как операция, выполняемая ролью. Это оказалось достаточно ограниченным способом моделирования человеческой деятельности. Такой подход не позволял выразить некоторые виды работ, выполняемые взаимодействием различных ролей. UMA разрешила эту проблему выделив Task в независимый элемент модели, к которому как ресурсы могут присваиваться выполняющие ее роли. Теперь задаче могут быть присвоены основной исполнитель (для совместимости с предыдущей версией RUP) и несколько дополнительных исполнителей.
Улучшение концепции артефакта. В RUP для продуктов используемых и производимых в процессе разработки ПО применялось только понятие артефакта. UMA расширяет таксономию RUP введением общей концепции рабочего продукта. Рабочие продукты могут быть 3-х типов: Artifact (материальные и не тривиальные рабочие продукты), Deliverable(рабочий продукт, поставляемый заказчику для ревью) и Outcome (рабочий продукт, не имеющий осязаемой формы. Например: Изменены настройки веб-сервиса, ПО установлено в тестовую среду заказчика).
Различная категоризация рабочих продуктов и ролей. В RUP все роли и категории были категорированы по дисциплинам. Однако случается, что артефакты используются в рамках нескольких дисциплин и привязка только к одной дисциплине приводит к путанице. В UMA определены различные категоризации для определений работы (дисциплины(disciplines)), рабочих продуктов (домены (domains) и типы рабочих продуктов (work product kinds)) и ролей (наборы ролей(role sets)).
Процессные компоненты переименованы в Пакеты Методик (MethodPackage). Концепция компонента широко используется во многих стандартах и методологиях. В большинстве случаев компонент используется как абстракция, инкапсулирующая компонент как черный ящик, который можно использовать посредством определенных интерфейсов. RUP определение компонента не удовлетворяет этому критерию черного ящика. Также SPEM стандарт определяет концепцию пакета (package). Для того чтобы быть совместимым с SPEM и следовать общему употреблению концепции компонента в RMC Process component был переименован в Method Content.
Разделение элементов описания процесса и элементов описания методик. В RUP 2003 новый процесс создавался путем определения новой конфигурации и ручного документирования в артефактах отклонений от стандартного RUP. UMA добавляет новые концепции к концепции конфигурации используемой для адаптации процесса. UMA позволяет выбирать для моделируемого процесса какие именно рабочие продукты из пакета методик войдут в каждую фазу, так как можно легко добавлять, удалять и менять порядок элементов в структуре процесса, используя или не используя любые компоненты пакета методик. Такие возможности достигаются путем более четкого отделения элементов методик (например, задач определенных для дисциплин) и применения элементов методик в процессе (выраженного через диаграммы активностей и WBS) также как моделирование процесса (т.е. создание новых или адаптация диаграмм активностей или WBS’ов). Это вводит несколько новых концепций, таких как дескрипторы (work product descriptor, task descriptor), которые поддерживают разделение и достижение новых возможностей по поддержке и повторному использованию различных семей и подпроцессов внутри одной конфигурации.
Workflow details переименованы в Activities. Из за того, что слово Activity наиболее часто используется для элементов диаграмм активности и для самих этих диаграмм.
В статье рассмотрено применение Rational Method Composer для создания упрощенного процесса разработки и его публикации.
Автор не претендует на точность использования терминологии. Рассматриваемый пример является учебным и может содержать неточности, его целью является быстрое введение в моделирование процесса, а не создание полноценной модели процесса разработки.