Отношения UML с ПРИМЕРОМ: Зависимость, Обобщение, Реализация

Что такое отношения UML?

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

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

  • Ассоциация

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

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

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

  • Обобщение

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

  • Реализация

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

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

  • Ассоциация
  • Зависимость
  • Обобщение
  • Реализация
  • Сочинение
  • Агрегирование

Ассоциация

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

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

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

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

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

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

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

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

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

В направленном объединении поток направлен. Связь от одного класса к другому классу течет только в одном направлении.

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

Пример:

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

Зависимость

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

Стереотипы

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

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

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

Обобщение

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

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

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

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

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

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

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

Реализация

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

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

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

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

Виды реализации:

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

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

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

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

  2. Исключенная форма

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

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

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

Сочинение

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

Составная агрегация - это подтип отношения агрегации с такими характеристиками, как:

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

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

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

Этот тип отношения в UML известен как отношение составного агрегирования.

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

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

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

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

Резюме

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

Интересные статьи...