用例圖是用於需求獲取的統一建模語言 (UML) 圖。用例圖提供了用戶(由參與者表示)希望通過使用系統實現的目標(由用例建模)的圖形概覽。用例圖中的用例可以根據它們的相關性、抽象級別和對用戶的影響進行組織和排列。它們可以被鏈接以顯示它們的依賴關係,包括、擴展、生成關係。
用例描述了要構建的系統旨在滿足的特定業務目標。從圖形上看,它是一個橢圓形,名稱看起來很簡單,但卻是用於管理業務目標或項目目標的最常用工具。
用例圖符號總結
符號 說明 |
視覺表現 |
演員
- 有人與用例(系統功能)交互。
- 以名詞命名。
- 演員在商業中扮演角色
- 類似於用戶的概念,但是一個用戶可以扮演不同的角色
- 例如:
- 一個教授。可以是講師,也可以是研究員
- 在兩個系統中扮演 2 個角色
- 參與者觸髮用例。
- Actor 對系統負責(輸入),Actor 對系統有期望(輸出)。
|
|
用例
- 系統功能(過程 – 自動或手動)
- 以動詞+名詞(或名詞短語)命名。
- 即做某事
- 每個 Actor 必須鏈接到一個用例,而某些用例可能沒有鏈接到 Actor。
|
|
關聯鏈接
- 參與者在用例中的參與是通過將參與者連接到用例中來顯示的。
- 參與者可以通過關聯連接到用例,這表明參與者和用例使用消息相互通信。
|
|
系統邊界
- 系統邊界可能是需求文檔中定義的整個系統。
- 對於大型複雜系統,每個模塊都可能是系統邊界。
- 例如,對於一個組織的 ERP 系統,每個模塊,如人事、工資、會計等。
- 可以為特定於這些業務功能中的每一個的用例形成系統邊界。
- 整個系統可以跨越所有這些描述整個系統邊界的模塊
|
|
擴展
- 表示 “無效密碼” 用例可能包括(根據擴展中的規定)由基本用例 “登錄帳戶”指定的行為。
- 用帶有虛線的定向箭頭描繪。箭頭的尖端指向基本用例,子用例連接在箭頭的底部。
- 構造型“<<extends>>”標識為擴展關係
|
|
包括
- 當一個用例被描述為使用另一個用例的功能時,用例之間的關係被命名為包含或使用關係。
- 一個用例包括另一個用例中描述的功能,作為其業務流程的一部分。
- 從基本用例到子用例的使用關係表明基本用例的實例將包括在子用例中指定的行為。
- 包含關係用具有虛線的定向箭頭來描繪。箭頭的尖端指向連接在箭頭底部的子用例和父用例。
- 構造型“<<include>>”將關係標識為包含關係。
|
|
概括
- 泛化關係是用例之間的父子關係。
- 子用例是父用例的增強。
- 泛化顯示為帶有三角形箭頭的定向箭頭。
- 子用例連接在箭頭的底部。箭頭的尖端連接到父用例。
|
用例圖——車輛銷售系統
下圖顯示了車輛系統的用例圖示例。如您所見,即使是像汽車銷售系統一樣大的系統也包含不超過 10 個用例!這就是用例建模的美妙之處。
用例模型還展示了extend 和include 的使用。此外,參與者和用例之間存在關聯。