什麼是使用案例圖?
一個使用案例圖是一種行為藍圖,用於視覺化系統使用者(稱為參與者)與他們希望完成的特定動作或目標(稱為使用案例)之間的關係。與展示逐步邏輯迴圈不同,使用案例圖提供了系統功能範圍的高階概覽,使其成為定義專案需求、系統邊界和利益相關者工作流程的優秀工具。
使用VPasCode,您可以立即建立清晰、專業的使用案例圖,無需與視覺畫布對齊作戰。本指南跳過了晦澀的傳統符號,專注於日常軟體文件編寫所需的實用語法元素。
核心語法指南:元素與構造
在 PlantUML 中建立使用案例圖,依賴於幾個簡單的結構元素,這些元素包裝在您標準的@startuml 和 @enduml 標籤內。
1. 聲明參與者
參與者代表與您的應用程式互動的外部實體(例如人類使用者、背景服務或外部硬體 API)。您可透過使用actor關鍵字,後面接著內部簡稱 ID:

專業提示: 使用as關鍵字,為複雜的參與者 ID 分配清晰、易讀的顯示字串。
2. 定義使用案例
使用案例代表一個功能目標或業務流程。您可以透過兩種方式定義使用案例:將文字包在括號內(您的使用案例),或明確使用用例複雜格式化的關鍵字:

3. 建立基本互動
要將您的參與者與對應的用例連接,請使用基本的有向或無向關係線。您也可以附加文字標籤,以為互動添加關鍵背景資訊:

4. 進階關係:包含與擴展
在建模複雜系統行為時,您經常需要使用標準的 UML 標記法來顯示不同用例之間的依賴關係:
- 包含(強制依賴):表示一個基本用例需要依賴另一個輔助用例才能成功執行。使用虛線連接線(”
..>) 並附加文字標籤:
- 擴展(可選/條件行為):表示在特定條件下,可選的工作流程可以從基本用例分支出來。請注意,箭頭方向是由 *擴展* 用例指向 *基本* 用例:

5. 強制執行系統邊界
為了清楚區分軟體應用程式內部與外部發生的事件,請使用 “矩形關鍵字用於包裝您的內部使用案例。關鍵的是,演員應保持在此容器區塊之外,以反映他們作為外部參與者的狀態:
演員 客戶
矩形 "電子商務平台" {
(瀏覽目錄)
(加入購物車)
}
客戶 --> (瀏覽目錄)
客戶 --> (加入購物車) 
清晰佈局的最佳實務
- 保持文字簡潔: 使用案例應始終以明確的主動動詞開頭(例如,「產生報表」, 「更新個人檔案」)而非冗長的句子。
- 善用方向性定位點: 如果您的演員和使用案例堆疊在一起而顯得雜亂,請使用空間方向箭頭,例如
-right->或-down->來輕柔地引導佈局引擎形成清晰且易於閱讀的結構。 - 隔離系統邊界: 在記錄與多個第三方微服務互動的應用程式時,應始終使用邊界矩形。這能立即清楚顯示誰負責哪個流程。
現實世界中的 PlantUML 使用案例圖示範例
將以下實用藍圖直接複製貼上至您的 VPasCode 即時編輯器面板,以查看它們如何動態呈現。
範例 1:核心使用者驗證與帳戶管理
此藍圖模擬一個標準應用程式生態系,包含主要使用者、管理運作員,以及包含核心安全機制的邊界框。
@startuml
' 設定佈局方向為從左到右
從左到右方向
演員 "終端使用者" as user
演員 "安全管理員" as admin
矩形 "身分提供者服務" {
(登入)
(重設密碼)
(更新個人檔案資料)
(檢視安全記錄)
(停用帳戶)
}
user --> (登入)
user --> (重設密碼)
user --> (更新個人檔案資料)
(檢視安全記錄) <-- admin
(停用帳戶) <-- admin
@enduml 
語法解析: 指令 從左到右的方向 強制佈局引擎將參與者置於外側翼位,並使用例水平擴展而非垂直擴展。請注意,將參與者宣告乾淨地放置在「矩形」包裝之外,可使它們保持整齊有序,同時為管理員用戶(<-- 管理員)將它們乾淨地固定在圖表矩陣的右側。
範例 2:具備外部依賴項的進階電子商務結帳
此現實世界系統佈局描繪了一個複雜的結帳工作流程,該流程依賴於外部銀行 API、結構包含以及可選的擴展標誌。
@startuml
從左到右的方向
參與者 "顧客" 作為 customer
參與者 "倉庫人員" 作為 staff
參與者 "Stripe 網關" 作為 stripe
矩形 "線上商店履行系統" {
(下訂單)
(套用優惠碼)
(產生發票)
(揀貨包裝項目)
(更新運送狀態)
}
' 系統邊界外的外部互動
customer --> (下訂單)
(下訂單) --> stripe : "授權資金"
' 包含與擴展結構
(下訂單) ..> (產生發票) : <<包含>>
(套用優惠碼) ..> (下訂單) : <<擴展>>
' 履行路徑
(揀貨包裝項目) <-- staff
(更新運送狀態) <-- staff
(產生發票) --> staff : "發送副本郵件"
@enduml 
語法解析: 此範本突顯單一使用案例(下訂單)強制調用(產生發票),並使用<<包含>>標籤,以虛線連接。同時,套用優惠碼被正確地建模為透過<<擴展>>指向基礎執行的反向分支。所有外部參與者仍明確地隔離在系統封包之外。