我可以在 C++ 中使用反向工程师在 Enterprise Architect 中导入 doxygen 标签吗?

Can I import doxygen tags in Enterprise Architect with reverse egineer in c++?

我们目前正在评估 Enterprise Architect(12,候选发布版)。

我们想要使用它的主要原因是使用逆向工程功能,从 C++ 到 UML。

我们的代码库是使用 Doxygen 标签记录的。

现在,EA 的解析器似乎无法识别这些标签。有什么方法可以启用它吗?

编辑: 我要找的东西不是要插入到UML中,而是要添加到项目的模型中。例如,方法的@param 标签定义的信息被插入到方法的"notes" 中,而不是参数的"notes" 中。生成模型等时不考虑@author doxygen 标签。

解析器的一些简单的开箱即用定制可能不可用。

我正在解决导入自定义元数据的类似问题(开发人员负责 class,相应的数据库 table 或视图映射实体、部署包 (.dll) 和架构层,人-友好的 class 描述、对规范文档的引用等)包含在其他地方,并以非正式注释和正式标记值的形式在 Enterprise Architect 中提供它们。

在尝试将此元数据信息生成为 doxygen 样式注释后,我放弃了,因为 doxygen 注释解析器似乎无法自定义,并且为了使非 ascii 字符正确导入,源代码文件必须包含 UTF-8 BOM 前导码,它不是非常适合第 3 方遗留工具的编码。

我决定采用生成 XMI file 的方式,所有元数据都放在 tagsdocumentation XML 元素中。

在我解决组合和聚合关系的正确 XMI 编码之前,项目停止在所有 classes 和属性和关联以及所有元模型属性(如注释和标记值)都在的阶段在不到 600 行的 C# XMI 特定代码中,我们在 EA 中有几千个 classes 可供分析师使用。

对于您的情况,您可以通过类似的方式解决需求:

  1. 使用逆向工程将 C++ 代码库导入 Enterprise Architect
  2. 使用 doxygen 的 GENERATE_XML 功能等工具提取 doxygen 注释元数据
  3. 以双向友好的 XMI 格式导出 Enterprise Architect 模型
  4. 编写一个单一用途的工具,它将获取 XMI 模型、您的注释元数据并吐出用您的专有信息注释的新 XMI 模型
  5. 导入 XMI 模型,完成。

对于步骤 3...5,可能有更简单的方法,因为 Enterprise Architect 具有 Scripting and Automation 接口,允许 read/modify 使用 Visual Basic 或 [=] 等语言的模型13=]