Общая структура языка UML

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

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

С самой общей точки зрения описание языка UML состоит из двух взаимосвязанных и дополняющих друг друга частей:

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

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

Семантика языка определяется для двух категорий объектных моделей: структурных моделей и моделей поведения.

· Структурные (статические) модели описывают структуру сущностей или компонентов некоторой системы, включая их классы, интерфейсы, атрибуты и отношения.

· Модели поведения (динамические) описывают поведение или функционирование объектов системы, включая их методы, взаимодействие и сотрудничество между ними, а также процесс изменения состояний отдельных компонентов и системы в целом.

Язык UML имеет довольно сложную структуру, которая включает в себя более двух сотен элементов, используемых для описания моделей: порядка 90 метаклассов, более 100 метаассоциаций и почти 50 стереотипов, число которых возрастает с появлением новых версий языка. Чтобы справиться с этой сложностью языка UML, все его элементы организованы в логические блоки – так называемые пакеты.

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

Для графического изображения пакетов на диаграммах применяется специальный графический символ – большой прямоугольник с небольшим прямоугольником, присоединенным к левой части верхней стороны первого (рисунок 2). Внутри большого прямоугольника может записываться информация, относящаяся к данному пакету. Если такой информации нет, то внутри большого прямоугольника записывается имя пакета, которое должно быть уникальным в пределах рассматриваемой модели. Если же такая информация имеется, то имя пакета записывается в верхнем маленьком прямоугольнике.

Рисунок 2 - Графическое изображение пакета в языке UML

Перед именем пакета может помещаться строка текста, содержащая некоторое ключевое слово. Подобными ключевыми словами являются заранее определенные в языке UML слова, которые получили название стереотипов. Такими стереотипами для пакетов являются слова facade, framework, stub и topLevel.

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

Между пакетами может быть задано иерархическое отношение вложенности: подчиненные пакеты (" подпакеты ") могут быть вложены в другие пакеты (" метапакеты" или " контейнеры ") - в этом случае все элементы подпакета будут принадлежать метапакету.

Как и в теории графов, для визуализации отношений в языке UML применяются отрезки линий, внешний вид которых имеет определенное смысловое содержание.

На рисунке 3 показано графическое изображение вложенности пакетов. Контейнер "Пакет_1" изображается в верхней части рисунка, а его подпакеты "Пакет_2" и "Пакет_3" – уровнем ниже. Контейнер соединяется с подпакетами сплошной линией, на конце которой, примыкающей к Контейнеру, изображается специальный символ Å. Этот символ означает, что подпакеты являются "собственностью" или частью контейнера, и, кроме этих подпакетов, контейнер не содержит никаких других подпакетов.

Рисунок 3 – Графическое изображение вложенности пакетов

Это же отношение между пакетами может быть изображено и без использования линий - простым размещением одного пакета-прямоугольника внутри другого пакета-прямоугольника (рисунок 4).

Рисунок 4 – Другой вариант графического изображения вложенности пакетов


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



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