Отношения в диаграмме UML используются для представления связи между различными вещами. Отношения — это связь между такими вещами, как структурные, поведенческие или группирующие вещи в унифицированном языке моделирования.
Ниже приведены различные типы стандартных отношений в UML,
- ассоциация
- зависимость
- Обобщение
- реализация
Помимо этого, UML позволяет использовать агрегацию и композиционные отношения.
В этом уроке по UML вы узнаете:
ассоциация
Это структурные отношения, которые представляют объекты, которые могут быть связаны или связаны с другим объектом внутри системы. Следующие ограничения могут быть применены к отношениям ассоциации.
- {неявный} — неявные ограничения указывают, что связь не является манифестом; это основано на концепции.
- {упорядоченный} — Упорядоченные ограничения указывают, что набор объектов на одном конце ассоциации определенным образом.
- {changeable} — Ограничение Changeable указывает, что соединение между различными объектами в системе может быть добавлено, удалено и изменено в соответствии с требованием.
- {addOnly} — указывает, что новые соединения могут быть добавлены из объекта, который находится на другом конце ассоциации.
- {заморожено} — указывает, что когда ссылка вставляется между двумя объектами, она не может быть изменена, пока замороженное ограничение активно для данной ссылки или соединения.
Мы также можем создать класс, который имеет свойства ассоциации; это называется как ассоциативный класс.
Рефлексивная ассоциация
Рефлексивная ассоциация является подтипом ассоциативных отношений в UML. В рефлексивной ассоциации экземпляры одного и того же класса могут быть связаны друг с другом. Экземпляр класса также называется объектом.
Рефлексивная ассоциация утверждает, что в объектах одного и того же класса может присутствовать ссылка или соединение.
Пример :
Давайте рассмотрим пример сорта фруктов.
У класса фруктов есть два экземпляра, например, манго и яблоко. Рефлексивная ассоциация утверждает, что может присутствовать связь между манго и яблоком, поскольку они являются экземплярами одного и того же класса, например фруктами.
Направленная ассоциация
Как следует из названия, направленная ассоциация связана с направлением потока внутри классов ассоциации.
В направленной ассоциации поток направлен. Ассоциация от одного класса к другому течет только в одном направлении.
Обозначается сплошной линией со стрелкой.
Пример :
Вы можете сказать, что между сервером и клиентом существует целенаправленная связь.
Сервер может обрабатывать запросы клиента. Этот поток является однонаправленным, который передается только от сервера к клиенту. Следовательно, в серверах и клиентах системы могут присутствовать отношения направленной ассоциации.
Сочинение
Это не стандартное отношение UML, но оно все еще используется в различных приложениях.
Составная агрегация является подтипом агрегационной связи с характеристиками как:
- Это двусторонняя связь между объектами.
- Это цельное / частичное отношение.
- Если составная часть удаляется, все остальные части, связанные с ней, удаляются.
Композитная агрегация описывается как бинарная ассоциация, украшенная черным ромбом с заполнением на агрегированном (целом) конце.
Папка может содержать много файлов, в то время как каждый файл имеет ровно одного родителя папки. Если папка удалена, все содержащиеся в ней файлы также удаляются.
В составном объединении объект может быть частью только одного составного за один раз.
Пример :
Например, в оконной системе фрейм принадлежит только одному окну. В составной совокупности вся система отвечает за расположение своих частей, что означает, что составная часть должна управлять созданием и уничтожением своих частей.
агрегирование
Агрегация является подтипом отношения ассоциации в UML. Агрегация и состав являются типами ассоциативных отношений в UML. Отношения агрегации можно описать простыми словами как «объект одного класса может владеть или получать доступ к объектам другого класса».
В отношении агрегации зависимый объект остается в области отношения, даже если исходный объект уничтожен.
Пример :
Давайте рассмотрим пример автомобиля и колеса.
Автомобиль нуждается в колесе, чтобы функционировать правильно, но колесо не всегда нуждается в автомобиле. Его также можно использовать с велосипедом, велосипедом или любым другим транспортным средством, но не с конкретным автомобилем. Здесь объект колеса имеет смысл даже без объекта автомобиля. Такой тип отношений называется отношением агрегации.
Ассоциация против агрегации против состава
ассоциация | агрегирование | Сочинение |
Ассоциативные отношения обозначены стрелкой. | Отношение агрегации обозначается прямой линией с пустой стрелкой на одном конце. | Отношение композиции обозначается с помощью прямой линии с заполненной стрелкой на любом из концов. |
Ассоциация может существовать между двумя или более классами в UML. | Агрегация является частью ассоциативных отношений. | Композиция является частью ассоциативных отношений. |
Между классами ассоциаций может присутствовать связь один-один, один-много, много-один и много-много. | Агрегация считается слабым типом ассоциации. | Композиция считается сильным типом ассоциации. |
В отношениях ассоциации один или несколько объектов могут быть связаны друг с другом. | В отношении агрегации объекты, которые связаны друг с другом, могут оставаться в области системы друг без друга. | В композиционных отношениях объекты, которые связаны друг с другом, не могут оставаться в области друг без друга. |
Объекты связаны друг с другом. | Связанные объекты не зависят от другого объекта. | Объекты сильно зависят друг от друга. |
В ассоциации удаление одного элемента может повлиять или не повлиять на другой связанный элемент. | В агрегации удаление одного элемента не влияет на другой связанный элемент. | В композиции удаление одного элемента влияет на другой связанный элемент. |
Пример: учитель связан с несколькими учениками. Или учитель дает инструкции ученикам. | Пример: автомобилю нужно колесо, но не всегда одно и то же колесо. Автомобиль может нормально функционировать и с другим колесом. | Пример: файл находится внутри папки. Если кто-то удаляет папку, то файл, связанный с данной папкой, также удаляется. |
Резюме
- Отношения это связь между вещами.
- Ассоциация, зависимость, обобщение и реализация — это различные отношения, предоставляемые UML.
- Помимо стандартных отношений, состав и агрегация используются внутри UML.
- Агрегация и состав являются типами ассоциативных отношений в UML.
- Композиция является двусторонним отношением, которое также называется бинарным отношением.