免費且好用的UML工具推薦

                                  免費且好用的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/

更多內容,歡迎關注公衆號“嵌入式大玩家”,任何技術問題歡迎留言

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