用例圖主要用來描述“用戶、需求、系統功能單元”之間的關系,在需求分析階段,常會借助用例圖,從用戶的角度描述系統的功能,以圖形可視化的方式作為開發團隊與客戶的交流,同時也有助於形成統一語言。
一、用例圖描述
用例圖(Use Case Diagrame):描述了人們希望如何使用一個系統,將相關用戶、用戶需要系統提供的服務以及系統需要用戶提供的服務更清晰的顯示出來,以便使系統用戶更容易理解這些元素的用途,也便於開發人員最終實現這些元素。之所以說用例圖至關重要,是由於用戶並不關心系統的實現和內部結構,只關心產品所呈現出來的外部特征動態。而用例圖恰好就是描述軟件產品外部特性的視圖,它從用戶的角度而不是從開發者的角度來描述需求,分析產品的功能和動態行為。
二、基本元素
1、參與者(Actor),在系統外部與系統直接交互的角色或外部系統。可通過與客戶的溝通交流,確定利益相關人,進而確定參與者。
- 角色:通常是具體人承擔着角色,這是最常見的參與者。
- 外部系統:如CRM系統要操作OA系統,以方便發送通知,那么針對OA系統的調用,CRM系統作為外部系統這一參與者。
- 時間:如存在定時任務操作或者類似操作等,則時間作為參與者
2、用例
客戶通過對需求的描述(主要為功能需求),開發團隊通過用例來體現系統功能和服務,通過參與者與用例的交互,來達到客戶與開發團隊的目標一致。
3、關聯關系
1)參與者與參與者間的泛化關系
比如騰訊用戶,包括微信用戶和QQ用戶兩部分,但是使用騰訊業務時,只需要是騰訊用戶即可,此時,可以采用泛化關系,采用三角空心箭頭作為指向。
2)參與者與用例間的關聯關系
參與者與用例間是簡單的關聯關系,一個參與者可以有着多個用例
3)用例與用例間的泛化關系
用例之間可以存在泛化關系,比如常見的支付,可以選擇微信支付、支付寶支付等等,但是這個操作就是支付。泛化關系采用三角空心箭頭。
4)用例與用例間的包含關系
包含關系用來把一個較復雜用例所表示的功能分解成較小的步驟。通常可以這么理解,由基礎用例向復雜用例轉換的過程。但是最終被參與者直接操作的還是基礎用例。包含關系的圖形為虛線箭頭加<<include>>,箭頭指向復雜用例。
5)用例與用例間的擴展關系
擴展關系是指用例功能的延伸,相當於為基礎用例提供一個附加功能。當特定條件出現時,該擴展用例的行為才會被執行。擴展關系的圖形為虛線箭頭加上<<<exclude>>>,箭頭指向基礎用例。
三、簡單案例
依照常見的購買操作,設計簡單的用例操作,當然,實際中的用例遠不止這么簡單,本次只是將以上幾種關系融入進來,設計簡單的案例。
至此,針對UML用例圖的相關內容做了大概的總結,需求分析階段,利用用例圖,來方便與客戶形成統一語言,也方便活動圖的設計。
2020-01-22,望技術有成后能回來看見自己的腳步