агрегиране асоцииране в обектна диаграма

Асоциациите между класове (в диаграми на класове, разбира се) са абстракция за набор от връзки между различни обекти (в диаграми на обекти). Агрегацията е специален вид асоциация и има специален символ, диаманта.

A House has many (zero to many) windows.

въведете описание на изображението тук

Имената на обектите в следващите диаграми всъщност трябва да бъдат подчертани. Моето помощно средство за рисуване yuml за тези бързи снимки няма очевидна настройка за това, така че се надявам това не е твърде объркващо. Единствената разлика в двете снимки са диамантените знаци на първата.

my:House has side:Window
         has back:Window
         has front:Window

въведете описание на изображението тук

Символът на диамант използва ли се и в диаграми на обекти, т.е. екземпляри? Или връзките в диаграмите на обекти винаги са просто прости линии?

въведете описание на изображението тук


person panny    schedule 24.10.2012    source източник
comment
моля, обмислете премахването на правилния маркер от отговора на vainolo - определено не е правилен   -  person Christian    schedule 26.10.2012


Отговори (2)


Трябва да използвате диаманта и на връзка - очевидно само ако асоциацията е агрегиране.

между другото имената на обектите (и типовете) трябва да бъдат подчертани, за да се разграничат по-лесно от класовете.

Вижте UML 2.4 Superstructure 7.3.22 и фигура 7.52 в http://www.omg.org/spec/UML/2.4/Superstructure/PDF/

person Christian    schedule 25.10.2012
comment
Предполагам, че знанията ми за UML в тази тема са били или грешни, или остарели (или и двете!). Още един кръг от четене на надстройката на UML за мен :-). Благодаря на @Christian за корекцията. - person vainolo; 26.10.2012
comment
Всъщност не мога да си спомня какво предложи vainolo вчера, но ми прозвуча разумно и по-точно. Що се отнася до препратките, предполагам, че 7.52 е намек за подчертаване. Това е технически проблем с използвания софтуер, съжалявам за това. - person panny; 28.10.2012
comment
Що се отнася до 7.3.22, не можах да намеря конкретно предложение за използване на диамантена форма или не, само намек за използването на стрелките на асоциациите. Ако прочетете нещо друго, по-скоро в полза на използването на същата нотация в диаграми на обекти, както в диаграми на класове, можете ли да го посочите? - person panny; 28.10.2012
comment
Малка забележка: въпреки че е добре да се използват диаманти в диаграми на обекти/класове, зависи от дизайнера да реши дали да го направи според нивото на детайлизация, което иска да постигне на конкретната диаграма. - person SomeWittyUsername; 28.10.2012
comment
Спецификация на екземпляр е изобразена с помощта на същата нотация като нейния класификатор и Спецификация на екземпляр, чийто класификатор е асоциация, представлява връзка и е показана с помощта на същата нотация като за асоциация, което ме води до това заключение. - person Christian; 29.10.2012

Има нещо нередно в диаграмата ви. Тъй като връзката между къщата и прозореца трябва да бъде композиция, а не агрегация. Ако вземем един конкретен прозорец, този прозорец е собственост на една и само една къща. Ако къщата умре, прозорецът също ще умре. Така че това е композиция.

Отговорът на вашия въпрос е „не е необходимо да показваме агрегиране и композиция в диаграми на обекти“.

person dulaj sanjaya    schedule 14.07.2016