我需要为项目制作一个UML类图。过去我使用Sparx Enterprise Architect从图表生成源代码,所以我使用它。Sparx Enterprise Architect转换(从源代码到UML)
的项目已经完成,因此所有的代码都做,我真的不希望手动编写所有的类/函数,所以我试图生成从源代码的图,但似乎无法找到一种方法来做到这一点。我在网上搜索和在他们的网站上,但没有。
任何帮助表示赞赏。
我需要为项目制作一个UML类图。过去我使用Sparx Enterprise Architect从图表生成源代码,所以我使用它。Sparx Enterprise Architect转换(从源代码到UML)
的项目已经完成,因此所有的代码都做,我真的不希望手动编写所有的类/函数,所以我试图生成从源代码的图,但似乎无法找到一种方法来做到这一点。我在网上搜索和在他们的网站上,但没有。
任何帮助表示赞赏。
这就是所谓的“reverse engineering”的代码输入到模型中。在模型中后,您可以制作图表。
逆向工程的概念很好,但现实是不同的!如果仔细查看模型,您会意识到项目中有50%以下的项目已真正映射到模型中。我尝试了Java反转,但其他反转可能会更好。 – 2010-05-30 10:02:18
即使值得,因为如果您从您的模型生成代码,然后从您的代码重新创建模型,您已经失去了70%的初始类图模型! 问题是模型和代码生成之间没有可追溯性。只有EclipseUML Omondo允许此功能,因为它们具有合并选项。 – 2010-05-31 09:58:33
@ roko-sifredi - 几年前,我发现Sparx Enterprise Architect使用C#在往返工程中工作良好。 – ChrisW 2010-05-31 10:08:36
对于EA企业版的第8版。 打开或创建一个项目。 创建空的类图。 菜单选择: 项目 - >源代码工程 - >导入文件 目录对话框打开供您选择文件。
我已经“逆向工程”许多C++项目,大和小。您将花费大量时间进行清理。这将取决于项目的质量,结构和代码。
然后你就可以生成,我发现非常有用,HTML报告,导航代码就可以了(项目 - >文件)一个文档报告。
的,你应该先使用逆向工程的选择,但其他一些网友指出,这是不是从一个EA实力。我过去试过(我认为是7.3版本),用C,Python和Java Projects来完成它,结果并不总是令人满意。
我不知道哪种编程语言是你的代码写成,但作为C,如果你使用预处理指令,你将有很多的结果问题和不兼容性。
您认为您通过这样做增加了什么价值?我会坚持一个显示模块职责的包图,并使用像doxygen这样的文件来记录项目的构建。 – 2010-05-30 10:52:58
我只是做了它,因为我不得不(事先没有人告诉我)。我总是用doxygen记录项目。 – user228938 2010-05-31 16:43:26
我不确定这很有道理; Doxygen可以生成UML风格的类图。 – Clifford 2011-06-01 22:23:16