АГРЕГАЦИОННЫЕ ОТНОШЕНИЯ

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

Чтобы определить, является ли ассоциативная связь агрегационной, воспользуйтесь следующими тестовыми вопросами:

1. Можно ли применить фразу "часть от", чтобы описать отношение?

2. Происходит ли автоматическое применение некоторых операций над целым к его частям (например, удаление предмета ведет к удалению всех относящихся к нему учебных курсов?

3. Существует ли выраженная асимметрия в отношении, когда один класс подчинен другому?

Например, предмет (математика 101) может читаться несколько раз в течение течение семестра. Каждый курс лекций по предмету представлен как учебный курс (то есть математика 101, раздел 1 или математика 101, раздел 2) Отношения между предметом и учебным курсом моделируются как агрегация - предмет содержит несколько учебных курсов.

Для создания агрегационных отношений в программе Rational Rose:

1. На панели инструментов щелкните по кнопке Aggregation (Агрегация). Если она отсутствует, щелкните правой кнопкой мыши по панели инструментов и в появившемся контекстном меню выберите команду Customize (Настройка) для добавления кнопки.

2. На диаграмме классов щелкните по классу, выступающему в качестве целого, и перетащите возникшую линию агрегационной связи на класс, являющийся частью.

Агрегационное отношение между классами показано на рис. 4.2.

Рис.4.2

Ассоциация или агрегация

Если два класса жестко связаны отношением "целое-часть" - это типичное агрегационное отношение. Является ли отношение ассоциацией или агрегацией, часто зависит от предметной области. Какой тип отношений нужно выбрать для моделирования машины и шин? Если система предназначена для сервисного центра, и единственная причина, по которой вы рассматриваете шины, - их принадлежность к обслуживаемой машине, отношение должно быть агрегацией. Однако, если система предназначена для магазина шин, вы будете рассматривать шины независимо от автомобиля. Следовательно, отношение должно быть ассоциативным.


3098313579438506.html
3098340052569297.html
    PR.RU™