Как нарисовать «список» отношений между 2 объектами? - PullRequest
1 голос
/ 03 марта 2012

Я рисую схему для представления отношения между моими объектами ... Например, следующая схема показывает, что объект A является парой объекта B и объекта C.

Теперь я хочу представить объект D, который представляет собой список A, я просто не знаю, как нарисовать стрелку между A и D ...

Может ли кто-нибудь помочь?

enter image description here

Ответы [ 2 ]

2 голосов
/ 03 марта 2012

Поскольку это отношение 1 к N, запишите строку от D до A с символом агрегации или композиции (символ открытого / закрытого ромба).

Запись на стороне A * (что означает 0 ..n) или 1..n, если в списке должен быть хотя бы один элемент.

См., например, http://www.ibm.com/developerworks/rational/library/content/RationalEdge/nov03/t_modelinguml_db.pdf, найдите диаграмму классов «Полет и самолет» на полпути документа.

1 голос
/ 04 марта 2012

На самом деле ваша модель не верна. Если вы говорите, что A - это пара B и C, то агрегация должна начинаться с A и заканчиваться B и C. Рисунок, который вы показываете, говорит, что B содержит A, а C содержит A. Что касается показа множественности, добавьте [0..*] в конец ближе к классу, который имеет несколько экземпляров. Если D имеет список A, добавьте ссылку агрегации / композиции от D до A и установите кратность, как указано выше. Но обратите внимание, что это не означает, что D содержит список A, только то, что D имеет много (0 или более) экземпляров A. Если вы хотите указать, что ссылка реализована в виде списка, вы можете добавить ограничение {list} поверх ссылки или не использовать ссылку и добавить атрибут к D, используя alist:A[0..*] {list}.

См. этот сайт для получения дополнительной информации

...