PlantUML 使用案例圖語法指南

什麼是使用案例圖?

一個使用案例圖是一種行為藍圖,用於視覺化系統使用者(稱為參與者)與他們希望完成的特定動作或目標(稱為使用案例)之間的關係。與展示逐步邏輯迴圈不同,使用案例圖提供了系統功能範圍的高階概覽,使其成為定義專案需求、系統邊界和利益相關者工作流程的優秀工具。

使用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

語法解析: 此範本突顯單一使用案例(下訂單)強制調用(產生發票),並使用<<包含>>標籤,以虛線連接。同時,套用優惠碼被正確地建模為透過<<擴展>>指向基礎執行的反向分支。所有外部參與者仍明確地隔離在系統封包之外。

返回頂端