1. 程式人生 > >UML繪圖工具——PlantUML

UML繪圖工具——PlantUML

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

圖片如下:

img

4 引用