python逆向工程后没有关系的类图

时间:2015-08-28 00:27:44

标签: python reverse-engineering class-diagram enterprise-architect visual-paradigm

我正在努力研究一个没有记录的Python项目。

我做了一个逆向工程,在Windows环境中获得2次类图:使用sparx EA和视觉范例。

但在这两种情况下,我都得到了一个没有关系的类的类图(即使我确实配置了生成它们的过程)。是可能还是有问题?

2 个答案:

答案 0 :(得分:1)

几乎所有的工具(我自己都有EA的专业知识和RSA的后退)很难显示类之间的关系。基本上他们是RE的结构(文件/包)和单个类的操作/属性。在某些情况下,你也会得到关系但是如上所述:这是有限的。

无论如何,如果你要理解代码,最好完成/纠正类之间缺少的关系,从而添加注释。

答案 1 :(得分:1)

当然,这是可能的。代码中可能没有任何反向工程过程识别为UML关系的东西。确切地说,这将取决于语言和工具,因为没有任何实现语言的标准化UML配置文件。

UML基本上是面向对象的,但在Python中,面向对象是可选的。如果代码没有使用类,那么UML就没有多少工作要做。 Python的动态类型也很难从源代码中推断出变量的类型,这意味着UML工具很难识别关联。

在EA中,您可以在工具 - 选项 - 源代码工程下使用一些选项。在该页面上,有#34;为操作返回和参数类型创建依赖关系,"我认为默认是关闭的。但由于EA将所有Python类型视为var,我认为这不会产生太大影响。

每种语言还有其他选项,但我不认为Python部分中有任何影响人际关系的内容。