Подтвердить что ты не робот

Как * действительно * писать мощности UML?

Я хотел бы знать раз и навсегда, как писать мощности UML, так как мне очень часто приходилось обсуждать их (поэтому доказательства и источники приветствуются:)

Если я хочу объяснить, что a Mother может иметь несколько Child ren, но a Child имеет один и только один Mother, должен ли я написать:

Mother * ---------- 1 Child

или

Mother 1 ---------- * Child

?

4b9b3361

Ответ 1

второй Мать 1 ----------------- 1.. * Ребенок

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

Ответ 2

Конечно, Red Beard прав, правильный ответ - второй.

Что касается подсказки для запоминания этого, я советую думать по-английски: "Вы говорите:" У ребенка есть ОДНА мать ", и в этом предложении, как в UML, ОДИН написано рядом с Матерью. Довольно просто.

Ответ 3

У многих людей возникает этот вопрос, когда они начинают использовать UML, особенно когда они появляются из другой записи, где имена всегда читаются по часовой стрелке, независимо от того, на каком конце строки они находятся. Это действительно смущает!

Red Beard верен, хотя спецификация UML явно не указывает, где написана информация о конце ассоциации (т.е. имя и множественность), это подразумевает ее в нескольких местах. Например, рисунки 7.11 (показывающие атрибуты) и 7.12 (показывающие однонаправленные ассоциации с объединением заканчиваются рядом со стрелками) являются эквивалентными обозначениями свойств; таким образом, множественность действительно идет рядом с типом свойства.

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

Кстати, вы должны использовать дескриптивные имена конечных ассоциаций. Они часто превращаются в имена атрибутов в Java, имена элементов в XSD и т.д. Например, в Java класс Mother может иметь атрибут "children" типа "Set <Child> ". Если вы их не назовете, вы часто получите нежелательные имена по умолчанию.