Компонент в UML, который определяет интерфейс, но не требует или не предоставляет его - PullRequest
0 голосов
/ 17 декабря 2018

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

  • Один компонент реализует интерфейс IPrint, поэтому «обеспечивает» его
  • Один компонент использует интерфейс IPrint, поэтому «требует» его

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

Однако теперь я хочу выделить третий компонент, который определяет интерфейс (я хочу подчеркнуть, что между требованием и предоставлением компонента нет зависимости)

Как лучше всего рисоватьэто с UML 2.0?Моя первая попытка показана здесь со стрелкой реализации

enter image description here

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

Вот моя попытка, основанная на ответе Гирта:

enter image description here

Вот моя третья попытка, основанная на комментарии Бруно:

enter image description here

1 Ответ

0 голосов
/ 18 декабря 2018

То, что вы ищете, это отношение владения.
Интерфейс принадлежит компоненту, который «определяет», как вы его называете.enter image description here

В метамодели из UML 2.5 и выше ваш интерфейс играет роль packagedElement в отношении третьего компонента.Компонент действует как namespace для интерфейса

Это отношение не визуально представлено, а выражается тем фактом, что элемент интерфейса вложен в элемент компонента.(есть обозначение вложенности, но оно редко используется и вряд ли определено в спецификации)

...