使用UMLDoclet和PlantUML從源碼生成UML類圖
有時候讀别人的源碼時,搭配UML圖會更加友善易懂,是以研究了一下通過Java代碼生成UML類圖的方法。
工具介紹:
Graphviz
Graphviz 是一款由 AT&T Research 和 Lucent Bell 實驗室開源的可視化圖形工具,可以很友善的用來繪制結構化的圖形網絡,支援多種格式輸出。
Graphviz 的輸入是一個用 dot 語言編寫的繪圖腳本,通過對輸入腳本的解析,分析出其中的點、邊及子圖,然後根據屬性進行繪制。
Graphviz layout 以簡單的文本語言描述圖形,并以實用的格式制作圖表,如用于網頁的 images 和 SVG ;用于放入在其它檔案中或顯示在互動式圖形浏覽器中的 PDF 和 Postscript 。
PlantUML
PlantUML是一個通過簡單直覺的語言,利用Graphviz來繪制UML圖的Java類庫。支援的UML圖包括:時序圖、用例圖、類圖、元件圖、活動圖等。
UMLDoclet
UMLDoclet可以在生成javadoc時,根據java代碼自動生成PlantUML圖像并插入到javadoc頁面中。
工具安裝
Graphviz安裝
在接下來的頁面中找到你要的版本,由于PlantUML推薦使用32位的Graphviz,是以這裡下載下傳32位的安裝包:
10/cmake/Release/Win32/graphviz-install-2.44.1-win32.exe
在安裝時記得選擇Add Graphviz to the system PATH for all users
安裝之後右鍵螢幕左下角開始菜單,選擇Windows PowerShell(管理者)
一定要用管理者身份
在打開的PowerShell(CMD也可以)中運作dot -c
至此Graphviz安裝完成
UMLDoclet下載下傳
PlantUML不需要安裝,因為UMLDoclet已經包含了。
UMLDoclet需要Java9及以上,請自行配置你的IDE。
由于我這個項目是用ant編譯的,是以要自己配置jar包。如果你是用maven或者gradle,直接去看官網教程
由于最新版沒有提供jar包,而且我自己編譯失敗了,是以下載下傳了一個舊版jar包
打開後搜尋umldoclet即可
下載下傳好的jar包可以放到項目的lib檔案夾裡。
在Eclipse的ant項目中使用UMLDoclet
由于時間關系,我目前僅在NetBeans中試用了UMLDoclet,Eclipse下大同小異,就是在ant腳本中加入一段配置,可以參考NetBeans的方法。以後有空再做補充。
在NetBeans的ant項目中使用UMLDoclet
打開項目檔案夾中的nbproject裡的build-impl.xml
找到target:-javadoc-build
在該标簽下的前一行插入以下配置代碼:
1
2
path就是UMLDoclet的jar包位置
最後在NetBeans裡右鍵項目,選擇Generate Javadoc即可生成。