从Java项目生成UML类图

有没有一个好的工具可以帮助将Java类逆向工程到UML,这将显示我的类如何相互关联? 它不需要从JAR文件反编译,因为我有源代码。 我知道那里有很多,但大部分只能产生个人课。 我希望有一个工具可以生成类图,显示我所有当前的类和包如何协同工作,以便分析当前的架构devise。 当然,分析是一回事。 另一个用于文档目的。

到目前为止,我知道一些。 但是他们不能做概述的类图。 下面是我已经尝试过的Java UML工具列表,能够做逆向工程,但是不能完成整个项目的概述类图:

  • StarUML(非常好的Opensource UML工具,但不能生成概览类图)
  • ArgoUML(这是缓慢和呆滞,不断崩溃)
  • UModel(这是一个商业软件,我以前用过,但发现它很难使用)
  • MS Visio(不支持Java UML逆向工程,仅适用于VB)

还有其他的build议要添加到这个列表吗? 并希望能够生成一个概述Java类图。 顺便说一下,我正在使用Eclipse。

我使用了Eclipse中的Soyatec的eUML2插件,它能够很好的生成UML代码。

类Visualizer做到这一点。 这是免费的工具,它具有所有提到的function – 我个人使用它的相同的目的,如本文所述。 对于每个浏览的类,它显示了2个即时生成的类图:类关系和类UML视图。 类关系图允许遍历整个结构。 它全面支持注释和generics,并为JPA实体提供特殊支持。 大型项目(数千class)工作得很好。

我认为MoDisco是迄今为止最强大的一个(虽然可能不是最简单的一个)。

MoDisco是一个通用的反向工程框架(这样你就可以自定义你的反向工程项目,MoDisco甚至可以对java方法的行为进行反向工程,而不仅仅是结构和签名),还包括一些预定义的function,例如类的生成绘制出您需要的Java代码。

Eclipse的Omondo插件怎么样? 我用它,我觉得它是相当有用的。 虽然如果您要为大型源生成图表,则可能必须使用更多的内存来启动Eclipse。