用例圖之間的幾種關系
1. 執行者與執行者之間的唯一關系(繼承)
A.解釋
執行者與執行者之間只有一種關系即繼承(也叫泛化)。其意義與面向對象過程中的繼承關系類似,但它主要強調子類執行者對父類執行者與用例之間的交互行為的繼承。
B.表示形式
(從子類指向父類)
C.核心
兩個或兩個以上執行者之間有共性,共性單獨設為一個執行者。
D.例子
在教務管理系統中,老師、學生、用戶之間的關系
理解:老師和學生都是用戶的子類,所以繼承了用戶身份驗證和注冊操作
E.有什么用?
1.減少代碼的冗余量
2.易於修改
2.執行者與用例之間的關系(關聯)
A.解釋
通常來講,執行者與用例之間的關系都是用無向邊表示的(可理解為雙向傳遞信息)
B.表現形式
C.核心
對號入座
D.例子
管理員與用戶身份驗證的關系
但也有特殊情況,如下所述
1.當多個執行者與用例相連時,為了強調某個執行者是主要執行者,就在執行者到用例之間加上一條邊。
2.被動執行者僅從用例獲取信息,而不提供信息給用例,那么此時用例到執行者之間就可以連一條有向邊。
E.有什么用
1.使程序整潔了,避免混亂
2.使軟件開發符合要求,難出現缺斤少兩的現象。
3.用例與用例之間的關系
3.1 包含(include)
A.解釋
A.1一個用例所需要完成的功能是多個互不聯系的用例的功能之和,那么它們之間就具備着包含關系。
A,2多個用例之間具有共性,就需要把共性提取出來作為一個新的用例,此時新用例與原來的多個用例之間就具備了包含關系。
B.表現形式
(指向包含的用例)
C.核心
對於不同用例而言,提取公共子函數,在登錄教務管理系統中,老師和學生都包含着身份信息驗證這個用例。
對於某一個用例而言,可以采用拆分法,不斷拆分成小的用例。如管理圖書信息這個用例
D.例子
圖書管理系統中,管理圖書信息這個用例就包含增加圖書信息,刪除圖書信息,修改圖書信息,查詢圖書信息四個子用例
E.有什么用?
1.方便軟件開發人員開發出軟件需的功能
2.能使客戶更好的表達自己的觀點(錯則改正)。
3.2 擴展(extend)
A,解釋
通俗點來說就是倒霉到家了,碰到了千萬分之一概率的異常情況,如火車晚點3小時。
B.表現形式
(指向被擴展的用例)
C.核心
異常情況
D.例子
在用戶身份驗證這一用例中,只要輸入賬戶和密碼就可以登錄這個網站了。但有一種特殊情況是用戶忘記了密碼,此時就需找回密碼,而找回密碼很顯然可以作為一個單獨的用例。那么它就相當於在用戶身份驗證這個用例下的一種異常情況,所以用戶身份驗證與找回密碼是擴展關系
E.有什么用
1.提高程序的安全性
2.減少程序的維護成本(因為不怕異常)
3.3 繼承
A.解釋
同執行者與執行者之間的關系類似,只需把執行者變成用例就可以得到其解釋。
B.表現形式
(指向父類)
C.核心
子類繼承了父類的所有非私有屬性和方法,但與父類不同的是它在自己的基礎上增加了一些新的東西.
D.例子
蒙牛公司下的產品——特侖蘇是繼承蒙牛的草場和資金,但他新的地方在於廣告效應深遠和牛奶的質量好
E.有什么用?
同執行者與執行者之間的關系(泛化)。