目錄
摘要
1. 什么是 PlantUML
2. 安裝與環境配置
2.1 本地使用
2.2 在線使用
3. 基本語法
3.1 示例:系統架構圖
3.2 常用元素
4. 渲染方式
4.1 VSCode
4.2 在線渲染
4.3 生成圖片
5. 推薦實踐
6. 常見圖類型
7. 進階功能
8. 典型應用場景
摘要
PlantUML 是一款基于文本的圖形繪制工具,支持用簡單、直觀的語法繪制架構圖、流程圖、用例圖等常見技術圖形。它支持本地渲染、集成開發環境(IDE)插件、以及在線渲染服務,廣泛應用于技術文檔、設計評審、DevOps CI/CD 等場景。本手冊介紹 PlantUML 的基本使用方法、開發環境配置、常見圖形語法和推薦實踐,適用于開發、測試、運維、產品等崗位。
1. 什么是 PlantUML
-
基于文本的圖形繪制工具;
-
支持 架構圖、流程圖、狀態圖、部署圖、類圖、時序圖等;
-
語法簡單,適合版本管理、多人協作。
2. 安裝與環境配置
2.1 本地使用
工具 | 安裝方式 |
---|---|
VSCode | 安裝插件:PlantUML、需要 Java 運行環境 |
IntelliJ IDEA | 安裝 PlantUML Integration 插件 |
Typora / Obsidian | 內置或插件支持直接渲染 |
命令行 | 安裝 Graphviz + Java,使用 plantuml.jar 渲染 |
2.2 在線使用
-
官網:https://www.plantuml.com/plantuml
-
API 服務:Kroki!
-
GitLab / GitHub Pages:通過 CI 直接生成
3. 基本語法
3.1 示例:系統架構圖
@startuml
actor 用戶 as Userrectangle "管理頁面" as Astro {[登錄頁面][用戶管理][設備管理]
}rectangle "核心模塊" as Core {[權限管理][業務邏輯]
}database "物聯網平臺" as IoTDAUser --> Astro : 登錄 / 操作
Astro --> Core : API 調用
Core --> IoTDA : 獲取設備數據
@enduml
3.2 常用元素
元素類型 | 語法示例 |
---|---|
角色 | actor 用戶 as User |
模塊 | rectangle "模塊名稱" as Module |
數據庫 | database "名稱" as DB |
箭頭 | A --> B : 調用 / 傳輸 |
分組 | package "模塊組" ... end package |
4. 渲染方式
4.1 VSCode
-
安裝 “PlantUML” 插件
-
打開
.puml
文件,右鍵選擇 "Preview Current Diagram"
4.2 在線渲染
-
復制完整代碼到 PlantUML 官網
-
點擊 “Refresh” 渲染圖形
4.3 生成圖片
-
本地命令行運行:
java -jar plantuml.jar diagram.puml
-
可輸出 PNG / SVG / PDF
5. 推薦實踐
場景 | 推薦做法 |
---|---|
版本管理 | 將 .puml 文件納入 Git 版本管理 |
多人協作 | 使用文本形式,便于代碼評審 |
自動文檔生成 | 配合 CI 工具生成 PNG / HTML 文檔 |
圖形復雜度控制 | 每張圖盡量不超過 20 個模塊 |
6. 常見圖類型
圖類型 | 關鍵語法 |
---|---|
架構圖 | rectangle 、database |
用例圖 | actor 、usecase |
流程圖 | start 、if 、repeat |
時序圖 | participant 、->> |
狀態圖 | state |
類圖 | class 、interface |
部署圖 | node 、artifact |
7. 進階功能
-
樣式優化:
skinparam backgroundColor #F5F5F5 skinparam rectangle {BackgroundColor #FFFFFFBorderColor #999999 }
-
動態引用:支持包含外部文件
!include
-
Kroki API 渲染:無需本地安裝,直接通過 REST API 渲染圖片
8. 典型應用場景
-
技術架構文檔
-
產品需求說明
-
API 調用流程
-
DevOps 持續集成文檔
-
團隊技術分享