uml - Диаграмма классов отношения нод-край - PullRequest
2 голосов
/ 08 февраля 2020

Я пытаюсь создать диаграмму классов для отношения нода-край, как это было бы найдено в ориентированном графе. Я хочу передать, что Nodes имеет ссылки на Edges, а Edges также имеет ссылки на Nodes. Каждому Edge нужно ровно два Nodes (источник и цель).

Это приемлемый способ для моделирования этого?

class diagram node-edge

1 Ответ

3 голосов
/ 09 февраля 2020

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

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

Распространенным вариантом реализации ориентированного графа является то, что Node знает только его outEdges. Если это важно, вы можете express это с навигацией , со стрелкой в ​​направлении sourceNode и крестом на стороне inEdges. Но эта практика относительно редка в модели.

Для неориентированного графа у вас может быть только одна ассоциация с кратностью 2 на стороне узлов.

...