【问题标题】:Tool to automatically create a class diagram for Qt application为 Qt 应用程序自动创建类图的工具
【发布时间】:2013-06-28 21:47:15
【问题描述】:

我在为我的 Qt 应用程序创建 UML 类图的工具时遇到问题。

我尝试了 BOUMLUmbrello,但它们在某些类上都有问题。

我正在开发 Ubuntu。

【问题讨论】:

  • 你可以查看是否有适用于Ubuntu的rational rose版本。

标签: c++ qt uml class-diagram umbrello


【解决方案1】:

doxygen可以搭建很多图(继承、协作,甚至是调用流),我觉得你应该试试。

我以前用过,即使没有按要求注释代码,也能做出非常漂亮(虽然复杂)的图表。

引用自在线文档的Features 部分:

  • 使用 Graphviz 工具包的 dot 工具生成包含依赖图、协作图、调用图、目录结构图和图形类层次结构图。

  • 自动检测公共、保护和私有部分,以及 Qt 特定的信号和插槽部分。私有类成员的提取是可选的。

虽然 doxygen 现在可以用于任何用 doxygen 支持的语言编写的项目,但最初它是专门设计用于使用 Qt Software 的 Qt 工具包的项目。我试图使 doxygen 'Qt-compatible'。也就是说:Doxygen 可以阅读 Qt 源代码中包含的文档,并创建一个看起来与 Qt Software 生成的类浏览器非常相似的类浏览器。 Doxygen 了解 Qt 使用的 C++ 扩展,例如信号和插槽以及 Qt 源代码中使用的许多标记命令。

【讨论】:

  • 仅供参考,在 Doxygen 中使用类图的一个很好的例子是 QWT 文档,例如在此文档中为QwtPlotHistogram。我认为在这种特殊情况下使用的所有配置都可以在其 svn repo 的docs directory 中找到。
  • 要获得 UML 样式图,您必须更改几个默认设置。这个Question about Doxygen and UML diagrams 的答案应该会有所帮助。
【解决方案2】:

Sparx Systems 的 Enterprise Architect 可以导入 C++ 代码。图表非常好,工具支持往返(编辑图表和生成代码)。看看它对 moc_*.cpp 文件的作用很有趣,但您可能希望从模型中删除这些文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多