Учебники

3) Отношения UML

Что такое UML Relationship?

Отношения в UML используются для представления связи между структурными, поведенческими или группирующими вещами. Это также называется ссылкой, которая описывает, как две или более вещи могут относиться друг к другу во время выполнения системы. Тип отношений UML: Ассоциация, Зависимость, Обобщение и Реализация.

Давайте изучим их подробно

  • ассоциация

Это набор ссылок, которые связывают элементы модели UML. Он также определяет, сколько объектов принимают участие в этом отношении.

  • зависимость

В зависимости зависимости, как следует из названия, два или более элементов зависят друг от друга. При таком типе отношений, если мы вносим изменения в конкретный элемент, вероятно, что все остальные элементы также будут затронуты этим изменением.

  • Обобщение

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

  • реализация

В отношениях реализации UML одна сущность обозначает некоторую ответственность, которая не реализована сама собой, а другая сущность реализует их. Эта связь чаще всего встречается в случае интерфейсов.

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

ассоциация

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

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

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

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

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

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

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

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

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

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

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

Пример:

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

зависимость

Используя отношение зависимости в UML, можно объяснить, как различные вещи в конкретной системе зависят друг от друга. Зависимость используется для описания отношений между различными элементами в UML, которые зависят друг от друга.

Стереотипы

  • « Bind » — Bind — это ограничение, которое указывает, что источник может инициализировать шаблон в целевом местоположении, используя предоставленные параметры или значения.
  • «Производная» — представляет, что местоположение исходного объекта может быть вычислено из целевого объекта.
  • «Друг» — указывает, что источник имеет уникальную видимость в целевом объекте.
  • «InstanceOf» — указывает, что экземпляр целевого классификатора является исходным объектом.
  • «Instantiate» — указывает, что исходный объект способен создавать экземпляры целевого объекта.
  • «Уточнение» — указывает, что исходный объект имеет исключительную абстракцию, чем у целевого объекта.
  • «Use» — используется при создании пакетов в UML. Стереотип использования описывает, что элементы исходного пакета также могут присутствовать внутри целевого пакета. Он описывает, что пакет с исходным кодом использует некоторые элементы целевого пакета.
  • «Замена» — указывает, что клиент может быть заменен поставщиком во время выполнения.
  • «Доступ» — указывает, что исходный пакет обращается к элементам целевого пакета, который также называется частным слиянием.
  • «Import» — указывает, что цель может импортировать элемент исходного пакета, как они определены внутри цели, которая также называется публичным слиянием.
  • «Разрешение» — указывает, что элемент источника имеет доступ к элементу поставщика независимо от заявленной видимости поставщика.
  • «Extension» — помогает указать, что цель может расширять поведение исходного элемента.
  • «Include» — позволяет указать исходный элемент, в который может быть включено поведение другого элемента в указанном месте. (аналогично вызову функции в c / c ++)
  • «Становиться» — указывает, что цель похожа на источник с разными ценностями и ролями.
  • «Call» — указывает, что источник может вызывать метод целевого объекта.
  • «Copy» — указывает, что целевой объект является независимым, копия исходного объекта.
  • «Параметр» — поставщик является параметром клиентских операций .
  • «Отправить» — клиент — это операция, которая отправляет поставщику неустановленную цель.

Стереотипы среди государственной машины

  • «Отправить» — указывает, что исходная операция отправляет целевое событие.

Обобщение

Это отношения между общей сущностью и уникальной сущностью, которая присутствует внутри системы.

В обобщающих отношениях может быть реализована объектно-ориентированная концепция, называемая наследованием . Отношения обобщения существуют между двумя объектами, также называемыми сущностями или вещами. В обобщающих отношениях одна сущность является родителем, а другая — дочерней. Эти объекты могут быть представлены с использованием наследования.

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

Этот тип отношений все вместе известен как обобщающие отношения.

Стереотипы и их ограничения

  • «Реализация» — этот стереотип используется для представления того, что дочерняя сущность реализуется родительской сущностью путем наследования структуры и поведения родительского объекта без нарушения правил. Обратите внимание, что этот стереотип широко используется в одиночном наследовании .

Отношение обобщения содержит такие ограничения, как полное, неполное, чтобы проверить, включены ли все дочерние объекты в отношение или нет.

реализация

В отношениях реализации UML одна сущность обозначает некоторую ответственность, которая не реализована сама собой, а другая сущность реализует их. Эта связь чаще всего встречается в случае интерфейсов.

Реализация может быть представлена ​​двумя способами:

  • Использование канонической формы
  • Использование формы elided

На приведенной выше схеме бизнес-правила учетной записи реализуют интерфейс IRuleAgent.

Типы реализации:

  1. Каноническая форма

    В отношениях реализации UML каноническая форма используется для реализации интерфейсов в системе. Он использует стереотип интерфейса для создания интерфейса, а отношения реализации используются для реализации конкретного интерфейса.

    В канонической форме отношение реализации обозначается с помощью пунктирной направленной линии с большой открытой стрелкой.

    На приведенной выше схеме интерфейс Iruleagent реализован с использованием объекта, называемого бизнес-правилами учетной записи.

  2. Избранная форма

    Реализация на диаграмме классов UML также может быть показана с использованием формы elided. В форме исключения интерфейс обозначается с помощью круга, который также называется обозначением леденца на палочке.

    Этот интерфейс, когда реализован с использованием чего-либо, присутствующего внутри системы, создает элитную структуру.

    На приведенной выше схеме интерфейс Iruleagent обозначен с использованием элидируемой формы, которую реализует acctrule.dll.

Сочинение

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

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

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

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

Папка — это структура, в которой содержится n файлов. Папка используется для хранения файлов внутри нее. Каждая папка может быть связана с любым количеством файлов. В компьютерной системе каждый отдельный файл является частью как минимум одной папки внутри системы организации файлов. Этот же файл также может быть частью другой папки, но это не обязательно. Всякий раз, когда файл удаляется из папки, папка остается неизменной, тогда как данные, относящиеся к этому конкретному файлу, уничтожаются. Если операция удаления выполняется для папки, то она также влияет на все файлы, которые находятся внутри папки. Все файлы, связанные с папкой, автоматически удаляются после удаления папки из системы.

Этот тип отношений в UML известен по сложным отношениям агрегации.

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

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

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

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

Резюме

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