【用途】:幫助開發團隊以一種可視化的方式理解系統的功能需求。
用例圖所包含的元素如下:
1. 參與者(Actor)
表示與您的應用程序或系統進行交互的用戶、組織或外部系統。用一個小人表示。
2. 用例(Use Case)
用例就是外部可見的系統功能,對系統提供的服務進行描述。用橢圓表示。
3. 關係
用例圖中涉及的關係有:關聯、泛化、包含、擴展。
如下表所示:
3-1. 關聯(Association)
表示參與者與用例之間的通信,任何一方都可發送或接受消息。
【箭頭指向】:指向消息接收方
3-2. 泛化(Inheritance)
就是通常理解的繼承關係,子用例和父用例相似,但表現出更特別的行爲;子用例將繼承父用例的所有結構、行爲和關係。子用例可以使用父用例的一段行爲,也可以重載它。父用例通常是抽象的。
【箭頭指向】:指向父用例
3-3. 包含(Include)
包含關係用來把一個較複雜用例所表示的功能分解成較小的步驟。
【箭頭指向】:指向分解出來的功能用例
3-4. 擴展(Extend)
擴展關係是指用例功能的延伸,相當於爲基礎用例提供一個附加功能。
【箭頭指向】:指向基礎用例
包含(include)、擴展(extend)、泛化(Inheritance) 的區別:
條件性:泛化中的子用例和include中的被包含的用例會無條件發生,而extend中的延伸用例的發生是有條件的;
直接性:泛化中的子用例和extend中的延伸用例爲參與者提供直接服務,而include中被包含的用例爲參與者提供間接服務。
對extend而言,延伸用例並不包含基礎用例的內容,基礎用例也不包含延伸用例的內容。
對Inheritance而言,子用例包含基礎用例的所有內容及其和其他用例或參與者之間的關係;
一個用例圖示例: