Элементы моделей языка UML

Множество элементов моделей языка UML распределены по иерархически организованным пакетам. На верхнем (метамодельном) уровне язык содержит 3 метапакета (рисунок 5): пакет " Основные элементы ", пакет " Элементы поведения " и пакет " Общие механизмы ".

Рисунок 5 – Основные пакеты метамодели языка UML

Эти пакеты, в свою очередь, делятся на отдельные подпакеты. Например, пакет Основные элементы состоит из четырех подпакетов (рисунок 6).

Рисунок 6 – Подпакеты контейнера " Основные элементы "

Пакет " Элементы ядра" является наиболее фундаментальным из всех подпакетов. Он описывает базовые понятия языка и включает основные метаклассы языка UML, перечень которых приведен на диаграмме этого подпакета (рисунок 7).

Рисунок 7 – Структура подпакета " Элементы ядра "


Пакет " Вспомогательные элементы" определяет дополнительные конструкции, которые расширяют базовые элементы для описания зависимостей, шаблонов, физических структур и элементов представлений; пакет " Механизмы расширения " задает правила уточнения и расширения семантики базовых элементов моделей; пакет " Типы данных " определяет основные структуры данных для языка UML.

В качестве еще одного примера компонентов моделей языка UML рассмотрим структуру пакета " Элементы поведения ". Этот пакет является самостоятельным компонентом языка UML (рисунок 5) и, как следует из его названия, специфицирует поведение динамических элементов в нотации UML.

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

Пакет " Элементы поведения " состоит из четырех подпакетов (рисунок 8).

Рисунок 8 – Структура пакета " Элементы поведения "

В подпакете " Общее поведение " определены базовые понятия, необходимые для всех элементов поведения, и специфицирована семантика всех динамических элементов, включенных в другие подпакеты, подчиненные пакету " Элементы поведения ".

В подпакет входит достаточно большое число элементов:

· объект (Object)

· действие (Action)

· последовательность действий (ActionSequence)

· аргумент (Argument)

· экземпляр (Instance)

· исключение (Exception)

· связь (Link)

· сигнал (Signal)

· значение данных (DataValue)

· связь атрибутов (AttributeLink)

· действие вызова (CallAction)

· действие создания (CreateAction)

· действие уничтожения (DestroyAction).

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

Пакет "Кооперации" специфицирует семантику понятий, которые необходимы для ответа на вопрос: " Как различные элементы модели взаимодействуют между собой с точки зрения структуры? " Этот пакет использует конструкции, определенные в пакетах " Основные элементы " (рисунок 6) и " Общее поведение " (рисунок 8).

В пакет входят следующие элементы:

· кооперация (Collaboration)

· взаимодействие (Interaction)

· сообщение (Message)

· роль ассоциации (AssociationRole)

· роль классификатора (ClassifierRole)

· роль конца ассоциации (AssociationEndRole).

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

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

- актер (Actor),

- вариант использования (UseCase),

- расширение (Extension),

- точка расширения (ExtensionPoint),

- включение (Include),

- экземпляр варианта использования (UseCaselnstance).

Более подробно эти понятия будут рассмотрены при изучении диаграмм вариантов использования.

Пакет Автоматы содержит множество понятий, которые необходимы для представления поведения системы в виде конечного числа ее состояний и переходов между ними.

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

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

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

В пакет включены следующие элементы:

автомат (StateMachine),

состояние (State),

простое состояние (SimpleState),

составное состояние (CompositeState),

псевдосостояние (PseudoState),

конечное состояние (FinalState),

событие (Event), переход (Transition).

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



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: