Отношение ассоциации обозначается сплошной линией с дополнительными специальными символами, которые характеризуют отдельные свойства конкретной ассоциации. Это могут быть имя ассоциации, а также имена и кратность классов-ролей ассоциации. Имя ассоциации является необязательным, но если оно задано, то записывается с прописной (заглавной) буквы рядом с линией соответствующей ассоциации.
Ассоциация, связывающая два класса (или класс с самим собой), называется бинарной. Для бинарной ассоциации на диаграмме может быть указан порядок следования классов с использованием треугольника в форме стрелки рядом с именем данной ассоциации. Направление этой стрелки указывает на порядок классов, один из которых является первым (со стороны основания треугольника), а другой — вторым (со стороны вершины треугольника). Отсутствие данной стрелки рядом с именем ассоциации означает, что порядок следования классов в рассматриваемом отношении не определен.
На рисунке 8.4 показано отношение бинарной ассоциации между классом «Группа» и классом «Студент». Они связаны между собой бинарной ассоциацией «Учеба», имя которой указано на рисунке над линией ассоциации. Порядок следования классов в данном отношении таков: первым является класс «Студент», а вторым — класс «Группа».
Рисунок 8.4 - Графическое изображение отношения бинарной ассоциации между классами
Можно, хотя это редко бывает необходимо, создавать ассоциации, связывающие сразу несколько классов; они называются УУ-арными. УУ-арная ассоциация графически обозначается ромбом, от которого к символам классов данной ассоциации ведут линии. В этом случае ромб соединяется с символами соответствующих классов сплошными линиями. Имя ТУ-арной ассоциации записывается рядом с ромбом соответствующей ассоциации.
Пример тернарной ассоциации показан на рисунке 8.5. Здесь изображено отношение между тремя классами: «Футбольная команда», «Год» и «Игра», которое может представлять информацию об играх футбольных команд в национальном чемпионате в течение нескольких последних лет.
Рисунок 8.5 - Графическое изображение тернарной ассоциации между тремя классами
Наиболее важные свойства ассоциации указываются на диаграмме рядом с этими элементами ассоциации и должны перемещаться вместе с ними.
К таким свойствам относятся:
В рассмотренном ранее примере (см. рис. 8.2) кратность «1» для класса «Группа» означает, что каждый студент может учиться только в одной группе. Кратность «1..*» для класса «Студент» означает, что в каждой группе могут учиться несколько студентов, общее число которых заранее неизвестно и ничем не ограничено, но всегда больше нуля.
На диаграмме классов может присутствовать так называемая исключающая ассоциация (Xor-association). Она означает, что из нескольких потенциально возможных вариантов данной ассоциации в каждый момент времени может использоваться только один ее экземпляр. Исключающая ассоциация изображается пунктирной линией, соединяющей две ассоциации и более, рядом с которой записывается строка-ограничение {хог}.
Например, счет в банке может быть открыт для клиента, в качестве которого может выступать физическое лицо или компания, что изображается с помощью исключающей ассоциации (рис. 8.6).
Рисунок 8.6 - Графическое изображение исключающей ассоциации между тремя классами
Специальной формой или частным случаем отношения ассоциации является отношение агрегации, которое, в свою очередь, тоже имеет специальную форму - отношение композиции. Поскольку эти отношения имеют свои специальные обозначения и относятся к базовым понятиям языка UML, рассмотрим их последовательно.