1_UML六種關係

UML的六種關係

UML:Unified Modeling Language(UML)又稱統一建模語言或標準建模語言,是始於1997年一個OMG標準,它是一個支持模型化和軟件系統開發的圖形化語言,爲軟件開發的所有階段提供模型化和可視化支持,包括由需求分析到規格,到構造和配置。 

在UML類圖中,常見的有以下幾種關係:泛化(Generalization)、實現(Realization)、依賴(Dependency)、關聯(Association)、聚合(Aggregation)、組合(Composition)

1、泛化(Generalization

  泛化:泛化是一種一般與特殊一般與具體之間關係的描述,具體描述建立在一般描述的基礎之上,並對其進行了擴展。在程序中是通過繼承類實現的。比如狗是對動物的具體描述,在面向對象設計的時候一般把狗設計爲動物的子類。

表示方法:空心三角形箭頭的實線,子類指向父類


2、實現(Realization

概念:實現是一種類與接口的關係,表示類是接口所有特徵和行爲的實現,在程序中一般通過類實現接口來描述

表示方法:空心三角形箭頭的虛線,實現類指向接口


3、依賴(Dependency

概念:是一種使用的關係,即一個類的實現需要另一個類的協助,所以要儘量不使用雙向的互相依賴,在程序中一般表現爲類A中的方法需要類B的實例作爲其參數或者變量,而類A本身並不需要引用類B的實例作爲其成員變量。

表示方法:虛線箭頭,類A指向類B。


4關聯(Association

概念:表示類與類之間的聯接,它使一個類知道另一個類的屬性和方法,這種關係比依賴更強、不存在依賴關係的偶然性、關係也不是臨時性的,一般是長期性的,在程序中被關聯類B以類屬性的形式出現在關聯類A中,也可能是關聯類A引用了一個類型爲被關聯類B的全局變量

表示方法:實線箭頭,類A指向類B


5、聚合(Aggregation

概念:聚合關聯關係的一種特例,是強的關聯關係。聚合是整體和個體之間的關係,即has-a的關係,整體與個體可以具有各自的生命週期,部分可以屬於多個整體對象,也可以爲多個整體對象共享。程序中聚合和關聯關係是一致的,只能從語義級別來區分;

表示方法:尾部爲空心菱形的實線箭頭(也可以沒箭頭),類A指向類B


6、組合(Composition

概念:組合也是關聯關係的一種特例。組合是一種整體與部分的關係,即contains-a的關係,比聚合更強。部分與整體的生命週期一致,整體的生命週期結束也就意味着部分的生命週期結束,組合關係不能共享。程序中組合和關聯關係是一致的,只能從語義級別來區分。

表示方法:尾部爲實心菱形的實現箭頭(也可以沒箭頭),類A指向類B


總結:

①、泛化(Generalization):類的繼承關係,實線+三角形;

②、實現(Realization):接口實現關係,虛線+三角形;

③、依賴(Dependency):使用關係,虛線+箭頭;

④、關聯(Association):聯接關係,類屬性形式,實線+箭頭;

⑤、聚合(Aggregation):has--a,實線+虛心菱形;

⑥、組合(Composition):contains--a,實線+實心菱形。

畫UML類圖的工具:startUML、Rose

參考:http://www.cnblogs.com/dolphinX/p/3296681.html

http://www.open-open.com/lib/view/open1328059700311.html

http://www.flyne.org/article/379:startUml入門教程

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