【发布时间】:2012-09-08 01:28:09
【问题描述】:
我不精通 UML,但我想根据现有的 C++ 代码创建一个类图。其他 StackOverflow 问题表明,两个程序 - Enterprise Architect 和 Rational Software Architect - 相当擅长“逆向工程”C++ 代码(即,基于现有 C++ 代码创建 UML 类图)。
我已经下载了这两个应用程序的试用版。但是,我无法在理解如何在这些应用程序中创建类图方面取得任何进展。
在 Rational Software Architect 中,我创建了一个 UML 项目,但我在程序中找不到任何方法来选择和反向工程,我现有的 C++ 代码。
在 Enterprise Architect 中,我能够导入我的 C++ 代码,但是所有元素(类)都出现在图表中一条无用的、重叠的对角线上。我尝试了其他设置,例如圆形,但这些设置同样无法阅读,因为图表太大(由于属性和方法占用了大量空间),没有任何平移和缩放是有用的。我想要隐藏除类名之外的所有内容(即不显示任何方法或属性),以便所有 20 个类在一个屏幕上方便且清晰地显示。
但是,我无法找到隐藏除类名之外的所有内容的方法。相反,当我发现一个选项(在 Enterprise Architect 中)似乎它可能隐藏除类名之外的所有内容时,由于某种原因,这些元素都在类图中消失了,并且没有重复这些步骤以及删除和重新添加包使类图重新出现。
注意:我的 C++ 代码(至少是我选择导入 Enterprise Architect 的那些文件)只有大约 20 个类。
遗憾的是,对这两个程序的文档进行非常仔细的搜索只能提供一般性信息——据我所知,没有给出关于这两个程序的逆向工程的具体说明。
如果有人能告诉我创建清晰、易于导航的图表的基本步骤,我将不胜感激。仅显示类名的逆向工程(即 C++ 到 UML),因此使用 Enterprise Architect 或 Rational Software Architect 或任何其他工具,可以在一个屏幕上(清晰地)显示大约 20 个类这样做(我建议 EA 和 Rational 只是因为它们已在其他 StackOverflow 答案中被强调为可用于此目的的最佳程序)。
【问题讨论】:
-
我对这些程序一无所知,但是您可能想研究 doxygen,它是免费软件并且可能满足您的需求,有一个简单的example here。
-
如果您想查看 Doxygen 文档的工作输出,我建议您查看link,我在其中使用 Doxygen 记录了我所做的一个项目,该项目有助于将基本的英语伪代码转换为 Python/ C++/Java 代码。
标签: c++ uml enterprise-architect