UML 之 用例图
????? 用例圖是指由參與者(Actor)、用例(Use Case)以及它們之間的關系構成的用于描述系統功能的靜態視圖。用例圖(User Case)是被稱為參與者的外部用戶所能觀察到的系統功能的模型圖,呈現了一些參與者和一些用例,以及它們之間的關系,主要用于對系統、子系統或類的功能行為進行建模。
1、構成部分
??? 用例圖由參與者(Actor)、用例(Use Case)、系統邊界、箭頭組成,用畫圖的方法來完成。
(1)?參與者:是指系統以外的,在使用系統或與系統交互中所扮演的角色
????? 參與者不是特指人。因此參與者可以是人,可以是事物,也可以是時間或其他系統等等。要注意的是,參與者不是指人或事物本身,而是表示人或事物當時所扮演的角色。比如小明是圖書館的管理員,他參與圖書館管理系統的交互,這時他既可以作為管理員這個角色參與管理,也可以作為借書者向圖書館借書,在這里小明扮演了兩個角色,是兩個不同的參與者。參與者在畫圖中用簡筆人物畫來表示,人物下面附上參與者的名稱。
(2)用例:是對包括變量在內的一組動作序列的描述
?
????? 系統執行這些動作,并產生傳遞特定參與者的價值的可觀察結果。這是UML對用例的正式定義。可以理解,用例是參與者想要系統做的事情。對于對用例的命名,我們可以給用例取一個簡單、描述性的名稱,一般為帶有動作性的詞。用例在畫圖中用橢圓表示,橢圓下面附上用例的名稱。
(3)系統邊界:是用來表示正在建模系統的邊界。
????? 邊界內表示系統的組成部分,邊界外表示系統外部。系統邊界在畫圖中方框來表示,同時附上系統的名稱,參與者畫在邊界的外面,用例畫在邊界里面。因為系統邊界的作用有時候不是很明顯,所以我個人理解,在畫圖時可省略。
(4)箭頭:用來表示參與者和系統通過相互發送信號或消息進行交互的關聯關系。
????? 箭頭尾部用來表示啟動交互的一方,箭頭頭部用來表示被啟動的一方,其中用例總是要由參與者來啟動。
2、用例圖作用
????? 主要的作用有三個:(1)獲取需求;(2)指導測試;(3)還可在整個過程中的其它工作流起到指導作用。
(1)元素之間的關系:
????? 用例圖中包含的元素除了系統邊界、角色和用例,另外就是關系。關系包括用例之間的關系,角色之間的關系,用例和角色之間的關系。
[1] 角色之間的關系。由于角色實質上也是類,所以它擁有與類相同的關系描述,即角色之間存在泛化關系,泛化關系的含義是把某些角色的共同行為提取出來表示為通用的行為。
[2]用例之間的關系:關聯、泛化、包含、擴展。
如下表所示:
?
a. 關聯(Association):表示參與者與用例之間的通信,任何一方都可發送或接受消息。
【箭頭指向】:指向消息接收方
?
b. 泛化(Inheritance) 等同于有的地方說的 概括(generalize)
就是通常理解的繼承關系,子用例和父用例相似,但表現出更特別的行為;子用例將繼承父用例的所有結構、行為和關系。子用例可以使用父用例的一段行為,也可以重載它。父用例通常是抽象的。
【箭頭指向】:指向父用例
?
c. 包含(Include)
包含關系用來把一個較復雜用例所表示的功能分解成較小的步驟。
【箭頭指向】:指向分解出來的功能用例
?
d. 擴展(Extend)
擴展關系是指用例功能的延伸,相當于為基礎用例提供一個附加功能。
【箭頭指向】:指向基礎用例?
e. 依賴(Dependency)
以上4種關系,是UML定義的標準關系。但VS2010的用例模型圖中,添加了依賴關系,用帶箭頭的虛線表示,表示源用例依賴于目標用例。
【箭頭指向】:指向被依賴項
?
5. 項目(Artifact)
VS2010中引入了“項目”這樣一個元素,以便讓開發人員能夠在用例圖中鏈接一個普通文檔。
用依賴關系把某個用例依賴到項目上:
然后把項目-》屬性 的Hyperlink設置到你的文檔上;
這樣當你在用例圖上雙擊項目時,就會打開相關聯的文檔。
6. 注釋(Comment)
?
注意:包含(include)、擴展(extend)、泛化(Inheritance) 的區別:
條件性:泛化中的子用例和include中的被包含的用例會無條件發生,而extend中的延伸用例的發生是有條件的;
直接性:泛化中的子用例和extend中的延伸用例為參與者提供直接服務,而include中被包含的用例為參與者提供間接服務。
對extend而言,延伸用例并不包含基礎用例的內容,基礎用例也不包含延伸用例的內容。
????? 對Inheritance而言,子用例包含基礎用例的所有內容及其和其他用例或參與者之間的關系;
????? 用例圖示例:
?
?
轉載于:https://www.cnblogs.com/xinaixia/p/4398371.html
總結
- 上一篇: Easyui 异步树直接所有展开
- 下一篇: 长知识啊。。