幾款畫UML圖的工具初步比較


最近需要畫UML圖,從網上找了幾個工具軟件,比較了一下,發現各有優缺點。畫UML圖的工具大致可以分為兩類,一類是專業的繪圖工具,帶了畫UML的功能,如Visio、Dia;另一類是專門用來制作UML圖的,如ArgoUML和Rose,通常都有根據UML圖直接生成代碼。

如果只是簡單的畫下,這幾個工具都夠用,但是如果對細節要求嚴格一些,則都有不足的地方。如果以R.Martin的《敏捷軟件開發》中的UML圖為標准,則用這幾款軟件都無法嚴格做出其中的圖形。當然對於Visio、Dia這樣的繪圖工具,還可以一點一點用基本圖形拼出來,但這就煩了一點。例如在序列圖(sequence diagram)里,一個調用除了有消息名以外,還可以有返回值,用一個帶箭頭的小圈表示,這個在上面的幾個工具里都沒有直接提供的。

當然不能因為沒找到完美的工具就不畫UML圖了,最終還是選了最新版的Diav0.96.1。雖然畫出來的圖顯得粗糙了點,但UML的一些基本的圖形都有,而且集中在一個面板里,不像Visio分了好幾個區,找個圖形還要到處點。在生成類圖之類的時候點開屬性也沒有Rose、Visio、ArgoUML那樣一大堆屬性擺在你面前,讓你選也不好,不選也不好。說到底還是因為反正這些工具都不能完全滿足我,那干脆選個最簡單的。當然還有一個原因是我比較偏愛開源軟件,雖然我不會去改它的代碼,但人家好歹是跨平台的。幾年前的一個Dia版本在我的電腦上運行老是死掉,現在這個用了幾天了,也沒什么問題,看來穩定性提升了一些。

昨天在知乎看到大神推薦了一款在線畫圖神器ProcessOn,可以在線花很多種圖,完成很多工作,頓時有種相見恨晚的感覺。

另外還看過幾個工具,沒試過。Gaphor看上去很美,又是用Python開發的,但是我沒辦法讓它在windows下跑起來,於是也只有流口水的份了。Graphviz也可以用來畫UML圖,不過功能有限,只見過有人用它畫類圖,而且我只想要一個可視化的UML繪圖工具,不想在思考軟件結構的時候又去考慮怎么用dot語言描述出一個UML圖形的問題。

這里列出了很多UML工具,有興趣的可以自己去看看:

http://en.wikipedia.org/wiki/ListofUML_tools  

http://plg.uwaterloo.ca/~migod/uml.html

 


免責聲明!

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



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