python:利用Graphviz和pyreverse 分析類文件自動生成UML圖

需求

閱讀一些源碼時,想直觀的看一下它的UML類關係圖。
搜索發現已有相關的軟件可以實現這個功能。

安裝軟件

個人開發環境:windows+vscode

  1. graphviz
    在官網安裝即可:graphviz
    注意:安裝好後,將安裝路徑添加到環境變量中。我的路徑是C:\Program Files (x86)\Graphviz2.38\bin
  2. pyreverse
    該程序已集成在pylint模塊中,若未安裝pylint,需先安裝:pip install pylint

使用

操作流程:

  1. pyreverse -ASmy -o dot test.py
    在命令行(python)下執行該命令,作用:pyreverse 會分析test.py中的類關係,然後生成classes.dot文件。
    可指定輸出文件名:pyreverse -ASmy -o dot -p test test.py,運行後會生成classes_test.dot文件。
    也可指定分析某個文件夾:pyreverse -ASmy -o dot folder/
    注:看其他博客可直接一步生成圖片:pyreverse -ASmy -o png test.py。但我會報錯,看提示信息是:只支持輸出dot文件。那就再轉一下吧。
  2. dot -Tpng classes.dot -o test.png
    在命令行下執行該命令,作用:graphviz將.dot文件解析爲圖片。

結果圖如下:
只能看到繼承關係(簡單猜想:若想分析其他類關係,比如依賴、組合等,會極大增加複雜度。)Anyway,暫時滿足簡單需求了。以後想看其他關係,再去認真研究下。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章