【问题标题】:How can I generate UML class diagrams from C++ source files? [closed]如何从 C++ 源文件生成 UML 类图? [关闭]
【发布时间】:2010-09-23 15:21:32
【问题描述】:

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

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

【问题讨论】:

    标签: c++ uml generator class-diagram


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      来自 Doxygen 手册:

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

      我自己对 UML 并没有做任何花哨的事情,但这些图表足以满足我的目的(绘制继承和组合)。

      【讨论】:

      • 我正在寻找一种能够更深入地理解代码的工具。 Doxygen 只显示与什么(引用、成员)有关的内容,但不显示具体的方式。至少像你说的那样是一个很好的首发。不管怎么说,还是要谢谢你。也许这有助于其他错过此设置的人。
      【解决方案3】:

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

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

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

      Qt Dependency Visualizer

      Code refactoring

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

        • 往返的工作有点奇怪,但它绝对是一个有价值的工具。我会更深入地研究它。
        猜你喜欢
        • 2011-11-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多