免费实用程序,在Linux中运行,从Java源文件创建UML类图

时间:2009-04-10 12:04:50

标签: java uml utilities

我更喜欢在纸上记下UML图,然后使用Java实现它们。如果有一个可以为我创建UML图表的实用程序,我可以在线共享并包含在数字文档中,这将是一件好事。换句话说:我想从Java源代码创建UML图。

该实用程序必须能够:

  • 在Linux中运行。
  • Handle Generics,即show List< Foo>正确参数和返回类型。
  • 显示类继承和接口实现。

如果该实用程序能够:

,那就太好了
  • 在Windows和Mac OS X中运行。
  • 以一种不错的方式显示枚举。
  • 以图表格式生成输出,我可以使用其他实用程序修改。
  • 从命令行运行。
  • 将UML生成限制为我可以指定的一组包。
  • 处理不属于我的源代码的类/接口。它可以包括UML图中外部的第一个类/接口。也许用另一种颜色来表明它是由其他人创建的库/框架。
  • 专注于此任务,并不试图解决整个文档问题。

5 个答案:

答案 0 :(得分:6)

我们尝试过的一种方法是UMLGraphGraphViz的组合。我们当时正在做的是让UML创建成为我们CruiseControl构建的自动部分:javadoc将使用内置的UML图构建。它非常漂亮。

我想你会发现UMLGraph documentation几乎可以回答你的所有问题。具体来说,您应该能够从命令行创建所需的类图。

答案 1 :(得分:2)

几个月前,我写了一个名为“java2dot”的简单工具。它不能满足您的所有要求,但可能有所帮助。

http://plindenbaum.blogspot.com/2008/10/javadoc-is-not-enough-java2dia.html

答案 2 :(得分:2)

doxygen几乎拥有你需要的一切。

答案 3 :(得分:0)

目前尚不清楚是否要将代码从UML或逆向工程代码创建为UML。如果要从UML创建代码,Netbeans UML项目类型可能是最简单的Java工具集。

如果你想独立

StarUML是一种较旧的UML建模工具。它遵循大多数UML指南2.它可以处理泛型,但只有当你手动输入它时。但是,如果我没记错的话,我认为它不能正确生成泛型。您必须在生成后调整代码。

虽然不是免费的,但我个人认为如果你经常使用UML,那么Umodel是值得的。

答案 4 :(得分:-1)

tigris.org的ArgoUML:见here:它是多平台的。 如果您更喜欢GNU / Linux应用并且使用KDE,则可以使用Umbrello