UML中符號的意義

類之間的關係

   UML把類之間的關係分爲以下5種.

   ● 關聯:類A與類B的實例之間存在特定的對應關係

   ● 依賴:類A訪問類B提供的服務

   ● 聚集:類A爲整體類,類B爲局部類,類A的對象由類B的對象組合而成

   ● 泛化:類A繼承類B

   ● 實現:類A實現了B接口  

關聯(Association)

   關聯指的是類之間的特定對應關係,在UML中用帶實線的箭頭表示。按照類之間的數量對比,關聯

可以分爲以下三種:

   ● 一對一關聯

   ● 一對多關聯

   ● 多對多關聯

注意:關聯還要以分爲單向關聯和雙向關聯

依賴(Dependency)

   依賴指的是類之間的調用關係,在UML中用帶虛線的箭頭表示。如果類A訪問類B的屬性或者方法,

或者類A負責實例化類B,那麼可以說類A依賴類B。和關聯關係不同,無須在類A中定義類B類型的屬性。

聚集(Aggregation)

   聚集指的是整體與部分之間的關係,在UML中用帶實線的菱形箭頭表示。

聚集關係還可以分爲兩種類型:

   ● 被聚集的子系統允許被拆卸和替換,這是普通聚集關係。

   ● 被聚集的子系統不允許被拆卸和替換,這種聚集稱爲強聚集關係,或者組成關係。

    注:強聚集(組成)可用帶實線的實心菱形箭頭表示。   

泛化(Generalization)

   泛化指的是類之間的繼承關係,在UML中用帶實線的三角形箭頭表示。  

實現(Realization)

   實現指的是類與接口之間的關係,在UML中用帶虛線的三角形箭頭表示。

以下是GOF設計模式中的描述

       箭頭和三角表示子類關係。

           虛箭頭線表示一個類實例化另一個類的對象,箭頭指向被實例化的對象的類。

           普通的箭頭線表示相識(acquaintance也叫關聯或者引用),意味着一個對象僅僅知道另一個對象。相識的對象可能請求彼此的操作,但他們不爲對方負責,它只標示了對象間較鬆散的耦合關係。

          尾部帶有菱形的箭頭線表示聚合(aggregation),意味着一個對象擁有另一個對象或者對另一個對象負責。一般我們稱一個對象包含另一個對象,或者是另一個對象的一部分。聚合意味着聚合對象和其所有者具有相同的生命週期。   
          抽象類名以斜體表示,抽象操作也以斜體表示。圖中可以包括實現操作的僞代碼,代碼將出現在帶有褶角的框中,並用虛線將該褶角框與代碼所實現的操作相連。

 

UML中符號的意義(轉) - 彩色魚  軟件開發 - 極目楚天舒

 

 

圖一:

UML中符號的意義(轉) - 彩色魚  軟件開發 - 極目楚天舒

 



此實線箭頭表示, 繼承, 從一個非接口類的繼承.

圖二:

UML中符號的意義(轉) - 彩色魚  軟件開發 - 極目楚天舒



那條連線表示雙向關聯:
看左邊, Flight扮演assignedFights角色, 有0到1個Plane跟他關聯(一個航班要麼取消了沒有飛機,要麼只能對應一架飛機)
看右邊, Plane扮演着assignedPlane角色, 有0到多個Flight跟他關聯(一個飛機可以參與多個航班, 也可以停在倉庫裏面爛掉)

圖三:

UML中符號的意義(轉) - 彩色魚  軟件開發 - 極目楚天舒



那條連線表示單向關聯:
基本的意義跟上面的是一樣的, 唯一不同的是, 右邊的類對左邊的類是一無所知的.

圖四:

UML中符號的意義(轉) - 彩色魚  軟件開發 - 極目楚天舒

那個大的包圍的框叫軟件包, 名字爲Account, 就一些可以歸類的類包裝起來.

圖五:

UML中符號的意義(轉) - 彩色魚  軟件開發 - 極目楚天舒

如此虛線的箭頭表示實現一個接口.

圖六:

UML中符號的意義(轉) - 彩色魚  軟件開發 - 極目楚天舒



水平的連線還是表示上面所說的關聯, 但從關聯連線中引伸出來的虛線, 這意味當Flight類的一個實例關聯到 FrequentFlyer 類的一個實例時,將會產生 MileageCredit 類的一個實例.

圖七:
UML中符號的意義(轉) - 彩色魚  軟件開發 - 極目楚天舒

帶菱形的箭頭表示基本聚合, 由上圖知道, Wheel類扮演wheels角色, 聚合4個到Car對象裏面去,
空心的菱形表示Wheel對象並不隨Car的創建而創建,銷燬而銷燬.

圖八:

UML中符號的意義(轉) - 彩色魚  軟件開發 - 極目楚天舒



意義和上面類似, 唯一不同的是, 實心菱形表示Department對象隨Company對象的創建而創建,銷燬而銷燬.

圖九:

UML中符號的意義(轉) - 彩色魚  軟件開發 - 極目楚天舒



表示反射關聯, 顯示一個Employee類如何通過manager / manages角色與它本身相關。當一個類關聯到它本身時,這並不意味着類的實例與它本身相關,而是類的一個實例與類的另一個實例相關。

 

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