用例圖是統一模型語言(UML)中的行為圖統一模型語言(UML),提供系統預期功能的高階圖形視圖。它透過展示使用者(參與者)與他們所執行的功能(用例)之間的關係,來定義系統做什麼系統做什麼,透過展示使用者(參與者)與他們所執行的功能(用例)之間的關係。

此圖在需求收集與分析階段至關重要,因為它從商業角度確立了系統的邊界與範圍。
1. 用例圖的核心元素
用例圖僅使用幾個基本元素,使其成為最易閱讀與建立的UML圖表之一。
A. 系統邊界

系統邊界是一矩形,用以視覺化定義所考慮系統的範圍。方框內的一切都是系統的一部分;方框外的一切則為外部。
- 符號: 一個大型矩形。
- 目的: 清楚地區分系統的責任與與其互動的外部實體(參與者)的責任。
B. 參與者

參與者代表任何與系統互動以達成目標的外部實體。參與者不必必須是人類;它可以是另一個系統、硬體裝置,甚至是一個特定的時間事件。
- 符號: 一個標示角色名稱的棒狀人形圖。
- 定義:參與者是一個角色,而非特定個人。例如,“顧客”是參與者,而“珍·多”是該角色的一個實例。
- 參與者的類型:
- 主要參與者:啟動互動以達成期望目標(例如,顧客啟動購買行為)。
- 次要參與者: 為系統提供服務(例如,付款網關).
- 被動參與者: 受用例影響但不主動啟動它(例如,倉儲系統 接收貨物到達通知)。
C. 用例

用例代表單一且完整的功能需求,或一組能為參與者帶來可衡量價值的動作。應以簡單的主動動詞和名詞來表述。
- 符號: 放置在系統邊界內的橢圓。
- 範例: 下訂單, 登入帳戶, 處理退款, 產生報表.
- 關鍵規則:用例必須始終由參與者啟動,並須為一個或多個參與者提供有價值的結果。
2. 用例圖中的關係
關係將參與者與用例連接,並將用例彼此連接,以定義複雜性與流程邏輯。
A. 通訊關聯
這是最簡單且最常見的關係,表示參與者參與某個用例。
- 符號: 一條實線連接參與者與用例的橢圓。
- 目的: 顯示哪些功能由哪些角色啟動或使用。
B. 包含關係(<<包含>>)
當一個特定的使用案例(延伸者)向另一個使用案例(基底者)添加可選或條件性的行為時,便使用包含關係。包含的使用案例是基底使用案例完成其功能所必需的。
- 符號: 一條虛線箭頭,從基底使用案例 指向包含的使用案例,標示為
<<包含>>. - 用法: 用於從多個使用案例中提取共通行為。
- 範例: 下訂單 包含 驗證使用者.
C. 延伸關係(<<延伸>>)
當一個特定的使用案例(延伸者)向另一個使用案例(基底者)添加可選或條件性的行為時,便使用延伸關係。
- 符號: 一條虛線箭頭,從擴展用例至基本用例,標記為
<<擴展>>. - 用法:模擬替代、異常或特殊行為。只有在滿足特定條件時才會發生擴展。
- 範例: 處理付款是基本用例,而應用忠誠度折扣 擴展 處理付款在以下條件下
[若忠誠度為黃金級].
- 範例: 處理付款是基本用例,而應用忠誠度折扣 擴展 處理付款在以下條件下
D. 一般化關係(繼承)
此關係表示某個參與者或某個用例是另一個的特殊版本。
- 符號表示:一條實線,搭配空心三角形箭頭,從特殊元素指向較一般化的元素。
- 用法:
- 參與者: 系統管理員是……的泛化註冊使用者.
- 用例: 以信用卡付款是……的泛化處理付款.
3. 分步範例:一個線上學習平台
想像一下,模擬一個線上學習平台的核心功能。
| 元素 | 類型 | 描述 |
|---|---|---|
| 學生 | 參與者 | 主要使用者角色。 |
| 講師 | 參與者 | 建立並管理內容。 |
| 修課 | 使用案例 | 學生的主要功能。 |
| 查看進度 | 使用案例 | 對學生而言非常有用的機能。 |
| 驗證使用者 | 使用案例 | 兩位參與者共通且必要的步驟。 |
| 建立課程 | 使用案例 | 講師的主要功能。 |
| 產生完成證明 | 使用案例 | 可選功能,可擴展修課. |
流程建模
- 系統邊界:繪製一個大框,涵蓋所有使用案例。
- 生命線:放置學生和講師角色放在框外。
- 通訊:連接學生至選課和查看進度。連接講師至建立課程.
- 包含: 選課和建立課程兩者皆連接至使用者驗證使用案例,以
<<包含>>箭頭,因為登入對雙方都是必要條件。 - 延伸: 這生成完成證明 使用案例連接到修課 以一個
<<延伸>>箭頭,表示僅在以下條件下發生[課程完成100%後].

摘要
UML 使用案例圖是一種強大且簡單的建模工具,專注於功能需求 以及使用者的觀點。透過明確定義參與者、使用案例與系統邊界,您能確保所有利害關係人——從業務分析師到開發人員——對系統設計目的有共同且明確的理解什麼系統被設計來執行的功能。它作為更詳細行為模型(例如序列圖)的起點。
如需了解更多關於UML的補充資訊,以及AI如何協助您進行視覺化,請探索我們的UML資源中心.











