Модель "Автомобиль должен принадлежать как человеку, так и компании" в UML - PullRequest
1 голос
/ 03 июля 2019

У нас будет как минимум три поля UML: Компания, Автомобиль, Персона.

Лицо может принадлежать компании, а автомобиль должен принадлежать как лицу, так и компании, но никогда ни одному из них.

Возможно ли это в UML? Вопрос в множественности.

enter image description here

Что должно появиться в "?" пятна, или это должно быть смоделировано как-то иначе?

1 Ответ

2 голосов
/ 03 июля 2019

Да.Вы можете смоделировать его как ограничение xor.

Чтобы показать xor, вы связываете две ассоциации пунктирной линией, на которой есть {xor}.Обратите внимание, что он должен быть в фигурных скобках, поскольку он обозначает ограничение.В качестве альтернативы (если ваш инструмент моделирования не поддерживает эту нотацию), вы можете создать заметку, связанную с обеими ассоциациями, с одним оператором {xor}.

В обоих случаях обе ассоциации на сторонеКомпания / человек нуждаются в 0..1 множественности.

Конечно, если у вас может быть несколько владельцев, а владельцами могут быть как люди, так и компании, или оба, вы будете использовать вместо этого оператор {or} и множители 0..n.

Подробнее об этом можно прочитать в спецификации, раздел 7.6.5, рисунок 7.16 на стр. 37 или здесь (вы также можете найти другие ссылки).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...