Python是一门支持面向对象编程的语言,在大型软件项目中,我们往往会使用面向对象的特性去组织我们的代码,那有没有这样一种工具,可以帮助我们从已有代码中提取出UML图呢?答案是有的。以下,我们逐个介绍这些工具。

 

pyreverse

是一套python code 逆向工程(reverse engineering)的工具。它使用类层次结构的python 项目表示已提取任何可用的信息,可以很方便的应用于UML图的生成,或者单元测试,如pyargo和py2tests。pyreverse 已被整合进pylint。

 

Graphviz 

是贝尔实验室开源的图形绘制工具包

graphviz是一个开源做图软件,能画结构化的抽象和网络图形,在网络,生物信息学,软件工程,数据库和web设计,机器学习, 可视化接口等众多其他技术领域都有应用。

 

我们综合使用pyreverse和Graphviz就可以实现从已有代码中抽取UML图的功能了。

 

如何安装

 

Linux环境下graphviz安装

 

使用yum自动安装,任意路径下执行如下命令:

      yum install 'graphviz*' --skip-broken

      出现提示时,输入“y”。

--skip-broken:跳过错误依赖,不加这个参数会提示安装包依赖错误,因为这里并不需要其它的安装包,所以跳过即可。

 

windows下安装

下载地址:http://www.graphviz.org/Download_windows.php

注意:2.30版本以上,需要手动将其添加到环境变量中去

 

pyreverse工具安装

pyreverse能方便的生成uml类图,pylint里自带了pyreverse这个工具。使用pip安装pylint

pip install pylint


开始使用

一般使用为:pyreverse -ASmy -o png path

-ASmy:为pyreverse选项参数,可以通过pyreverse --help 查看所有参数。-ASmy产生的结果最详细,甚至包括了类属性的结果解析。如果只需要类与类的uml图,建议不加-ASmy。

-o 指定输出文件格式,支持png, svg, dot等

path 为要解析的文件或文件夹

 

输出结果会直接在命令行当前路径下产生。

 

 

UML图怎么画python程序 python uml工具_安装包

以上时不加 -ASmy 的结果