在Linux中运行的免费实用程序,用于从Java源文件创建UML类图
我更喜欢在纸上记下UML图,然后使用Java实现它们。 如果有一个可以为我创建UML图表的实用程序,我可能会在线共享并包含在数字文档中。 换句话说:我想从Java源代码创建UML图。
该实用程序必须能够:
- 在Linux中运行。
- 处理generics,即在参数和返回类型中正确显示List 。
- 显示类inheritance和接口实现。
如果该实用程序能够:
- 在Windows和Mac OS X中运行。
- 以一种不错的方式显示枚举。
- 以图表格式生成输出,我可以使用其他实用程序进行修改。
- 从命令行运行。
- 将UML生成限制为我可以指定的一组包。
- 处理不属于我的源代码的类/接口。 它可以包括UML图中外部的第一个类/接口。 也许用另一种颜色来表明它是由其他人创建的库/框架。
- 专注于此任务,并不试图解决整个文档问题。
我们尝试过的一种方法是UMLGraph和GraphViz的组合。 我们当时正在做的是让UML创建成为我们CruiseControl构建的自动部分:javadoc将使用内置的UML图构建。它非常漂亮。
我想你会发现UMLGraph文档几乎可以回答你的所有问题。 具体来说,您应该能够从命令行创建所需的类图。
doxygen几乎拥有你需要的一切。
几个月前,我写了一个名为“java2dot”的简单工具。 它不能满足您的所有要求,但可能有所帮助。
http://plindenbaum.blogspot.com/2008/10/javadoc-is-not-enough-java2dia.html
目前尚不清楚是否要将代码从UML或逆向工程师代码创建为UML。 如果要从UML创建代码,Netbeans UML项目类型可能是最简单的Java工具集。
如果你想独自站立
StarUML是一种较旧的UML建模工具。 它遵循大多数UML指南2.它可以处理generics,但只有当你手动输入它时。但是,如果我没记错的话,我认为它不能正确生成generics。 您必须在生成后调整代码。
虽然不是免费的,但我个人认为如果你经常使用UML, Umodel是值得的。
tigris.org的ArgoUML:见这里 :它是多平台的。 如果您更喜欢GNU / Linux应用程序并使用KDE,则可以使用Umbrello 。