1. 程式人生 > >Python code 提取UML

Python code 提取UML

結構化 bsp linu 表示 block 包括 添加 只需要 層次

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 為要解析的文件或文件夾 輸出結果會直接在命令行當前路徑下產生。 技術分享 以上時不加 -ASmy 的結果

Python code 提取UML