Graphviz + Doxygen来生成UML类图

我想用Graphviz + Doxygen生成一个基于C ++代码的类图。 Doxygen本身就具有本地DOT支持; 但是有可能产生一个类似于下面的图表的带有相应访问修改器(public,private等)的类UML输出 ,类方法的返回和参数types?

我知道线程如何使用doxygen从C ++源创buildUML类图 ,但是它并没有回答这个问题。

在这里输入图像说明

创build以下源文件example.cpp

 class Animal { public: void die(); string name; int age; }; class Dog : public Animal { public: void bark(); }; class Cat : public Animal { public: void meow(); }; 

运行doxygen -g并更改生成的Doxyfile的以下选项:

 EXTRACT_ALL = YES HAVE_DOT = YES UML_LOOK = YES 

运行doxygen并查看Animal类的输出,它应该与上图相似,尽pipedoxygen不会显示方法和字段的返回types。

我现在有类似的问题成功解决了。

以下是步骤(假设您使用Doxygen-Doxywizard的GUI版本)

  1. 点击专家button

  2. 转到点选项卡并selectDOT_PATH。 浏览您安装程序的文件夹。 例如“C:/ Program Files(x86)/Graphviz2.32/bin”

有关更多详细信息,请参阅以下链接http://www.cypax.net/tutorials/doxygen/index?language=en#doxycomment

希望它有帮助,Anit

尝试Doxygraph !

Doxygraph是一个从项目源代码中自动化逆向工程UML类图的工具集合,并将它们呈现为交互式Web应用程序。

它依靠Doxygen来parsing你的源代码,并创build它所收集信息的中间XML表示,所以它支持Doxygen支持的所有相同的编程语言:C,C ++,C#,Objective C,Java,Python,PHP,Tcl, D,IDL,VHDL和Fortran。

您需要阅读克隆的项目中的自述文件。

实现您的结果的一个可能的解决scheme是使用plantuml ,但它需要更多的文档工作。