Показ специализации с UML
Как вы показываете специализацию в диаграмме UML, когда два специализированных объекта также могут быть друг другом. Например:
[Personel]
^
/_\
|
------------
| |
[Employee] [Manager]
Как правило, я бы использовал пустую стрелку, чтобы показать специализацию, но как мне показать, что сотрудник или менеджер также может иметь другую роль в каком-то случае? Мне просто нужно использовать линию, чтобы соединить их?
1 ответ
В наиболее распространенной форме обобщение является взаимоисключающим. Вы либо один подкласс, либо другой, но никогда не оба одновременно.
Для примера, который вы использовали, вам лучше использовать шаблон Party-PartyRole.
Employee
или же Manager
Роли, в которые может играть человек С этим шаблоном вы можете быть Manager
а также Employee
в то же время.