如何从现有的Java代码生成UML图(特别是序列图)?


当前回答

我是作者之一,所以答案可能有偏见。它是开源的(Apache 2.0),但是插件不是免费的。如果你克隆并在本地构建它,你就不需要付费。

在Intellij IDEA上,ZenUML可以从Java代码生成序列图。

请登录https://plugins.jetbrains.com/plugin/12437-zenuml-support查看

源代码:https://github.com/ZenUml/jetbrains-zenuml

其他回答

我是作者之一,所以答案可能有偏见。它是开源的(Apache 2.0),但是插件不是免费的。如果你克隆并在本地构建它,你就不需要付费。

在Intellij IDEA上,ZenUML可以从Java代码生成序列图。

请登录https://plugins.jetbrains.com/plugin/12437-zenuml-support查看

源代码:https://github.com/ZenUml/jetbrains-zenuml

我发现绿色插件非常简单,使用和生成类图从源代码。 试一试吧。 只需将插件复制到插件目录。

我开发了一个maven插件,它既可以作为插件目标从CLI运行,也可以作为依赖项导入,并以编程方式使用解析器,@see Main# Main()来了解如何运行。

它递归地呈现所需包的PlantUML src代码,如果需要,您可以手动编辑(希望您不会)。然后,通过将代码粘贴到plantUML页面中,或者通过下载plant的jar,您可以将UML图呈现为png图像。

点击https://github.com/juanmf/Java2PlantUML查看

示例输出图:

欢迎任何捐助。它有一组自定义输出的过滤器,但我还没有在插件的CLI参数中公开这些过滤器。

值得注意的是,它并不局限于您的*.java文件,它也可以从maven依赖项中渲染UML图。这对于理解您所依赖的库非常方便。它实际上检查带有反射的已编译类,因此不需要源

成为第一个在GitHub上的明星:P

使用IntelliJ IDEA。要生成类图,选择package并按Ctrl + Alt + U:

默认情况下,它只显示类名,而不显示所有依赖项。要更改它:右键单击->显示类别…和显示依赖项:

要生成依赖关系图(UML部署图),使用maven go View -> Tool Windows -> maven Projects,并按Ctrl + Alt + U:

结果:

此外,还可以生成更多其他图表。见文档。

到目前为止,我用过的最好的逆向工程工具和往返java -> UML是Borland's Together。它是基于Eclipse的(不仅仅是一个插件),而且工作得非常好。