Python code 提取UML


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下安裝
注意: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 的結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM