2015-12-08 1 views
1

Как вы показываете специализацию в диаграмме UML, когда два специализированных объекта могут быть друг другом. Например:Показ специализации с UML

[Personel] 
     ^
     /_\ 
     | 
    ------------ 
    |   | 
[Employee] [Manager] 

Как правило, я хотел бы использовать пустую стрелку, чтобы показать специализацию, но как я показать, что работник или менеджер может также иметь другую роль в каком-то случае? Нужно ли мне просто использовать линию для их подключения?

ответ

3

В наиболее распространенной форме Обобщение является взаимоисключающим. Вы либо один подкласс, либо другой, но не оба одновременно.

Для примера, который вы использовали, вам лучше использовать модель Party-PartyRole.

enter image description here

Employee или Manager являются Роли человек может играть. С помощью этого шаблона вы можете одновременно быть как Manager, так и Employee.

+0

Согласен, хотя я бы сказал, что конкретный экземпляр «PartyRole» играет одна «партия». Кроме того, значение по умолчанию в UML 2 * перекрывается *, а не дизъюнктно. Хотя ваша базовая модель может иметь набор обобщений, который является {полным, непересекающимся}, на этой диаграмме невозможно определить. –

+0

@ JimL. Вы правы, я исправил ошибку. Однако я не уверен в '{complete, disjoint}' clause. Я нашел 'isDisjoint' как параметр для' GeneralizationSet', но я не смог найти, откуда происходит 'complete'. Но так как «Обобщение» не обязательно должно быть частью «Обобщения», я не должен указывать, должен ли я? –

+0

UML немного странно, поскольку слова, показанные в фигурных скобках, не соответствуют словам в метамодели. Таблица 9.1 в спецификации UML 2.5 (формальный-15-03-01) обеспечивает отображение. Слово '{complete}' сопоставляется с 'isCovering = true', слово' {uncomplete ''отображается на' isCovering = false', слово '{disjoint}' отображается на 'isDisjoint = true', а слово' { overlapping} 'maps to' isDisjoint = false'. По умолчанию используется '{неполное, перекрытие}. Я считаю, что по умолчанию выполняется, когда обобщения не входят в набор обобщений. –

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