存在哪些模式、实践或标准来存储整个图表(或模型)?

Which patterns, practices or standards exist to store whole Diagram (or Models)?

我们正在开发一个简单的建模工具(以便在其他重构工具中使用它)来管理 CDG(类 之间的调用依赖关系图)等图表。

我们的图类似于 UML 图,它们有一些细节,例如用例或 Class 图的细节。

在这个项目中,我们应该存储图表并稍后打开它们以供用户进行一些更改。 (类似于其他建模工具)

此工具在 Java 中的基本实现如下:
https://github.com/AsenaTechAcademy/Irani-OOP-in-Java-gModeler

问题是:存在哪些模式或实践来存储图表?有哪些标准可以做到这一点(我们的团队应该学习它们)?

有两个因素对我们的项目很重要:

  1. 读图和写图的表现
  2. 图表大小 hard/server。

我不知道这是否最好,但是 UML 为 UML 模式定义了两种 XML 格式:

  • 存储 UML 元素的 XMI XMI

  • 存储图表的UML DI UMLDI

"All tools" 允许在 XMI 和 UMLDI 中导出模式。

在 Eclipse 环境中,UML2 项目允许管理 XMI 文件(可能还有 umldi)UML2 tools

存储模式的经典解决方案也是 SVG:SVG

另一个简单但不太聪明的是 plant uml,见 plant uml question

您还可以查看 Eclipse Modeling Framework. Lots of tools in this area use Ecore to store the models. The advantage of this is that its easier to exchange the models between different tools. Some UML tools allow for exporting as XMI but then its not always possible to import this into another tool even though this might support importing XMI. The reason for this is that there might be small differences in the way they use the XMI file. I would definitely check this out. One other advantage of this is that there are lots of tools in the EMF/Ecore universe, e.g. to compare different versions of a model (e.g. EMF Compare)。