用例圖是一種行為UML圖類型 ,經常用於分析各種系統。它們使您能夠可視化系統中不同類型的角色以及這些角色與系統的交互方式。本用例圖教程將涵蓋以下主題並幫助您創建更好的用例。
用例圖的重要性
如前所述,用例圖用於收集系統的使用要求。根據您的要求,您可以以不同的方式使用這些數據。以下幾種使用方法。
- 識別功能以及角色如何與它們交互 - 用例圖的主要目的。
- 對於系統的高層次觀點 - 在向管理人員或利益相關者提供時特別有用。您可以突出顯示與系統交互的角色和系統提供的功能,而不必深入系統的內部工作。
- 識別內部和外部因素 - 這可能聽起來很簡單,但在大型複雜項目中,系統可以被識別為另一用例的外部角色。
使用案例圖對象
用例圖由4個對象組成。
- 演員
- 用例
- 系統
- 包
下面進一步解釋這些對象。
演員 (actor)
用例圖中的Actor 是在一個給定係統中執行角色的任何實體。這可能是一個人,組織或外部系統,通常會像下面顯示的框架一樣繪製。
用例 (use case)
用例代表系統中的功能或操作。它被畫成一個橢圓形,並以該功能命名。
系統 (System)
該系統用於定義用例的範圍並繪製為矩形。這是一個可選元素,但在可視化大型系統時非常有用。例如,您可以創建所有用例,然後使用系統對象來定義項目覆蓋的範圍。或者你甚至可以用它來顯示不同版本中覆蓋的不同區域。
包 (Package)
該包是另一個可選元素,在復雜圖表中非常有用。與類圖類似,包被用於將用例組合在一起。它們的繪製方式如下圖所示。
用例圖指南
儘管用例圖可用於各種目的,但繪製用例時還需遵循一些常用指導原則。
這些包括命名標準,箭頭指示,用例放置,系統框的使用以及正確使用關係。
我們在單獨的博客文章中詳細介紹了這些準則。因此,請繼續並查看用例圖指南 >>。
用例圖中的關係
用例圖中有五種類型的關係。他們是
- 演員與用例之間的關聯 (assoication)
- 演員的泛化 (Generalization)
- 擴展兩個用例之間的關係 (Extend)
- 包含兩個用例之間的關係 (Include)
- 用例的泛化 (Geeneralization)
我們已經在一個單獨的博客文章中介紹了所有這些關係,其中包含圖像示例。我們不會在這篇文章中詳細討論,但您可以在用例圖中查看關係 >>。
如何創建用例圖
到目前為止,您已經了解了繪製用例圖時至關重要的對象,關係和準則。我將以銀行系統為例解釋各種流程。
識別演員
參與者是與您的系統進行交互的外部實體。它可以是一個人,另一個系統或一個組織。在銀行體系中,最明顯的角色是客戶。其他角色可以是銀行職員或收銀員,具體取決於您在用例中顯示的角色。
外部組織的一個例子可以是稅務部門或中央銀行。貸款處理器是與演員相關的外部系統的一個很好的例子。
識別用例
現在是識別用例的時候了。做到這一點的一個好方法是確定演員需要從系統中獲得什麼。在銀行系統中,客戶需要開立賬戶,存入和取出資金,請求支票簿和類似的功能。所有這些都可以被視為用例。
頂級用例應始終提供演員所需的完整功能。您可以根據系統的複雜性來擴展或包含用例。
一旦你確定了演員和頂級用例,你就有了系統的基本概念。現在您可以微調它並為其添加額外的細節層。
尋找使用Include的通用功能
尋找可在整個系統中重複使用的常用功能。如果您發現兩個或更多共享通用功能的用例,則可以提取常用功能並將其添加到單獨的用例中。然後你可以通過包含關係來連接它,以表明它在執行原始用例時總是被調用。(請參閱圖表中的示例)。
是否有可能推廣演員和用例
可能有一些情況下,參與者與類似的使用案例相關聯,同時觸發幾個僅對他們唯一的使用案例。在這種情況下,您可以概括演員以顯示函數的繼承。你也可以為用例做類似的事情。
其中一個最好的例子是支付系統中的“付款”用例。您可以進一步將其推廣到“通過信用卡支付”,“按現金支付”,“按支付支付”等等。它們都具有付款的屬性和功能,並具有特殊情況。
可選功能或附加功能
有些功能可以選擇觸發。在這種情況下,您可以使用擴展關係並為其添加擴展規則。此示例說明了登錄帳戶用例在具有兩個擴展點的所有基本用例之間共享,以處理無效進程和中止請求。
尋找UML在線編輯器?點擊一下即可編輯
點擊打開
統一建模語言(UML)閱讀書目
- 什麼是UML?
- 為什麼使用UML建模?
- 14個UML圖類型概述
- 什麼是類圖?
- 什麼是組件圖?
- 什麼是部署圖?
- 什麼是對像圖?
- 什麼是包圖?
- 什麼是複合結構圖?
- 什麼是輪廓圖?
- 什麼是用例圖?
- 什麼是活動圖?
- 什麼是狀態機圖?
- 什麼是序列圖?
- 什麼是通信圖?
- 什麼是交互概覽圖?
- 什麼是時序圖
- UML協會vs聚合vs組合
- UML類圖教程
- 狀態機圖與活動圖