UML對象圖

2018-08-21 17:27 更新

UML 對象圖概述:

UML 對象圖和類圖一樣反映系統(tǒng)的靜態(tài)過程,但它是從實際的或原型化的情景來表達的。

UML 對象圖顯示某時刻對象和對象之間的關系。一個UML對象圖可看成一個類圖的特殊用例,實例和類可在其中顯示。

UML 對象圖是類圖的實例,幾乎使用與類圖完全相同的標識。

由于對象存在生命周期,因此UML對象圖只能在系統(tǒng)某一時間段存在。

UML 對象圖目的:

對象圖的目的與類圖類似。

不同的是,一個類圖代表一個抽象的模型,包括類和它們之間的關系。但是,由于對象存在生命周期,因此UML對象圖只能在系統(tǒng)某一時間段存在。

這意味著對象圖是更接近實際的系統(tǒng)行為。目的是在一個特定的時刻捕捉到靜態(tài)的系統(tǒng)視圖。

對象圖的目的概述如下:

  • 正向和逆向工程。

  • 一個系統(tǒng)的對象間的關系

  • 一個交互的靜態(tài)視圖。

  • 了解對象的行為和他們的關系從實用的角度來看

如何繪制對象圖?

我們已經(jīng)討論過的一個對象圖是類圖的一個實例。它意味著一個對象圖包含在類圖中所用的東西的實例。

所以,對象圖和類圖的基本元素是相同的,不同的只是形式的差別。在類圖中的元素是抽象的形式來表示藍圖,并在對象圖中元素的具體形式來表示真實世界中的對象。

為了捕捉一個特定的系統(tǒng),類圖的數(shù)量是有限的。但是,如果我們考慮對象圖,那么我們就可以有無限數(shù)量的實例在本質(zhì)上是獨一無二的。因此,只有這些情況下被認為是對系統(tǒng)的影響。

從上面的討論,很顯然,一個單一的對象圖不能捕獲所有必要的實例,而不能指定一個系統(tǒng)的所有對象。因此,解決方案是:

  • 首先,分析系統(tǒng),并決定哪些情況下有重要的數(shù)據(jù)和關聯(lián)。

  • 其次,只考慮那些實例將涵蓋功能。

  • 第三,做一些優(yōu)化實例的數(shù)量是無限的。

繪制對象圖之前,應該記住以下事情,并清楚地理解:

  • 對象圖的主要內(nèi)容是對象。

  • 對象圖中的鏈接是用來連接對象。

  • 對象和鏈接的兩個要素,用于構造一個對象圖。

在開始構建圖前,下列事項要明確:

  • 對象圖的名稱要有意義,以表明其目的。

  • 最重要的要素是要確定。

  • 對象之間的關聯(lián),應該予以明確。

  • 不同元素的值需要捕獲包含在對象圖。

  • 添加適當?shù)淖⑨?,需要更清晰點。

下面的圖是一個對象圖的一個例子。它代表了訂單管理系統(tǒng),我們已經(jīng)討論了在類圖。下圖是該系統(tǒng)的一個實例,在一個特定的時間購買。它具有以下的對象

  • 顧客

  • 訂單

  • 特殊訂單

  • 一般訂單

現(xiàn)在客戶對象(C)是與三階對象(O1,O2和O3)。這些訂單對象相關聯(lián)的特殊訂單和一般訂單對象(S1,S2和N1)。顧客具有以下三個具有不同數(shù)目的訂單(12,32和40),用于所考慮的特定的時間。

現(xiàn)在,客戶可以在將來增加的訂單數(shù)量,在這種情況下對象圖將反映。如果訂單、特殊訂單和正常秩訂單對象那么觀察會發(fā)現(xiàn),他們有一些值。

訂單的值是12,32和40,這意味著,這些對象都擁有這些實例時,捕獲特定時刻的值(這里是購買時的時刻被視為特定時間)。

相同特別訂訂單和正常訂單對象所具有的訂單數(shù)分別為20,30和60。如果被認為是一個不同的時間購買,那么這些值將發(fā)生相應的變化。

因此,下面的對象圖已經(jīng)繪就考慮到所有上述提到的幾點:

1I4124A8-0

在哪里使用對象圖?

對象圖可以被想象成正在運行的系統(tǒng)在某一時刻的快照。我們可以舉一個例子來描述它:一個正在運行的列車。

現(xiàn)在,如果運行一個單元列車運行,那么會發(fā)現(xiàn)它具有以下靜態(tài)圖片:

  • 這是一個特別的運行狀態(tài)

  • 一個特定的乘客數(shù)量。如果捕捉在不同的時間,這將在不斷改變。

所以,在這里我們可以想像的列車運行的管理單元是一個對象,具有上述值。任何現(xiàn)實生活中的簡單或復雜的系統(tǒng)而且的確如此。

對象圖可用于:

  • 使一個系統(tǒng)的原型。

  • 逆向工程。

  • 造型復雜的數(shù)據(jù)結(jié)構。

  • 從實用的角度了解系統(tǒng)。

  • 捕捉實例和鏈接。

  • 詳細描述瞬態(tài)圖。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號