2

我需要对用 C++ 编写的软件组件进行一些修改。我幻想着生成一些代码图,这将显示类之间的关系并引导我完成方法的流/调用图。有这个工具吗?

几年前,我使用 Rational Rose 建模工具,它具有对代码进行逆向工程并为其构建类图的功能。然而,对于此类项目探索而言,重要的是一些动态信息,如序列图(理想情况下)或调用图。更不用说玫瑰对于这样的一项任务来说太大了,实际上我不知道它是否仍然存在。

4

4 回答 4

5

我个人使用 Doxygen https://github.com/doxygen/doxygen,它确实是最容易配置的程序之一,其输出方式与您描述的一样。

要生成调用图,您还需要 dot,您可以在 graphviz http://www.graphviz.org/中获得它。可能还有其他一些依赖项,但在这些情况下,它应该在配置文件中这样说,顺便说一下,它的注释相当好。

Doxygen 的配置文件一开始可能看起来很庞大,但最终结果是值得的。

于 2013-06-05T11:53:14.843 回答
3

警告,Douml 是由 BoUML 的旧免费版本(不幸的是不是最后一个)制作的,当将它移植到 Qt4 中时,团队引入了很多错误,至少因此结果无法使用。而且团队没有做插件机制,所以你无法定义自己的插件等。所以最好获得BoUML,它不是免费的,但与其他相比价格非常低UML 工具。Zeks,BoUML 在类图中具有自动布局。我的两分钱。

于 2013-06-06T09:19:40.207 回答
2

看看 BOUML,我认为这正是您正在寻找的:

http://www.bouml.fr/screenshots.html

于 2013-06-05T11:30:38.403 回答
2

如果 doxygen 还不够,我会考虑使用 Enterprise Architect 来完成这项任务。它不是免费的,但它会生成您的图表和代码模型。虽然,tbh,我认为 doxygen 正是你所需要的,而且它是免费启动的。

顺便说一句,如果您决定采用 Bouml 方式(生成代码模型,然后手工制作图表),请考虑从 sourcefoge 中选择 Douml。与 Bouml 不同,它仍然是免费的。

于 2013-06-05T21:27:08.210 回答