Общие структуры UML

Описание языка состоит из двух частей:

1) семантика языка – представляет собой некоторую метамодель, которая определяет абстрактный синтаксис и семантику понятий объектно-ориентированного моделирования;

2) нотация языка – представляет собой графическую нотацию для визуального представления семантики языка. Формальное описание самого языка основывается на общей иерархической структуре модельных представлений, состоящих из 4-ех определенных уровней:

· метаметамодель;

· метамодель;

· модель;

· объекты пользователя;

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

Метамодель является экземпляром или конкретизацией метамодели. Главная задача этого уровня – определить язык для спецификации модели. Этот уровень является более конструктивным, т. к. обладает более развитой семантикой базовых понятий.

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

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

Модель языка имеет довольно сложную структуру, которая включает в себя порядка 90 метаклассов, более 100 метаассоциаций и почти 60 стереотипов, число которых возрастает с появлением новых версий языка. Чтобы справиться с этой сложностью, все его элементы организованы в логические пакеты (блоки) – основные элементы поведения и общие механизмы. Пакеты, также как и другие элементы модели, могут быть вложены в другие пакеты. Каждый пакет владеет всеми своими элементами. Про соответствующие пакеты говорят, что они принадлежат пакету или входят в него. При этом каждый элемент пакета может принадлежать только одному пакету. Пакеты, вложенные в другие пакеты, называются подпакетами, тем самым для элементов пакета отношения вложенности представляют собой иерархию.

В UML для визуализации пакета разработана специальная символика или графическая нотация. Для графического изображения пакета на диаграмме применяется специальный графический символ. Одним из типов отношений между пакетами являются отношения вложенности и включение пакетов друг в друга.

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

Хорошим примером стереотипа может послужить концепция интерфейса. Интерфейс представляет собой класс, который обладает только операциями, но не имеет атрибутов. Допустим, существует набор операций, который можно повторно использовать в модели. Вместо включения нового элемента для представления интерфейса, можно использовать изображение класса с надписью «интерфейс», размещенной прямо над именем класса.


Основные пакеты метамодели UML:

1) пакет «Основные элементы» – делится на следующие подпакеты:

– Подпакет «Элементы ядра»является наиболее функциональным из всех пакетов. Он определяет абстрактный и конкретный компоненты, необходимые для разработки объектных моделей, при этом абстрактные компоненты метамоделей не имеют экземпляров или примеров и используются исключительно для уточнения других компонентов моделей. В этот пакет входят основные метаклассы языка: класс, атрибут, ассоциации класса, конец ассоциации, свойства поведения, классификатор, ограничения, тип данных, производство имен, операции, структурные свойства, зависимость, элемент, право на элемент, свойство, обобщение, элемент отношения обобщения, интерфейс, метод, элемент модели, параметр и правило правильного построения выражений;

– Подпакет «Вспомогательные элементы» – в этот пакет входят метаклассы: связывание, комментарии, класс-компонент, узел, презентация, элемент модели, уточнение, цепочка зависимости, потребление, элемент представления, зависимость и правило правильности построения выражений;

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

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

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

2) пакет «Элементы поведения». Самостоятельная компонента языка, которая специфицирует динамику поведения и состоит из четырех подпакетов:

– общие поведения;

– кооперации;

– порядок использования;

– автоматы;

3) пакет «Общие поведения» является наиболее фундаментальным из всех подпакетов и определяет базовые понятия ядра, необходимые для всех элементов поведения. В пакет «Общие поведения» входит большое число элементов, таких как объект, действие, последовательность действий, связь, значение данных, связь атрибутов, действия вызова, действия создания, действия уничтожения.



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



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