用例圖教程(示例指南)
已發表: 2015-02-19用例圖是一種行為 UML 圖類型,經常用於分析各種系統。 它們使您能夠可視化系統中不同類型的角色以及這些角色如何與系統交互。 本用例圖教程將涵蓋以下主題並幫助您更好地創建用例。
- 用例圖的重要性
- 用例圖對象
- 用例圖指南
- 用例圖中的關係
- 如何創建用例圖(示例)
- 識別參與者
- 識別用例
- 何時使用“包含”
- 如何使用泛化
- 何時使用“擴展”
- 常見場景的用例圖模板
用例圖的重要性
如前所述,用例圖用於收集系統的使用需求。 根據您的要求,您可以以不同的方式使用該數據。 以下是一些使用它們的方法。
- 識別功能以及角色如何與它們交互——用例圖的主要目的。
- 對於系統的高級視圖——在向經理或利益相關者展示時特別有用。 您可以突出顯示與系統交互的角色以及系統提供的功能,而無需深入了解系統的內部工作原理。
- 識別內部和外部因素——這聽起來很簡單,但在大型複雜項目中,系統可以被識別為另一個用例中的外部角色。
用例圖對象
用例圖由 4 個對象組成。
- 演員
- 用例
- 系統
- 包裹
下面進一步解釋這些對象。
演員
演員 用例圖是在一個給定係統中執行角色的任何實體。 這可以是個人、組織或外部系統,通常繪製如下所示的骨架。
用例
用例代表系統內的一個功能或一個動作。 它被畫成一個橢圓並用函數命名。
系統
該系統用於定義用例的範圍並繪製為矩形。 這是一個可選元素,但在您可視化大型系統時很有用。 例如,您可以創建所有用例,然後使用系統對象來定義項目涵蓋的範圍。 或者您甚至可以使用它來顯示不同版本中涵蓋的不同區域。
包裹
包是另一個在復雜圖表中非常有用的可選元素。 與類圖類似,包用於將用例組合在一起。 它們的繪製如下圖所示。
用例圖指南
儘管用例圖可用於各種目的,但在繪製用例時需要遵循一些通用準則。
這些包括命名標準、箭頭方向、用例的放置、系統框的使用以及關係的正確使用。
我們在另一篇博文中詳細介紹了這些指南。 因此,請繼續查看用例圖指南。
用例圖中的關係
用例圖中有五種類型的關係。 他們是
- 參與者和用例之間的關聯
- 演員的概括
- 擴展兩個用例之間的關係
- 包括兩個用例之間的關係
- 用例的泛化
我們在單獨的博客文章中介紹了所有這些關係,其中包含圖像示例。 我們不會在這篇文章中詳細介紹,但您可以查看用例圖中的關係。
如何創建用例圖
到目前為止,您已經了解了繪製用例圖時至關重要的對象、關係和指南。 我將以銀行系統為例來解釋各種流程。
識別參與者
參與者是與您的系統交互的外部實體。 它可以是一個人、另一個系統或一個組織。 在銀行系統中,最明顯的參與者是客戶。 其他參與者可以是銀行員工或收銀員,具體取決於您嘗試在用例中顯示的角色。
外部組織的一個例子可以是稅務機關或中央銀行。 貸款處理器是作為參與者關聯的外部系統的一個很好的例子。
識別用例
現在是確定用例的時候了。 做到這一點的一個好方法是確定參與者需要從系統中得到什麼。 在銀行系統中,客戶需要開立賬戶、存取資金、請求支票簿和類似功能。 因此,所有這些都可以視為用例。
頂級用例應始終提供參與者所需的完整功能。 您可以根據系統的複雜性擴展或包含用例。
一旦您確定了參與者和頂級用例,您就會對系統有一個基本的了解。 現在您可以對其進行微調並為其添加額外的細節層。
尋找常用功能以使用包括
尋找可以在整個系統中重用的通用功能。 如果您發現兩個或多個共享通用功能的用例,您可以提取通用功能並將其添加到單獨的用例中。 然後你可以通過包含關係來連接它,以表明它總是在執行原始用例時被調用。 (參見圖表示例)。
是否可以泛化參與者和用例
在某些情況下,參與者與類似的用例相關聯,同時觸發了一些只有他們獨有的用例。 在這種情況下,您可以泛化 actor 以顯示函數的繼承。 您也可以為用例做類似的事情。
最好的例子之一是支付系統中的“付款”用例。 可以進一步概括為“信用卡支付”、“現金支付”、“支票支付”等。它們都具有支付的屬性和功能,具有獨特的特殊場景。
可選功能或附加功能
有一些功能是可選觸發的。 在這種情況下,您可以使用擴展關係並為其附加擴展規則。 在下面的銀行系統示例中,“計算獎金”是可選的,僅在滿足特定條件時觸發。
擴展並不總是意味著它是可選的。 有時,通過擴展連接的用例可以補充基本用例。 要記住的是,即使沒有調用擴展用例,基本用例也應該能夠自行執行功能。
用例圖模板
我們已經為一些常見場景創建了用例圖模板。 儘管您的問題或場景不會完全像這樣,但您可以將它們作為起點。 查看我們的用例圖模板。
關於用例圖教程的問題
我們已嘗試全面涵蓋您需要了解的有關創建用例圖的所有內容。 如果您對任何部分有疑問或可以想到改進本教程的方法,請在評論中告訴我們。
更多圖表教程
- 序列圖教程:帶示例的完整指南
- 業務流程建模教程(BPM 指南解釋功能)
- 終極流程圖指南(帶有示例的完整流程圖教程)