2015-02-07 2 views
1

У меня есть следующие классы:Описать ассоциации в диаграмме классов

  • Статья
  • Адрес

Отношения этих двух классов:

  • Статья 1-> 2 Адрес (1 и 2 - кратности, поэтому статья имеет два адреса (адрес доставки &).

Как показать на диаграмме классов, что эти две ассоциации по адресу реализуются объектом, называемым pickupAddress и handoverAddress, и этот handoverAddress является необязательным? Возможно ли это?

+1

Что вы подразумеваете под "реализованным объектом". Объект - это экземпляр, а не реализация. –

+0

Должен ли я сказать «понял»? Я хочу показать, что первая ассоциация выполняется переменной pickupAddress (адрес типа), а вторая ассоциация выполняется переменной handoverAddress (адрес типа). – mosquito87

+0

Если вы замените реализованное, то оно будет таким же. Преступником является «объект». Объект является экземпляром класса. Некоторые «реальные» вещи. Наследование ассоциаций может быть показано соответствующими свойствами (которые представляют собой только другой рендеринг). В основном делайте то, что предлагает В.Владимир. –

ответ

2
  1. Вы должны нарисовать две ассоциации между статьей и адресом. Роль адреса для первой ассоциации - это пикап, а для второго - доставка.
  2. Если адрес передачи обслуживания не является обязательным, кратность ассоциации должна иметь нижнюю границу, установленную на ноль и верхнюю границу 1. Адрес для доставки - это кратность 1 в соответствии с вашим вопросом (то есть обязательно & точно один).
  3. Неявно, ассоциация реализуется классами в конце ассоциации или экземпляром ассоциации (ссылка). Можно определить, какой элемент принадлежит концу ассоциации, ассоциации или класса на конце ассоциации. Прочтите документ надстройки UML, чтобы получить дополнительную информацию. См. Свойство в конце раздела.
+0

Вы также должны посмотреть [квалифицированные ассоциации] (http://ptgmedia.pearsoncmg.com/images/ch16_9780131489066/elementLinks/16fig15.jpg). – BobRodes

+0

Согласовано. Ключ есть два отношения, а не одно. – sfinnie

1

решение что-то вроде этого:

Article with two delivery addresses

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

+0

Вы должны заменить стрелки naviagbility совпадающими точками доступа (определенными только в UML 2.5), чтобы выразить тот факт, что две ассоциации заканчивают «pickupAddress» и «handoverAddress», соответствуют двум ссылочным свойствам класса «Article». Стрелки Naviagbility на самом деле не выражают это. См. Http://stackoverflow.com/questions/21321446/is-there-a-free-uml-class-diagram-editor-that-supports-association-end-ownersh –

+0

Опять же, вы также можете ознакомиться с квалифицированными ассоциациями. – BobRodes

Смежные вопросы