Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 存在哪些模式、实践或标准来存储整个图(或模型)?_Java_Oop_Design Patterns_Uml_Object Oriented Analysis - Fatal编程技术网

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

Java 存在哪些模式、实践或标准来存储整个图(或模型)?,java,oop,design-patterns,uml,object-oriented-analysis,Java,Oop,Design Patterns,Uml,Object Oriented Analysis,我们正在开发一个简单的建模工具(在其他重构工具中使用),以管理诸如CDG(类之间的调用依赖关系图)等图 我们的图类似于UML图,它们有一些细节,比如用例或类图的细节 在这个项目中,我们应该存储图表并在以后打开它们,以便用户进行一些更改。(与其他建模工具类似) 这些工具在Java中的基本实现如下: 问题是:存在哪些模式或实践来存储图表?有哪些标准可以做到这一点(我们的团队应该学习这些标准) 有两个因素对我们的项目很重要: 阅读和书写图表的能力 硬盘/服务器上的图表大小 我不知道这是否是最好的,但

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

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

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

这些工具在Java中的基本实现如下:

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

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

  • 阅读和书写图表的能力
  • 硬盘/服务器上的图表大小

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

    • 存储UML元素的XMI

    • 存储图表的umldi

    “所有工具”允许在XMI和UMLDI中导出模式

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

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


    另一个简单但不太智能的是plant uml,请参见,您也可以查看。该区域中的许多工具用于存储模型。这样做的好处是更容易在不同的工具之间交换模型。一些UML工具允许导出为XMI,但并不总是能够将其导入到另一个工具中,即使这可能支持导入XMI。这样做的原因是,它们使用XMI文件的方式可能会有细微的差异。我一定会看看这个。另一个优点是,EMF/Ecore领域中有很多工具,例如用于比较模型的不同版本(例如)。

    GraphViz点语言将为您提供依赖关系图的自动布局,如果您可以生成DSL(域特定语言)点。我看过你的照片,里面有很多细节。我认为没有工具可以让复杂的图表看起来“可读”。“重要”信息取决于某些上下文。也就是说,我喜欢PlantUML,因为它的语言也是基于GraphViz的,我已经“插入”了我的建模工具来生成它。不过,你不能走另一条路。非常感谢。GraphViz圆点是非常好的表示形式。但是在我们的项目中它有一些局限性。非常感谢,非常好的回答和技术的收集。我只是在等待(不接受)新的或最好的解决方案。@g.Irani没问题,这是一个有趣的话题。您认为这是对“plant uml问题”的回答,有人提出了另一个解决方案?