Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Унифицированный язык моделирования (Unified Mod...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.06 Mб
Скачать

Семантика

N-арные ассоциации - это ассоциации между 3 и более классами (один класс может появляться больше одного раза). Каждый экземпляр ассоциации является кортежем n значений из соответствующих классов. Бинарная ассоциация является частным случаем со своей собственной нотацией.

Множественность может определяться и для n-арных ассоциаций, но является менее очевидной, чем двоичная множественность. Множественность на роли представляет потенциальное количество экземпляров кортежей в ассоциации, когда другие N-1 значения фиксированы.

N-арные ассоциации не могут содержать символ конгломерата на любой из ролей.

Нотация

N-арные ассоциации показываются как большой ромб (который часто сравнивается с признаком конца пути) с путем от ромба до каждого класса участника. Название ассоциации (если есть) показывается недалеко от ромба. Украшения роли могут появляться на каждом из путей, как в бинарной ассоциации. Множественность может указываться, однако спецификаторы и конгломерат не допустимы.

Символ класса ассоциации может присоединяться к ромбу пунктирной линией. Это означает n-арную ассоциацию, которая имеет атрибуты, операции и/или ассоциации.

Рекомендации по оформлению

Обычно линии рисуются из вершин ромба или середин его сторон.

Пример

Пример показывает информацию о вратаре спортивной команды во время сезона. Так как вратарь может переходить между командами во время сезона, используется N-арная ассоциация.

Рисунок 22. Тернарная ассоциация, которая также является классом ассоциации

Композиция

Семантика

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

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

Нотация

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

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

rolename ':' classname

Это определяет название роли класса в ассоциации композиции по отношению к составному элементу.

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

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

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

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