1 簡介
PlantUML是一個開源項目,支持通過簡單直觀的語言來定義以下UML圖。
- 時序圖
- 用例圖
- 類圖
- 活動圖
- 組件圖
- 狀態圖
- 對象圖
- 部署圖
- 定時圖
支持生成圖片格式有:
- PNG
- SVG
- LaTeX
- ASCII藝術圖 (只針對時序圖)
2 應用場景
-
在線使用。在圖床網站上,使用文本語言生成圖片鏈接。
-
離線使用
-
在IDE或者在線倉儲中集成
- AndroidStudio
- Eclipce
- Intellij IDEA
- Sublime
- GitLab
-
獨立生成圖片。在命令行下從文本生成圖片。
-
3 示例
3.1 離線獨立生成UML圖
(1)安裝命令
sudo apt install plantuml
sudo apt install -y graphviz default-jre
chmod +x plantuml.jar
(2)編寫圖片腳本
以下是一個區塊鏈消費2-3多簽UTXO的序列圖。
@startuml
participant "2-3共享錢包\n(用戶1)" as 用戶1
participant "2-3共享錢包\n(用戶2)" as 用戶2
participant "2-3共享錢包\n(用戶3)" as 用戶3
用戶1 -> 用戶1 : 多簽轉賬
activate 用戶1
用戶1 -> 用戶1 : 根據轉賬要求創建多簽交易(未簽名)
activate 用戶1
deactivate 用戶1
用戶1 -> 用戶1 : 對交易簽名
activate 用戶1
用戶1 -> 用戶2 : 發送多簽交易(未簽名),請求簽名
deactivate 用戶1
用戶2 -> 用戶2 : 授權簽名
activate 用戶2
用戶2 -> 用戶1 : 將簽名發送給用戶1
deactivate 用戶2
用戶1 -> 用戶1 : 組合用戶1,2的簽名,生成簽名交易
activate 用戶1
deactivate 用戶1
用戶1 -> 用戶1 : 驗證多重簽名
activate 用戶1
deactivate 用戶1
用戶1 -> 用戶1 : 將簽名交易廣播到鏈上
activate 用戶1
deactivate 用戶1
deactivate 用戶1
@enduml
(3)命令行生成圖片
調用PlantUML工具生成圖片。
java -jar plantuml.jar sequenceDiagram.txt
圖片如下:

4 引用
- [1].PlantUML官網
- [2].使用 PlantUML 繪制 UML
- [3].在線使用Plant Text生成UML圖
- [4].PlantUML圖床
