Поделиться через


Практическое руководство. Интеграция моделей UML с другими моделями и средствами

UML-модели можно интегрировать с другими моделями или с доменными языками.

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

  • Присоединение ссылок от любого элемента на другие элементы, например файлы, или на элементы в других моделях.
    В элементе UML можно сохранять ссылки на другие элементы, файлы UML или другие объекты путем кодирования их идентификаторов в виде строк.

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

    Существует два способа сохранения строк и других данных в любом элементе.

    • Свойства стереотипов. Можно определить профиль UML, в котором определяется стереотип, добавляющий свойства в элементы UML указанных типов. Например, можно определить профиль, добавляющий свойство MoreDetail в действие UML. Можно написать код расширения, который сохраняет данные ссылок в действии, применяя к этому действию стереотип и затем сохраняя данные в свойстве.

      Стереотип и его свойства видны пользователю в окне свойств.

      Чтобы развернуть это расширение, следует упаковать определение профиля и код расширения в одном расширении Visual Studio.

      Дополнительные сведения см. в разделе Практическое руководство. Определение профиля для расширения UML.

      Пример проекта, где профиль развернут с командами меню и обработчиками жестов, см. в разделе Sample: UML Profiles.

    • Ссылки. К любому элементу UML можно присоединить ряд строк. Можно написать код, сохраняющий такие сведения, как имя файла или GUID другого элемента. Это можно сделать без предоставления дополнительных определений. Ссылки непосредственно не видны пользователю.

      Дополнительные сведения см. в разделе Практическое руководство. Присоединение строк ссылок к элементам модели. Пример см. в статье Link UML Elements to Diagrams or other Files.

    Существует два способа кодирования ссылок на элементы модели.

    • GUID и имя файла целевого элемента модели и модели, содержащей этот элемент, или конкретной схемы, отображающей элемент.

      Пример см. в статье Link UML Elements to Diagrams or other Files.

    • Ссылка на ModelBus. ModelBus — это платформа для создания и разрешения ссылок между моделями. Она содержит средство выбора ModelBus, позволяющее пользователю выбрать элемент в модели, а также помогает пользователю разрешать ссылки, которые теряются из-за изменений в целевой модели.

      Дополнительные сведения см. в разделе Интеграция моделей с помощью Visual Studio Modelbus.

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

    1. Правила VMSDK можно использовать для распространения изменений внутри одной модели.

      Пример см. в статье Link UML Elements to Diagrams or other Files.

    2. События VMSDK можно использовать для распространения изменений за пределы модели, например для изменения имени файла связанного документа или изменения элемента в другой модели.

    Сведения об этих механизмах см. в разделе Практическое руководство. Реагирование на изменения в UML-модели.

  • Перетаскивание элементов из одной модели в другую для копирования
    Пользователю можно разрешить создавать элементы путем их перетаскивания в схему UML. Созданный элемент не должен быть копией исходного. Например, можно разрешить пользователю перетаскивать схему деятельности из обозревателя решений в другую схему деятельности для создания нового действия.

    Дополнительные сведения см. в разделах Практическое руководство. Определение обработчика перетаскивания и двойного щелчка на схеме моделирования и Практическое руководство. Добавление обработчика перетаскивания.

Примеры

Пример кода см. в статье Link UML Elements to Diagrams or other Files. В примере пользователям разрешается перетащить файл в любой элемент UML и затем открыть этот файл, дважды щелкнув элемент. Например, можно связать схему деятельности с элементом варианта использования. Значок показывает, в каких элементах имеются ссылки.

В этом примере кода демонстрируются следующие методы.

Пример, в котором UML-модель считывается с помощью языка DSL, см. в разделе Практическое руководство. Добавление обработчика перетаскивания.

См. также

Основные понятия

Практическое руководство. Определение команды меню на схеме моделирования

Другие ресурсы

Практическое руководство. Определение обработчика перетаскивания и двойного щелчка на схеме моделирования

Практическое руководство. Добавление обработчика перетаскивания

Практическое руководство. Реагирование на изменения в UML-модели

Sample: UML Profiles

Link UML Elements to Diagrams or other Files