用例圖 是 統一模型語言 (UML),從使用者的觀點提供系統功能需求的視覺化表示。本文深入探討用例圖的核心概念,透過範例說明其組成部分,並解釋基本用例、擴展與包含用例如何與用例範本及順序圖相關聯。
用例圖的關鍵概念
參與者
參與者代表與系統互動的使用者或外部系統。他們可以是人類使用者、其他系統或硬體裝置。參與者以人形圖示或系統邊界外的標籤方框來表示。
用例
用例代表系統提供的功能或服務。它們描述參與者與系統之間為達成特定目標而進行的互動。用例以系統邊界內的橢圓形來表示。
關係
關係顯示參與者與用例之間的互動,以及用例之間的依賴關係。用例圖中的主要關係包括:
- 關聯:一條連接參與者與用例的線,表示該參與者參與該用例。
- 包含:一條從基本用例指向包含用例的虛線箭頭,表示包含用例是基本用例的必要部分。
- 擴展:一條從擴展用例指向基本用例的虛線箭頭,表示在特定條件下,擴展用例會向基本用例添加可選行為。
範例:自動櫃員機系統
讓我們以自動櫃員機(ATM)系統為例,說明用例圖的概念及其與用例範本和順序圖的關係。
用例圖
ATM系統的用例圖如下所示:
參與者:
- 使用者
用例:
- 登入
- 提款
- 查詢餘額
- 向慈善機構捐款
- 轉帳
- 支付帳單
關係:
- 「登入」用例是一個基本用例,包含其他用例,例如「提款」、「查詢餘額」、「向慈善機構捐款」、「轉帳」和「支付帳單」。
- 「登入」用例具有處理無效密碼和會話超時的擴展點。
用例範本
用例範本提供每個用例的詳細文件,包括其描述、參與者、前置條件、後置條件和事件流程。
範例:「登入」用例範本
- 用例名稱:登入
- 參與者:使用者
- 前置條件:使用者位於自動櫃員機前。
- 後置條件:使用者已登入,或顯示錯誤訊息。
- 事件流程:
- 使用者插入ATM卡。
- 系統提示輸入密碼。
- 使用者輸入密碼。
- 系統驗證密碼。
- 如果密碼正確,系統將使用者登入。
- 如果密碼錯誤,系統處理無效密碼(擴展)。
- 如果會話超時,系統處理會話超時(擴展)。
擴展點:
- 無效密碼:
- 條件: 輸入的密碼不正確。
- 流程:
- 系統顯示錯誤訊息。
- 系統再次提示輸入密碼。
- 會話逾時:
- 條件: 使用者在一段時間內未操作。
- 流程:
- 系統登出使用者。
- 系統顯示逾時訊息。
順序圖
順序圖透過顯示物件之間如何隨時間互動,來模擬系統的動態行為。它們著重於物件之間交換訊息的順序。
範例:「登入」的順序圖
「登入」使用案例的順序圖如下所示:

物件:
- 使用者
- 自動櫃員機
- 銀行系統
訊息:
- 使用者插入自動櫃員機卡片。
- 自動櫃員機向銀行系統發送請求以驗證卡片。
- 銀行系統驗證卡片,並向自動櫃員機發送回應。
- 自動櫃員機提示輸入密碼。
- 使用者輸入密碼。
- 自動櫃員機向銀行系統發送請求以驗證密碼。
- 銀行系統驗證密碼,並向自動櫃員機發送回應。
- 如果密碼正確,自動櫃員機將使用者登入。
- 如果密碼錯誤,自動櫃員機處理無效密碼(擴展)。
- 如果會話逾時,自動櫃員機處理會話逾時(擴展)。
圖表之間的關係
基本使用案例與包含
「登入」使用案例是一個基本使用案例,包含其他使用案例,例如「提款」、「查詢餘額」、「捐贈給慈善機構」、「轉帳」和「支付帳單」。這表示使用者必須先登入才能執行這些動作中的任何一個。包含關係以從基本使用案例指向被包含使用案例的虛線箭頭表示。
擴展
「登入」使用案例具有處理無效密碼和會話逾時的擴展點。擴展關係以從擴展使用案例指向基本使用案例的虛線箭頭表示。擴展使用案例在特定條件下為基本使用案例添加可選行為。
使用案例範本與順序圖
使用案例範本提供使用案例的詳細描述,包括事件流程。順序圖透過顯示物件在時間上的互動來呈現使用案例的動態行為。使用案例範本中的事件流程對應於順序圖中的訊息序列。
結論
使用案例圖對於從使用者觀點捕捉系統的功能需求至關重要。透過理解參與者、使用案例和關係等關鍵概念,並結合使用案例圖與使用案例範本及順序圖,您可以有效模擬系統的行為。ATM系統範例說明了基本使用案例、擴展與包含使用案例如何與使用案例範本及順序圖相互關聯,從而提供系統需求與行為的全面視圖。
參考資料
-
順序圖 – Visual Paradigm
- 本文說明順序圖是一種強調訊息時間順序的互動圖。它詳細說明順序圖如何呈現情境中涉及的物件與類別,以及它們之間交換訊息的順序。
- 順序圖 – Visual Paradigm 11
-
什麼是順序圖?
-
如何繪製順序圖?
-
如何繪製 UML 順序圖?
- 本教程提供繪製 UML 順序圖的詳細步驟,從簡單的類別圖開始,並針對控制器類別的動態方法呼叫進行建模。
- 如何繪製UML順序圖? 14
-
順序圖教程 – Visual Paradigm
- 本教程解釋了順序圖是什麼,並提供逐步說明如何繪製順序圖。同時鼓勵使用者使用Visual Paradigm Online創建自己的順序圖。
- 順序圖教程 – Visual Paradigm 15
-
Visual Paradigm中的順序圖
- 本章專注於Visual Paradigm中的順序圖,解釋如何繪製順序圖,以及其主要用途在於以順序方式展示物件之間的互動。
- Visual Paradigm中的順序圖 16
-
順序圖 – UML圖 – Visual Paradigm
- 本文討論順序圖如何根據時間序列模擬物件之間的協作,展示物件在特定用例情境下的互動方式。
- 順序圖 – UML圖 – Visual Paradigm 17
-
順序圖範例 – Visual Paradigm社群圈
- 此範例展示了一個順序圖,詳細說明操作是如何執行的,包括發送了哪些訊息以及何時發送。同時說明順序圖如何根據時間進行組織。
- 順序圖範例 – Visual Paradigm社群圈 18
-
使用參考 – Visual Paradigm社群圈
- 此範例展示了一個引用其他順序圖的順序圖,例如「餘額查詢」和「扣款帳戶」。說明了序列如何開始並透過各種互動逐步進行。
- 使用參考 – Visual Paradigm社群圈 19
