Как создать класс ассоциации в draw.io?

Я начал использовать веб-сайт draw.io, я хочу создать диаграмму классов, но не могу найдите, как создать класс ассоциации, любая помощь будет полезна. Спасибо.


person ziMtyth    schedule 07.11.2017    source источник


Ответы (2)


draw.io — это инструмент для рисования, а не инструмент UML.

Таким образом, вы можете просто нарисовать две фигуры класса, соединить их фигурой ассоциации, затем нарисовать третий класс в качестве класса ассоциации, а затем использовать фигуру ассоциации, чтобы соединить ваш класс ассоциации с ассоциацией.

Затем перейдите в свойства последней формы ассоциации и измените стиль линии на пунктирную.

Теперь это выглядит как допустимый класс ассоциации UML, но я думаю, что вам действительно следует выбрать настоящий инструмент UML, а не инструмент рисования, когда вы хотите что-то делать с UML. Использование этого инструмента похоже на написание Java с помощью MS Word.

person Geert Bellekens    schedule 08.11.2017

Принятый ответ далек от совершенства. В Draw.io (теперь он называется Diagrams.net) вы можете соединить две фигуры (здесь классы) с помощью соединителя, но вы не можете соединить два соединителя вместе.

Следовательно, с данным решением это будет выглядеть как класс ассоциации, но тире не будут действительно скорректированы:

введите здесь описание изображения

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

введите здесь описание изображения

Так как, к сожалению, невозможно получить 100% удовлетворительное решение для класса ассоциации, другое решение состоит в том, чтобы превратить класс ассоциации в обычный класс. Здесь, в примере, класс OrderLine связан с классами Order и Product. Стоит отметить миграцию множеств. Рефакторинг ассоциации классов как такой ассоциации ВСЕГДА будет приводить к кратности 1 для классов, не связанных с ассоциацией (здесь Order и Product), а исходные множественности будут перемещены в класс ассоциации (здесь OrderLine).

введите здесь описание изображения

person StratocastFlo    schedule 24.06.2020