Агрегационные отношения
Агрегационное отношение — это специальная форма ассоциации между целым и его частью или частями. Агрегация известна как отношение типа «часть от» или «содержит». В языке UML она изображается так же, как ассоциация, но с ромбом на конце линии связи, означающим класс-агрегат (целое), — см. рис. 6.3.

Рис. 6.3. Нотация языка UML для агрегационного отношения
Чтобы определить, является ли ассоциативная связь агрегационной, воспользуйтесь следующими тестовыми вопросами:
1. Можно ли применить фразу «часть от», чтобы описать отношение?
2. Происходит ли автоматическое применение некоторых операций над целым к его частям (например, удаление предмета (Course) ведет к удалению всех относящихся к нему учебных курсов (CourseOffering))?
3. Существует ли выраженная асимметрия в отношении, когда один класс подчинен другому?
Например, предмет (математика 101) может читаться несколько раз в течение семестра. Каждый курс лекций по предмету представлен как учебный курс (то есть математика 101, раздел 1 или математика 101, раздел 2). Отношения между предметом и учебным курсом моделируются как агрегация — предмет содержит несколько учебных курсов.
Для создания агрегационных отношений в программе Rational Rose:
1. На панели инструментов щелкните по кнопке Aggregation (Агрегация). Если она отсутствует, щелкните правой кнопкой мыши по панели инструментов и в появившемся контекстном меню выберите команду Customize (Настройка) для добавления кнопки.
2. На диаграмме классов щелкните по классу, выступающему в качестве целого, и перетащите возникшую линию агрегационной связи на класс, являющийся частью.
Агрегационное отношение между классами показано на рис. 6.4.

Рис. 6.4. Агрегационное отношение