《thinking In UML》讀書筆記(四)模型的關係表示

UML模型的關係表示

關聯關係(association)

關聯關係使用一條直線表示,如A—B,它表示一種靜態的關係,通常與運行狀態無關,是由“常識”,“規則”,“法律”等因素決定的強關聯關係。

依賴關係(dependency)

依賴關係用一條虛線箭頭表示,描述一個對象在運行期間會使用到另一個對象。它是一種動態的聯繫。一般而言,依賴關係在最終的代碼裏體現爲類構造方法、類方法等的傳入參數。與關聯關係相比,依賴關係除了臨時知道對方外,還會使用對方的屬性和方法。

擴展關係(extends)

擴展關係使用一條帶箭頭的虛線加《extends》來表示,一般而言,擴展用例是帶有抽象性質的。它表示了用例場景中的某個“支流”,有特定的擴展點觸發而被啓動。在業務模型中,它可以表示一個複雜業務的各個分支。

包含關係(include)

包含關係使用一帶箭頭的虛線加《include》來表示,說明在執行基本用例的實例過程中插入的行爲段。與擴展用例不同的是,包含用例表示的是“必須”而不是“可選”。該關係主要用於基本用例的行爲分解以及在多個用例中分解出其共同的行爲。

實現關係(realize)

實現關係用一條帶空心箭頭的虛線表示,它特別用於在用例模型中表示一個基本用例的具體實現,說明基本用例的實現方式。如:交電話費這個基本用例,可以有營業廳繳費,銀行繳費這兩個實現用例(注意,此處箭頭是指向上一層“交電話費”這個用例的)。

精化關係(refine)

精化關係用一條帶箭頭的虛線加《refine》來表示,一個基本的用例可以分解出許多更小的關鍵精化用例。精化用例只用於建模階段,在實現語言中並沒有這一語義。在概念用例中,概念模型是用於獲取業務模型中的關鍵概念的,從業務模型中分析出實現業務目標的那些核心行爲和實體,從而描述出一個關鍵的業務結構以得到一個易於瞭解的業務框架,這些關鍵概念就是對業務用例的精化。如:“開立賬戶”,“存入現金”,“轉賬”,“支付劃賬”等概念用例就可以精化得到預存話費這一業務框架。

泛化關係(generalization)

泛化關係用一條帶空心箭頭的直線表示。該關係可以用於建模過程中的任一階段。說明兩個對象之間的繼承關係。泛化關係表示一個類對另一個類的繼承。泛化關係是從後代類到其祖先類的關係。(作者不建議在用例之間使用泛化關係)

聚合關係(aggregation)

用一條帶空心菱形箭頭的直線表示,A—-<>B,表示B由A組成該關係用於類圖,表示實體對象之間的關係,表達整體由部分構成的語義。與組合不同的是,該關係不是強依賴的,即使整體不在了,部分依然存在。

組合關係(composition)

組合關係用帶實心菱形箭頭的直線表示,A—–<*>B,A組合成B,表達整體擁有部分,其語義相當於母公司擁有很多子公司。該語義也是隻用於類圖。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章