1. 程式人生 > 其它 >UML 有關類圖知識及類間關係

UML 有關類圖知識及類間關係

原文連結:https://blog.csdn.net/mj_ww/article/details/53020346

1. 類的含義

  類圖(Class diagram)顯示了系統的靜態結構,而系統的靜態結構構成了系統的概念基礎。
  類圖,就是用於對系統中的各種概念進行建模,並描繪出它們之間關係的圖。
  在大多數的 UML 模型中,我們可以將這些概念的型別概括為以下四種,分別是:
     (1) 類
     (2) 介面
     (3) 資料型別
     (4) 構件
  在類圖中,具體來講它一共包含了以下幾種模型元素,分別是:類、介面、依賴關係、泛化關係、關聯關係以及實現關係。
類圖可以建立約束、註釋和包等。

2. 類圖在專案開發中的作用  

類圖的作用是對系統的靜態檢視進行建模。當對系統的靜態檢視進行建模時,通常是以以下三種方式來使用類圖。
   (1)為系統的詞彙建模。
   (2)模型化簡單的協作。
   (3)模型化邏輯資料庫模式。
  在設計資料庫時,通常將資料庫模式看作為資料庫概念設計的藍圖,在很多領域中,都需要在關係資料庫或面向資料庫中儲存永久資訊。系統分析者可以使用類圖來對這些資料庫進行模式建模。

3. 類圖組成

1. 類

  類是面向物件系統組織結構的核心。類是對一組具有相同屬性、操作、關係和語義的事物的抽象。
  在UML的圖形表示中,類的表示法是一個矩形,這個矩形由三個部分構成,分別是:類的名稱(Name)、類的屬性(Attribute)和類的操作(Operation)。
類的名稱是每個類的圖形中所必須擁有的元素,用於同其它類進行區分。類的名稱通常來自於系統的問題域,並且儘可能地明確表達要描述的事物,不會造成類的語義衝突。
屬性是類的一個特性,也是類的一個組成部分,描述了在軟體系統中所代表的物件具備的靜態部分的公共特徵抽象,這些特性是這些的物件所共有的。
  在UML中,類的屬性的表示語法為([ ]內的內容是可選的):
  [可見性] 屬性名稱 [:屬性型別] [=初始值] [{屬性字串}]

  類的操作指的是類的所能執行的操作,也是類的一個重要組成部分,描述了在軟體系統中所代表的物件具備的動態部分的公共特徵抽象。
  操作由一個返回型別、一個名稱以及引數表來描述。其中,返回型別、名稱和引數一起被稱為操作簽名(Signature of the Operation)。操作簽名描述了使用該操作所必需的所有資訊。在UML中,類的操作的表示語法為([ ]內的內容是可選的):
  [可見性] 操作名稱 [(引數表)] [:返回型別] [{屬性字串}]

  在標準的UML定義中,有時還應當指明類的另一種資訊,那就是類的職責。類的職責指的是對該類的所有物件所具備的那些相同的屬性和操作共同組成的功能或服務的抽象。


  在宣告類的職責的時候,可以非正式的在類圖的下方增加一欄,將該類的職責逐條描述出來。類的職責的描述並不是必須的,因此也可以將其作為文件的形似存在,也就是說類的職責其實只是一段或多段文字描述。一個類可以有多種職責,設計得好的類一般至少有一種職責。
  類的約束指定了該類所要滿足的一個或多個規則。在UML中,約束是用一個大括號括起來的文字資訊。

2. 介面  

類介面是在沒有給出物件的實現和狀態的情況下對物件行為的描述。通常,在介面中包含一系列操作但是不包含屬性,並且它沒有對外界可見的關聯。
  介面是一種特殊的類,所有介面都是有構造型interface的類。一個類可以通過實現介面從而支援介面所指定的行為。
  在UML中,介面的表示方式是使用一個帶有名稱的小圓圈來進行表示的,並且我們可以通過一條Realize(實現關係)線與實現它的類相連線

3. 類間關係

依賴關係
泛化關係
關聯關係:單向關聯關係、雙向關聯關係、聚合關聯關係、組合關聯關係
實現關係