Соотношение (агрегация, композиция) заменяет атрибут? - PullRequest
3 голосов
/ 23 июля 2011

Я довольно новичок в UML-моделировании, так что терпите меня.

Скажем, у меня есть класс с атрибутом students, который представляет собой список Student экземпляров. Я установил отношение агрегации к классу Student, который также находится на диаграмме. Заменяет ли это отношение запись атрибута, такую ​​как #students : Student[] в классе контейнера, или могут сосуществовать атрибут и отношение?

Заранее спасибо за любые ответы!

Ответы [ 3 ]

7 голосов
/ 26 июля 2011

Краткий ответ: могут ли существовать атрибут и связь? Нет ...

Но , если ваши классы являются классами программного обеспечения , у вас может быть много вариантов их отображения:

enter image description here

Но , если ваши классы не являются программными классами и вы моделируете домен , вам следует быть более осторожным, чтобы показать сущность в качестве атрибута или класса. Обычно, если сущность имеет сложный тип, она отображается как отдельный класс. Но это не правило: зависит от контекста.

enter image description here

0 голосов
/ 23 июля 2011

Обычно у вас нет атрибутов определенного пользователем (или любого сложного) класса.Вы, конечно, не показывает атрибут И ассоциацию для одной и той же вещи в UML.Если я понимаю вашу ситуацию, вам нужна ассоциация (или агрегация / композиция) ... И поиграйтесь с множителями, чтобы понять это правильно.

0 голосов
/ 23 июля 2011

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

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