6

使用 doxygen 我可以生成漂亮的图表,但 doxygen 缺乏对类之间关系的更深入分析。它可以识别推导,但该工具无法理解其他关系。有哪些更好的实用程序(商业或非商业)可以从 C++ 源文件生成更完整的 UML 类图?

可用于 C#/Java 的工具要好一些,但我现在不感兴趣。

4

4 回答 4

4

对于解析 C++ 代码,我用过的最好的工具是 BoUML。它并不完美,它不会为您生成图表,但它确实了解关系。如果您将两个类拉入类图中,它将自动绘制关系,并且它允许您通过选择特定类并让工具显示相关类(依赖于所选类的类和依赖于所选择的取决于)。

于 2010-09-23T16:12:19.923 回答
3

它可以识别推导,但该工具无法理解其他关系。

Doxygen 还支持生成协作图,它确实为非继承关系提供了图像。

从 Doxygen 手册:

COLLABORATION_GRAPH
如果COLLABORATION_GRAPHandHAVE_DOT标记设置为,YES则 doxygen 将为每个文档类生成一个图表,显示该类与其他文档类的直接和间接实现依赖关系(继承、包含和类引用变量)。

我自己对 UML 并没有做任何花哨的事情,但是这些图表对于我的目的来说已经足够好了(绘制继承和组合)。

于 2010-09-23T16:28:32.370 回答
3

@jdehaan 看起来我们今天很多人都在同一条船上航行;)

C++ 的 codedrawer ( http://www.codedrawer.com/ ) 就是这样一种工具。

我将链接到今天开始的一些您可能感兴趣的内容。

Qt 依赖可视化工具

代码重构

于 2010-09-23T15:26:35.690 回答
1

企业架构师。深入分析代码,可以从代码生成图表,从图表生成代码,并支持往返代码生成,即修改生成的图表并将更改保存到源代码中。它知道 C、C++、C#、Java、Python、VB.NET 和 VB、PHP、Java、Delphi。此外,它支持一大堆图表类型,当然包括完整的 UML2.0。(我不知道它在 C 中做了什么:P)

除了把这些东西做好之外,它还做了很多其他的事情,我认为它真的物有所值,135-239 美元,具体取决于版本。

于 2010-09-23T16:25:25.083 回答