Направление стрелки ассоциации в диаграммах классов UML - PullRequest
10 голосов
/ 15 декабря 2009

На этой веб-странице, на которой показано, как нарисовать диаграмму классов, почему стрелка ассоциации указывает на заказ, а не на клиента?

Учебное пособие по UML - диаграммы классов

Ответы [ 7 ]

13 голосов
/ 19 января 2017

Стрелками обозначена навигация.

  • Навигационный конец обозначен открытой стрелкой на конце ассоциации
  • Не судоходный конец обозначен маленьким х на конце ассоциации
  • Отсутствие украшений на конце ассоциации означает неуказанную навигацию

UML Arrow association direction

Взято из: http://www.uml -diagrams.org / association.html

8 голосов
/ 19 февраля 2010

Это может помочь:

Диаграммы классов UML: Руководство : http://msdn.microsoft.com/en-us/library/dd409416%28VS.100%29.aspx

Свойства Ассоциации

Доступен для навигации : если true только для одной роли, в навигационном направлении появляется стрелка. Ассоциация может быть прочитана в этом направлении. Вы можете использовать это, чтобы указать навигацию ссылок и связи с базой данных в программном обеспечении.

Свойства ассоциаций в диаграммах классов UML : http://msdn.microsoft.com/en-us/library/dd323862%28VS.100%29.aspx

alt text

Если одна роль является навигационной, а другая - нет, появляется стрелка (7) на ассоциации в навигационной системе. направление.

7 голосов
/ 15 декабря 2009

Это потому, что заказ "имеет" ссылку на клиента.

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

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

6 голосов
/ 15 декабря 2009

Стрелки описывают способы навигации. Таким образом, в этой схеме вы можете перейти от заказа к клиенту. И для другого пути: стрелка без означает НЕ «не судоходный», а «без комментариев». Нет определенного правильного способа сделать это.

0 голосов
/ 15 декабря 2009

Концы ассоциаций имеют логическое свойство навигации в UML. В этом случае навигация в направлении клиента к заказу установлена ​​в значение true, а навигация в направлении клиента к заказу установлена ​​в значение false.

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

Если мы посмотрим на код Java для этой модели, то удобство навигации будет проще для понимания. В данном примере эта навигация означает, что у Order есть атрибут типа Customer, но у Customer нет атрибута collection для хранения его / ее заказов

0 голосов
/ 15 декабря 2009

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

0 голосов
/ 15 декабря 2009

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

...