天天看點

解析UML箭頭、線條代表的意義【轉載】

本節向大家學習一下UML箭頭、線條代表的意義,UML中關系主要有依賴,聚合,合成,泛化和實作等,下面就讓我們來看一下這些關系如何用UML箭頭和線條來實作。

UML箭頭、線條程式

關系

後面的例子将針對某個具體目的來獨立地展示各種關系。雖然文法無誤,但這些例子可進一步精煉,在它們的有效範圍内包括更多的語義。

依賴(Dependency)

實體之間一個“使用”關系暗示一個實體的規範發生變化後,可能影響依賴于它的其他執行個體(圖D)。 更具體地說,它可轉換為對不在執行個體作用域内的一個類或對象的任何類型的引用。其中包括一個局部變量,對通過方法調用而獲得的一個對象的引用(如下例所 示),或者對一個類的靜态方法的引用(同時不存在那個類的一個執行個體)。也可利用“依賴”來表示包和包之間的關系。由于包中含有類,是以你可根據那些包中的 各個類之間的關系,表示出包和包的關系。

圖D

解析UML箭頭、線條代表的意義【轉載】

MB+a?u關聯(Association) 

實體之間的一個結構化關系表明對象是互相連接配接的。箭頭是可選的,它用于指定導航能力。如果沒有箭頭,暗示是一種雙向的導航能力。在Java中,關聯(圖E) 轉換為一個執行個體作用域的變量,就像圖E的“Java”區域所展示的代碼那樣。可為一個關聯附加其他修飾符。多重性(Multiplicity)修飾符暗示 着執行個體之間的關系。在示範代碼中,Employee可以有0個或更多的TimeCard對象。但是,每個TimeCard隻從屬于單獨一個 Employee。

圖E

解析UML箭頭、線條代表的意義【轉載】

聚合(Aggregation)

聚合(圖F)是關聯的一種形式,代表兩個類之間的整體/局部關系。聚合暗示着整體在概念上處于比局部更高的一個級别,而關聯暗示兩個類在概念上位于相同的級别。聚合也轉換成Java中的一個執行個體作用域變量。 7MIrrhk

yC7lR#N8j0

關聯和聚合的差別純粹是概念上的,而且嚴格反映在語義上。聚合還暗示着執行個體圖中不存在回路。換言之,隻能是一種單向關系。

圖F

解析UML箭頭、線條代表的意義【轉載】

合成(Composition)

合成 (圖G) 是聚合的一種特殊形式,暗示“局部”在“整體”内部的生存期職責。合成也是非共享的。是以,雖然局部不一定要随整體的銷毀而被銷毀,但整體要麼負責保持局 部的存活狀态,要麼負責将其銷毀。局部不可與其他整體共享。但是,整體可将所有權轉交給另一個對象,後者随即将承擔生存期職責。

Employee和TimeCard的關系或許更适合表示成“合成”,而不是表示成“關聯”。

圖G

解析UML箭頭、線條代表的意義【轉載】

泛化(Generalization)

泛化(圖H)表示一個更泛化的元素和一個更具體的元素之間的關系。泛化是用于對繼承進行模組化的UML元素。在Java中,用extends關鍵字來直接表示這種關系。

圖H

解析UML箭頭、線條代表的意義【轉載】

實作(Realization)

執行個體(圖I)關系指定兩個實體之間的一個合同。換言之,一個實體定義一個合同,而另一個實體保證履行該合同。對Java應用程式進行模組化時,實作關系可直接用implements關鍵字來表示。

圖I

解析UML箭頭、線條代表的意義【轉載】

轉自:http://developer.**.com/art/201006/206134.htm

解析UML箭頭、線條代表的意義【轉載】

d.jpg

解析UML箭頭、線條代表的意義【轉載】

e.jpg

解析UML箭頭、線條代表的意義【轉載】

g.jpg

解析UML箭頭、線條代表的意義【轉載】

h.jpg

解析UML箭頭、線條代表的意義【轉載】

i.jpg

解析UML箭頭、線條代表的意義【轉載】

f.jpg

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24793148/viewspace-679329/,如需轉載,請注明出處,否則将追究法律責任。

轉載于:http://blog.itpub.net/24793148/viewspace-679329/