2010-05-29 90 views
9

我需要为项目制作一个UML类图。过去我使用Sparx Enterprise Architect从图表生成源代码,所以我使用它。Sparx Enterprise Architect转换(从源代码到UML)

的项目已经完成,因此所有的代码都做,我真的不希望手动编写所有的类/函数,所以我试图生成从源代码的图,但似乎无法找到一种方法来做到这一点。我在网上搜索和在他们的网站上,但没有。

任何帮助表示赞赏。

+0

您认为您通过这样做增加了什么价值?我会坚持一个显示模块职责的包图,并使用像doxygen这样的文件来记录项目的构建。 – 2010-05-30 10:52:58

+0

我只是做了它,因为我不得不(事先没有人告诉我)。我总是用doxygen记录项目。 – user228938 2010-05-31 16:43:26

+0

我不确定这很有道理; Doxygen可以生成UML风格的类图。 – Clifford 2011-06-01 22:23:16

回答

6

这就是所谓的“reverse engineering”的代码输入到模型中。在模型中后,您可以制作图表。

+1

逆向工程的概念很好,但现实是不同的!如果仔细查看模型,您会意识到项目中有50%以下的项目已真正映射到模型中。我尝试了Java反转,但其他反转可能会更好。 – 2010-05-30 10:02:18

+0

即使值得,因为如果您从您的模型生成代码,然后从您的代码重新创建模型,您已经失去了70%的初始类图模型! 问题是模型和代码生成之间没有可追溯性。只有EclipseUML Omondo允许此功能,因为它们具有合并选项。 – 2010-05-31 09:58:33

+1

@ roko-sifredi - 几年前,我发现Sparx Enterprise Architect使用C#在往返工程中工作良好。 – ChrisW 2010-05-31 10:08:36

10

对于EA企业版的第8版。 打开或创建一个项目。 创建空的类图。 菜单选择: 项目 - >源代码工程 - >导入文件 目录对话框打开供您选择文件。

我已经“逆向工程”许多C++项目,大和小。您将花费大量时间进行清理。这将取决于项目的质量,结构和代码。

然后你就可以生成,我发现非常有用,HTML报告,导航代码就可以了(项目 - >文件)一个文档报告。

1

的,你应该先使用逆向工程的选择,但其他一些网友指出,这是不是从一个EA实力。我过去试过(我认为是7.3版本),用C,Python和Java Projects来完成它,结果并不总是令人满意。

我不知道哪种编程语言是你的代码写成,但作为C,如果你使用预处理指令,你将有很多的结果问题和不兼容性。

相关问题