Агрегация ассоциаций в диаграмме объектов

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

A House has many (zero to many) windows.

Имена объектов на следующих диаграммах должны быть подчеркнуты. У моего помощника по рисованию для этой быстрой картинки нет очевидной настройки, поэтому я надеюсь, что это не слишком запутанно. Единственная разница в обеих картинах - это ромбовидные знаки на первой.

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

Используется ли символ ромба в объекте, то есть в диаграммах экземпляров? Или ссылки на объектных диаграммах всегда являются простыми линиями?

2 ответа

Вы также должны использовать ромб в ссылке - очевидно, только если ассоциация является агрегацией.

Btw. Имена объектов (и тип) должны быть подчеркнуты, чтобы легче отличать их от классов.

См. UML 2.4 Superstructure 7.3.22 и рисунок 7.52 в http://www.omg.org/spec/UML/2.4/Superstructure/PDF/

В вашей диаграмме что-то не так. Потому что отношения между домом и окном должны быть композицией, а не агрегацией. Если мы возьмем одно конкретное окно, оно принадлежит одному и только одному дому. Если дом умрет, окно тоже умрет. Так что это композиция.

Ответ на ваш вопрос: "Нам не нужно показывать агрегацию и композицию в диаграммах объектов".

Другие вопросы по тегам