Учебники

4) Ассоциация UML против Агрегации против Композиции

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

Ниже приведены различные типы стандартных отношений в UML,

  • ассоциация
  • зависимость
  • Обобщение
  • реализация

Помимо этого, UML позволяет использовать агрегацию и композиционные отношения.

В этом уроке по UML вы узнаете:

ассоциация

Это структурные отношения, которые представляют объекты, которые могут быть связаны или связаны с другим объектом внутри системы. Следующие ограничения могут быть применены к отношениям ассоциации.

  • {неявный}неявные ограничения указывают, что связь не является манифестом; это основано на концепции.
  • {упорядоченный} — Упорядоченные ограничения указывают, что набор объектов на одном конце ассоциации определенным образом.
  • {changeable} — Ограничение Changeable указывает, что соединение между различными объектами в системе может быть добавлено, удалено и изменено в соответствии с требованием.
  • {addOnly} — указывает, что новые соединения могут быть добавлены из объекта, который находится на другом конце ассоциации.
  • {заморожено} — указывает, что когда ссылка вставляется между двумя объектами, она не может быть изменена, пока замороженное ограничение активно для данной ссылки или соединения.

Мы также можем создать класс, который имеет свойства ассоциации; это называется как ассоциативный класс.

Рефлексивная ассоциация

Рефлексивная ассоциация является подтипом ассоциативных отношений в UML. В рефлексивной ассоциации экземпляры одного и того же класса могут быть связаны друг с другом. Экземпляр класса также называется объектом.

Рефлексивная ассоциация утверждает, что в объектах одного и того же класса может присутствовать ссылка или соединение.

Пример :

Давайте рассмотрим пример сорта фруктов.

У класса фруктов есть два экземпляра, например, манго и яблоко. Рефлексивная ассоциация утверждает, что может присутствовать связь между манго и яблоком, поскольку они являются экземплярами одного и того же класса, например фруктами.

рефлексивная ассоциация

Направленная ассоциация

Как следует из названия, направленная ассоциация связана с направлением потока внутри классов ассоциации.

В направленной ассоциации поток направлен. Ассоциация от одного класса к другому течет только в одном направлении.

Обозначается сплошной линией со стрелкой.

Пример :

Вы можете сказать, что между сервером и клиентом существует целенаправленная связь.

Сервер может обрабатывать запросы клиента. Этот поток является однонаправленным, который передается только от сервера к клиенту. Следовательно, в серверах и клиентах системы могут присутствовать отношения направленной ассоциации.

направленная ассоциация

Сочинение

Это не стандартное отношение UML, но оно все еще используется в различных приложениях.

Составная агрегация является подтипом агрегационной связи с характеристиками как:

  • Это двусторонняя связь между объектами.
  • Это цельное / частичное отношение.
  • Если составная часть удаляется, все остальные части, связанные с ней, удаляются.

Композитная агрегация описывается как бинарная ассоциация, украшенная черным ромбом с заполнением на агрегированном (целом) конце.

Папка может содержать много файлов, в то время как каждый файл имеет ровно одного родителя папки. Если папка удалена, все содержащиеся в ней файлы также удаляются.

В составном объединении объект может быть частью только одного составного за один раз.

Пример :

Например, в оконной системе фрейм принадлежит только одному окну. В составной совокупности вся система отвечает за расположение своих частей, что означает, что составная часть должна управлять созданием и уничтожением своих частей.

сочинение

агрегирование

Агрегация является подтипом отношения ассоциации в UML. Агрегация и состав являются типами ассоциативных отношений в UML. Отношения агрегации можно описать простыми словами как «объект одного класса может владеть или получать доступ к объектам другого класса».

В отношении агрегации зависимый объект остается в области отношения, даже если исходный объект уничтожен.

Пример :

Давайте рассмотрим пример автомобиля и колеса.

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

агрегирование

Ассоциация против агрегации против состава

ассоциация агрегирование Сочинение
Ассоциативные отношения обозначены стрелкой. Отношение агрегации обозначается прямой линией с пустой стрелкой на одном конце. Отношение композиции обозначается с помощью прямой линии с заполненной стрелкой на любом из концов.
Ассоциация может существовать между двумя или более классами в UML. Агрегация является частью ассоциативных отношений. Композиция является частью ассоциативных отношений.
Между классами ассоциаций может присутствовать связь один-один, один-много, много-один и много-много. Агрегация считается слабым типом ассоциации. Композиция считается сильным типом ассоциации.
В отношениях ассоциации один или несколько объектов могут быть связаны друг с другом. В отношении агрегации объекты, которые связаны друг с другом, могут оставаться в области системы друг без друга. В композиционных отношениях объекты, которые связаны друг с другом, не могут оставаться в области друг без друга.
Объекты связаны друг с другом. Связанные объекты не зависят от другого объекта. Объекты сильно зависят друг от друга.
В ассоциации удаление одного элемента может повлиять или не повлиять на другой связанный элемент. В агрегации удаление одного элемента не влияет на другой связанный элемент. В композиции удаление одного элемента влияет на другой связанный элемент.
Пример: учитель связан с несколькими учениками. Или учитель дает инструкции ученикам. Пример: автомобилю нужно колесо, но не всегда одно и то же колесо. Автомобиль может нормально функционировать и с другим колесом. Пример: файл находится внутри папки. Если кто-то удаляет папку, то файл, связанный с данной папкой, также удаляется.

Резюме

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