1、概念
用例圖(Use Case Diagram)是使用者與系統互動的最簡表示形式,展現了使用者和與TA相關的用例之間的關聯關係。
透過用例圖,人們可以獲知系統不同種類的使用者和用例:
- 用例圖呈現出誰將是相關的使用者。
- 使用者希望系統提供什麼樣的服務。
- 使用者需為系統提供什麼樣的操作。
2、構成元素
2.1、系統(System)
由一系列的相互作用的元素形成的具有特定功能的整體。一般以矩形來表示。
2.2、參與者(Actor)
存在於系統外部並直接與系統進行互動的人、系統、子系統或類外部實體的抽象。一般以人形圖示來表示。
2.3、用例(Use Case)
用來描述系統提供給參與者的服務或功能。一般以橢圓來表示。
2.4、關係(Relationship)
參與者和用例間的關聯關係。一般透過連線線表示。
- 關聯關係
- 包含關係
- 擴充套件關係
- 泛化關係(也稱繼承關係)
3、示例圖
4、示例圖說明
1、銀行應用是一個系統,提供登入、檢查賬單、轉賬、付款功能;
2、登入、檢查賬單、轉賬、付款 屬於用例,注意每個用例都是一個動詞,最好將用例按照邏輯順序排列;
3、客戶作為銀行應用的主要參與者放在系統左邊,銀行作為銀行應用的次要參與者放在系統右邊;次要參與者基於主要參與者的動作做出響應;
4、關係說明:
4.1、關聯關係
客戶需要與登入、檢查賬單、轉賬、付款直接互動,用實線連線表示這種關聯關係。
同時客戶想在應用上檢視餘額時,銀行將提供餘額;客戶想轉賬或付款時,銀行將完成這些交易;所以銀行和這些用例也要用實線連線。
不需要將銀行和登入連起來,因為這個動作發生在銀行應用內部,銀行沒有必要參與登入過程。
4.2、包含關係
包含一個基本用例和一個包含用例。每次執行基本用例時,包含用例也會執行。
用帶箭頭的虛線由基本用例指向包含用例,箭頭上註明 <<include>>。
客戶登入時,銀行應用會驗證密碼。
客戶想要轉賬或付款時,銀行應用要驗證有充足的資金完成交易。
4.3、擴充套件關係
包含一個基本用例和一個擴充套件用例。每次執行基本用例時,擴充套件用例有時會觸發,有時不會觸發(擴充套件用例只有在滿足某些條件時才會觸發)。
用帶箭頭的虛線由擴充套件用例指向基本用例,箭頭上註明 <<extend>>。
客戶登入時,銀行應用會驗證密碼,驗證密碼錯誤時才會提示登入錯誤。
4.4、泛化(繼承)關係
一般包含一個父用例和多個子用例。子用例有著父用例的功能,並且子用例通常還有自己特有的功能。
用空心三角箭頭的實線由子用例指向父用例。
當客戶從銀行應用付款時,銀行應用會提供兩種付款方式:儲蓄賬戶支付、信用卡賬戶支付。
參考:https://www.bilibili.com/video/BV1qN41177fw/?spm_id_from=333.788.recommend_more_video.0&vd_source=63c4bb310d969ae328d2f0b599ceac1a