一位同事正在寻找从Python源代码堆中生成UML类图的方法。他主要对继承关系感兴趣,对组合关系也颇有兴趣,并且不太在乎仅仅是Python原语的类属性。
源代码非常简单明了,没有太大的弊端-例如,它没有做任何花哨的元类魔术。(这主要是从Python 1.5.2时代开始的,其中散布着一些“现代”的2.3ish东西。)
有什么最好的现有解决方案推荐?
一位同事正在寻找从Python源代码堆中生成UML类图的方法。他主要对继承关系感兴趣,对组合关系也颇有兴趣,并且不太在乎仅仅是Python原语的类属性。
源代码非常简单明了,没有太大的弊端-例如,它没有做任何花哨的元类魔术。(这主要是从Python 1.5.2时代开始的,其中散布着一些“现代”的2.3ish东西。)
有什么最好的现有解决方案推荐?
Answers:
Epydoc是从Python源代码生成API文档的工具。它还以花哨的方式使用Graphviz生成UML类图。这是从Epydoc本身的源代码生成的图表示例。
由于Epydoc同时执行对象自省和源解析,因此它可以收集有关静态代码分析器(例如Doxygen)的更多信息:它可以检查大量动态生成的类和函数,但也可以使用注释或未分配的字符串作为文档源,例如用于变量和类的公共属性。
检查此列表的七个python uml工具
某些行为良好的程序可能是图表,但是在一般情况下,这是无法完成的。可以在运行时扩展Python对象,并且可以将任何类型的对象分配给任何实例变量。弄清楚一个对象可以包含指向(组成)的指针的类,将需要对程序的运行时行为有充分的了解。
Python的元类功能意味着对继承结构的推理还需要对程序的运行时行为有充分的了解。
为了证明这些是不可能的,您认为如果存在这样的UML图表生成器,则可以采用任意程序,将“暂停”语句转换为会影响UML图表的语句,然后使用UML图表生成器解决暂停问题,我们知道这是不可能的。
如果您使用eclipse,则可能是PyUML。不过还没有使用过。
.zip
归档文件中安装它。
值得一提的是Gaphor。Python建模/ UML工具。
雨伞也这样做。在菜单中,转到代码->导入项目,然后指向项目的根目录。然后它会反转代码...
该SPE IDE内置了UML的创造者。只需在SPE中打开文件,然后单击UML选项卡即可。
我不知道它对您的需求有多全面,但是不需要任何其他下载或配置。