Направление ассоциации arrow в диаграммах классов UML

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

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

Ответ 1

Стрелки описывают навигацию.

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

направление ассоциации UML Arrow

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

Ответ 2

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

Диаграммы классов 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) в навигационном направлении.

Ответ 3

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

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

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

Ответ 4

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

Ответ 5

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

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

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

Ответ 6

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

Ответ 7

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