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版本)
-
点击专家button
-
转到点选项卡并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 ,但它需要更多的文档工作。