用于C ++的UML免费逆向工程工具(.h / .cpp ==>类图)

时间:2011-11-04 20:40:39

标签: c++ uml reverse-engineering class-diagram

哪些工具可用于从一组.h-或.cpp文件创建UML Class 图表?

我正在寻找一些......

  • free
  • Windows
  • 上开箱即用
  • 不需要任何特定的IDE
  • 理想情况下提供GUI

6 个答案:

答案 0 :(得分:7)

Dia是一个非常好的开源绘图工具,cpp2dia从.h / .cpp文件创建UML图。

我在Linux下使用它,我不知道它是否在其他平台上运行。

cpp2dia没有GUI,但其命令行用法非常简单。

答案 1 :(得分:5)

关于Bouml

  

它声称在我的代码中发现了错误

反向只接受'true'C ++,没有预处理器步骤,因此在类定义或操作定义中使用宏会产生错误。

  

它不会直接将自定义数据类型的数据成员显示为属性

反向生成关系越多越可能,当类型不是已知类或不是类(例如'int')时使用属性。

不做几个单独的反转,做一个反向指定要保留的几个顶级目录(递归遍历每个指定的目录)

BrunoPagès(Bouml的作者)

答案 2 :(得分:3)

我开发了一个名为Doxygraph的工具,它可以解析Doxygen生成的XML并将其转换为交互式UML类图,您可以在Web浏览器中查看或导入任何可以读取Graphviz的软件“点“文件。

答案 3 :(得分:2)

我没有尝试过这个但是Umbrello似乎是一个可行的候选者:http://uml.sourceforge.net/它建立在KDE库之上,因此它应该在Linux / Windows / Mac上运行。

答案 4 :(得分:2)

你可以尝试ArgoUML这是免费的,有一个很好的GUI,用Java编写,所以可以在任何系统上轻松运行。

它能够从UML图生成C ++;但是,C ++源代码的逆向工程目前由sub-project处理。可以从source repository下载此工具的最新快照。然而,这个工具仍在开发中,所以它可能无法正常工作。

答案 5 :(得分:1)

我已经为StarUML实现了一个模块,它提供了C ++的增量逆向工程。它还为std容器提供支持。它仍在开发中,但你可能想尝试一下。 http://starumlcmodule.sourceforge.net

相关问题