5.3.1 Ассоциации
Ассоциация использована для описания отношения между двумя классами и более. Язык UML определяет три различных типа отношений, называемых ассоциацией, агрегацией и композицией. Эти три типа обладают различной семантикой. Простая ассоциация использована для представления общего отношения между двумя классами. Ассоциации агрегации и композиции применяют для создания отношений части-целого между двумя классами. Направление ассоциации должно быть обозначено. Если направление не обозначено, то считается, что это двухсторонняя ассоциация. Если подразумевается односторонняя ассоциация, то направление ассоциации отмечается стрелкой на конце линии.
Ассоциация агрегации является отношением между двумя классами, в котором один из классов играет роль контейнера, а другой - роль содержимого контейнера.
Ассоциация композиции представляет собой сильную агрегацию. В ассоциации композиции, если объект-контейнер удаляется, то удаляются также все объекты, составляющие содержимое этого контейнера. Ассоциация композиции используется, если объекты, представляющие части объекта-контейнера, не могут существовать без такого объекта-контейнера.
5.3.2 Генерализация
Генерализация - это отношение между суперклассом и подклассами, которые могут им заменяться. Суперкласс является генерализованным классом, а подклассы - заданными классами.
5.3.3 Создание экземпляра (lnstantiation)/зависимость (Dependency)
Отношение зависимости показывает, что клиентский класс зависит от класса/интерфейса поставщика в части оказания определенных сервисов, например:
- клиентский класс получает доступ к чему-то (постоянному или переменному), определенному в классе/интерфейсе поставщика;
- операции клиентского класса активизируют операции класса/интерфейса поставщика;
- операции клиентского класса имеют сигнатуры, чьи возвращаемые класс или аргументы являются экземплярами класса/интерфейса поставщика.
Отношение создания экземпляра объекта представляет акт замещения фактических значений параметров параметрического класса или утилиты параметрического класса для создания специализированной версии из более общего элемента.
5.3.4 Роли
Если ассоциация задана в одном направлении, модель получает "имя роли", соответствующее роли целевого объекта по отношению к исходному объекту. Таким образом, ассоциация, заданная в обоих направлениях, будет иметь два имени роли. На рисунке 2 показано, как имена ролей и мощности выражаются в диаграммах UML.
Рисунок 2 - Роли UML