免費且好用的UML工具推薦
1、引言
統一建模語言(Unified Modeling Language,UML)是一種爲面向對象系統的產品進行說明、可視化和編制文檔的一種標準語言,是非專利的第三代建模和規約語言。UML使用面向對象設計的的建模工具,但獨立於任何具體程序設計語言。
作爲一名程序員,畫UML圖幾乎是必須掌握的一項技能,除非你不寫文檔。工欲善其事必先利其器,用什麼畫UML圖就成爲了一個問題,市面上的工具有很多,VISO、StarUML等等,但要麼收費要麼不好用,本着免費且好用的原則推薦一款工具:PlantUML。
2、安裝
PlantUML是一款開源工具,使用方式有很多種,比如在vscode, webstorm都有相關的插件可以使用。本文基於vscode安裝使用,vscode怎麼安裝本文就不再贅述了,所以假設你已經安裝了vscode。打開vscode在擴展中輸入PlantUML,點擊install即可,如下圖所示,安裝就這麼簡單。
3、使用
爲什麼說它好用呢,因爲PlantUML是用代碼編譯UML圖的,這與VISO的可視化工具不同,不用妥妥拽拽反而效率更高,更適合程序員使用,不誇張的說是會讓你畫UML圖畫上癮的工具。
首先,新建文件。PlantUML支持*.wsd, *.pu, *.puml, *.plantuml, *.iuml幾種文件格式,以.iuml爲例,建立一個Demo.iuml文件用vscode打開,爲了方便管理可以把uml文件放在相關代碼工程文件夾裏。
然後,編寫uml代碼。作爲程序員我們向來不喜歡看說明,所以直接上代碼。
示例1:
@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
@enduml
那示例1是什麼意思,PlantUML有預覽功能,alt+d,直接看圖,如下,
所以看幾個示例,就會用了,繼續。
示例2:進入和發出消息
如果只想關注部分圖示,你可以使用進入和發出箭頭。
使用方括號[和]表示圖示的左、右兩側。
@startuml [-> A: DoWork activate A A -> A: Internal call activate A A ->] : << createRequest >> A<--] : RequestCreated deactivate A [<- A: Done deactivate A @enduml
示例3:組合消息
我們可以通過以下關鍵詞將組合消息:
- alt/else
- opt
- loop
- par
- break
- critical
- group, 後面緊跟着消息內容
可以在標頭(header)添加需要顯示的文字(group除外)。
關鍵詞 end 用來結束分組。
注意,分組可以嵌套使用。
@startuml Alice -> Bob: Authentication Request alt successful case Bob -> Alice: Authentication Accepted else some kind of failure Bob -> Alice: Authentication Failure group My own label Alice -> Log : Log attack start loop 1000 times Alice -> Bob: DNS Attack end Alice -> Log : Log attack end end else Another type of failure Bob -> Alice: Please repeat end @enduml
最後,最關鍵的一步,畫完圖要生成圖片,總不能預覽截圖吧,使用vscode輸入PlanUML命令,
可以選擇導出當前文件圖表,選擇格式,比如png矢量圖,放大不失真這就不同於截圖。
會在out文件夾下生成png圖片,
另外,有一條代碼命令較爲重要,設置圖片分辨率:scale,
可以設置scale值來設置生成圖片的分辨率,效果,試試就知道了~
4、更多
更多請查看官網https://plantuml.com/
更多內容,歡迎關注公衆號“嵌入式大玩家”,任何技術問題歡迎留言