Расширение моделей и схем UML

В этом разделе обобщены сведения о различных способах расширения средств моделирования UML в Visual Studio Ultimate.

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

При запуске нового проекта команда специалистов Fabrikam создает модель UML, которая поможет им обсуждать эти требования между собой и в общении с клиентом.Чтобы представить поток багажа, команда использует схемы активности, на которых узлы объекта представляют каждый элемент оборудования.Модель UML не представляет код системы напрямую.

Команда специалистов по разработке инструментов компании Fabrikam вносит ряд усовершенствований, чтобы помочь командам разработчиков.В следующих разделах описываются различные виды расширений, которые можно определить.Несколько таких методик можно объединить в одно расширение Visual Studio.

Дополнительные сведения см. в разделе this видеоматериалы: ссылка на видеоРяд разделов справки MSDN: средства и расширяемость UML.

Требования

Профили

Профили позволяют определять стереотипы и дополнительные свойства UML-элементов.

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

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

Настраиваемые элементы панели элементов

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

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

Проверка

Можно определить правила, которые помогают удостовериться, что модель UML соответствует заданным ограничениям.

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

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

Команды меню

Можно определять команды, которые можно вызвать щелчком элемента на UML-схеме правой кнопкой мыши.Команды могут обновлять модель и схемы или совершать другие операции в Visual Studio.

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

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

Жесты

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

Члены команды в компании Fabrikam могут связывать файл (например, спецификацию) с любым элементом модели. Для этого нужно перетащить файл с рабочего стола Windows.Разработчики инструментов определили стереотип, предоставляющий каждому элементу свойство File Path и жест, задающий стереотип и путь к файлу при сбрасывании файла на элемент.

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

Реакция на изменения

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

Разработчики Fabrikam создают код, который автоматически задает цвет элемента в зависимости от его стереотипа.Благодаря этому пользователям становится проще различать роли, выполняемые элементами моделей.

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

Шина модели

Шина модели позволяет осуществлять доступ к схеме или модели из другой схемы или другого расширения Visual Studio.Помимо всего прочего, это позволяет распространять сведения в нескольких моделях, чтобы несколько людей могли одновременно работать над объединенной моделью.

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

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

Создание

В модели можно создавать программный код, скрипты, конфигурации, документы, новые модели и другие артефакты.

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

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

Интеграция Team Foundation Server

Рабочие элементы можно связать с элементами модели и осуществлять программный доступ к связанным элементам.

Разработчики инструментов компании Fabrikam разрабатывают инструмент, который создает график работы для каждого проекта аэропорта.Рабочие элементы в графике связаны с элементами модели.

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

Средства обновления моделей

Можно создать независимые приложения и расширения Visual Studio, позволяющие загружать модели UML.

Разработчики инструментов компании Fabrikam's создают инструмент, позволяющий читать модель и создавать отчеты о ходе выполнения работ по каждому элементу модели.

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

Доменные языки

Если часто используется определенный тип модели, имеет смысл создать доменный язык.Доменный язык больше подходит для удовлетворения бизнес-потребностей пользователя, чем модель UML, однако на его создание и обслуживание требуется больше усилий.Дополнительные сведения см. в разделе Пакет SDK визуализации и моделирования — доменные языки.

Внешние ресурсы

Категория

Ссылки

Видеоклипы

ссылка на видео

ссылка на видео

Форумы

Блоги

Visual Studio ALM + Блог Team Foundation Server

Технические статьи и журналы

The Architecture Journal - Issue 23: Architecture Modeling and Processes

Другие сайты

Центр архитекторов на MSDN

См. также

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

Разработка моделей для программного проектирования

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

Справочник по API для расширения моделей UML