使用 doxygen 我可以生成漂亮的图表,但 doxygen 缺乏对类之间关系的更深入分析。它可以识别推导,但该工具无法理解其他关系。有哪些更好的实用程序(商业或非商业)可以从 C++ 源文件生成更完整的 UML 类图?
可用于 C#/Java 的工具要好一些,但我现在不感兴趣。
使用 doxygen 我可以生成漂亮的图表,但 doxygen 缺乏对类之间关系的更深入分析。它可以识别推导,但该工具无法理解其他关系。有哪些更好的实用程序(商业或非商业)可以从 C++ 源文件生成更完整的 UML 类图?
可用于 C#/Java 的工具要好一些,但我现在不感兴趣。
对于解析 C++ 代码,我用过的最好的工具是 BoUML。它并不完美,它不会为您生成图表,但它确实了解关系。如果您将两个类拉入类图中,它将自动绘制关系,并且它允许您通过选择特定类并让工具显示相关类(依赖于所选类的类和依赖于所选择的取决于)。
它可以识别推导,但该工具无法理解其他关系。
Doxygen 还支持生成协作图,它确实为非继承关系提供了图像。
从 Doxygen 手册:
COLLABORATION_GRAPH
如果 COLLABORATION_GRAPH
andHAVE_DOT
标记设置为,YES
则 doxygen 将为每个文档类生成一个图表,显示该类与其他文档类的直接和间接实现依赖关系(继承、包含和类引用变量)。
我自己对 UML 并没有做任何花哨的事情,但是这些图表对于我的目的来说已经足够好了(绘制继承和组合)。
@jdehaan 看起来我们今天很多人都在同一条船上航行;)
C++ 的 codedrawer ( http://www.codedrawer.com/ ) 就是这样一种工具。
我将链接到今天开始的一些您可能感兴趣的内容。
企业架构师。深入分析代码,可以从代码生成图表,从图表生成代码,并支持往返代码生成,即修改生成的图表并将更改保存到源代码中。它知道 C、C++、C#、Java、Python、VB.NET 和 VB、PHP、Java、Delphi。此外,它支持一大堆图表类型,当然包括完整的 UML2.0。(我不知道它在 C 中做了什么:P)
除了把这些东西做好之外,它还做了很多其他的事情,我认为它真的物有所值,135-239 美元,具体取决于版本。