用例圖主要用來描述“用戶、需求、系統功能單元”之間的關系。它展示了一個外部用戶能夠觀察到的系統功能模型圖。
1.新建用例圖
2.用例圖工具:
3.一個簡單用例:
用例圖所包含的元素如下:
1. Actor:參與者
表示與您的應用程序或系統進行交互的用戶、組織或外部系統。用一個小人表示。
使用者是系統的一個用戶 ;用戶可以意味着人類的用戶,一台機器,或甚至另一個系統或子系統模型中。任何從外面或系統邊界與系統交互的東西被稱為一個使用者。使用者通常與用例相關聯。
使用者可以使用系統,通過圖形用戶界面、 批處理接口或一些其他媒體。在用例的情況下,系統必須提供功能的詳細信息記錄和一個使用案例與使用者的互動來滿足用戶的要求。
使用者也代表了在序列圖中,可以顯示這些用戶的角色並使用矩形表示法。Enterprise Architect 業務建模支持構造型的使用者元素。業務建模元素還將使用者表達作為構造型對象。
2. 用例(Use Case)
用例就是外部可見的系統功能,對系統提供的服務進行描述。用橢圓表示。
用例 是 一UML 建模元素,用來描述一個擬議系統的用戶是如何與系統交互的,以執行離散的功能單元。它描述,並表示為最終用戶 (人員、 機器或其它系統) 的意義,須離開系統中完成狀態的時間單相互作用:
互動已完成或回滾到用例初始狀態:
- 通常具有要求和約束,描述用例的基本特征和規則
- 可以有相關聯的序列圖說明行為的隨時間的變化,誰給誰在做什么,何時做的
- 通常情況下有場景與之相關聯, 描述工作流隨時間產生的結果。已關聯可選擇的工作流 (例如,要捕的異常) 也會啟用
3. 關系
用例圖中涉及的關系有:關聯、泛化、包含、擴展。
a. 關聯(Associate)
表示參與者與用例之間的通信,任何一方都可發送或接受消息。
b. 泛化(Generalize)
就是通常理解的繼承關系,子用例和父用例相似,但表現出更特別的行為;子用例將繼承父用例的所有結構、行為和關系。子用例可以使用父用例的一段行為,也可以重載它。父用例通常是抽象的。
【箭頭指向】:指向父用例
c. 包含(Include)
包含關系用來把一個較復雜用例所表示的功能分解成較小的步驟。
【箭頭指向】:指向分解出來的功能用例
d. 擴展(Extend)
擴展關系是指用例功能的延伸,相當於為基礎用例提供一個附加功能。
【箭頭指向】:指向基礎用例
e. 依賴(Dependency)
以上4種關系,是UML定義的標准關系。但VS2010的用例模型圖中,添加了依賴關系,用帶箭頭的虛線表示,表示源用例依賴於目標用例。
【箭頭指向】:指向被依賴項
4. 包含(include)、擴展(extend)、泛化(Generalize) 的區別:
條件性:泛化中的子用例和include中的被包含的用例會無條件發生,而extend中的延伸用例的發生是有條件的;
直接性:泛化中的子用例和extend中的延伸用例為參與者提供直接服務,而include中被包含的用例為參與者提供間接服務。
對extend而言,延伸用例並不包含基礎用例的內容,基礎用例也不包含延伸用例的內容。
對Inheritance而言,子用例包含基礎用例的所有內容及其和其他用例或參與者之間的關系;