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


当前回答

我推荐PlantUML。这个工具非常有用,很容易使用。PlantUML有一个Netbeans插件,你可以用你的java代码创建UML图。

在netbeans中安装PlantUML插件的方法如下:

Netbeans菜单->工具->插件

现在选择可用插件,然后找到PlantUML并安装它。

更多信息请访问网站:www.plantuml.com

其他回答

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

另一个Java建模工具是我的网站GitUML。 从存储在GitHub存储库中的Java或Python代码生成UML图。

GitUML的一个关键思想是解决“文档化”的一个问题:图总是过时的。使用GitUML,当您使用git推送代码时,图表会自动更新。

浏览社区UML图,有一些Java设计模式。浏览流行的GitHub存储库,并可视化其中的架构和模式。

使用指向和单击创建图表。没有拖放编辑器,只需点击你想要可视化的存储库树中的类:

底层技术是基于PlantUML的,这意味着您可以使用额外的PlantUML标记来改进您的图表。

我会推荐Omondo的EclipseUML作为一般使用,尽管几个月前我的web项目确实遇到了一些问题。他们曾经有过一个免费版本,但据说已经不再推广了。

如果你真的热衷于从源代码逆向工程序列图,我推荐jTracert。

就Eclipse项目本身而言,Eclipse UML2 Tools项目可能支持逆向工程,尽管我从未见过它在实践中的使用。

MoDisco(模型发现)项目Eclipse GMT项目似乎更清楚地实现了您的目标。特定于技术的工具列表将是一个很好的开始。

有一个名为binarydoc的免费工具,它可以从Java方法的字节码(而不是源代码)生成UML序列图或控制流图(CFG)。

下面是为java方法java.net.AbstractPlainSocketImpl.getInputStream生成的示例图binarydoc:

方法控制流图:

方法的UML序列图:

你的代码库是什么?Java还是c++ ?

eUML2 for Java is a powerful UML modeler designed for Java developper in Eclipse. The free edition can be used for commercial use. It supports the following features: CVS and Team Support Designed for large project with multiple and customizable model views Helios Compliant Real-time code/model synchronization UML2.1 compliant and support of OMG XMI JDK 1.4 and 1.5 support The commercial edition provides: Advanced reversed engineering Powerful true dependency analyze tools UML Profile and MDD Database tools Customizable template support