【转】UML基础: 第 2 部分 - 对象图 (Object Diagram)
對(duì)象圖是從類圖派生的,因此對(duì)象圖依賴于類圖。
對(duì)象圖表示類圖的一個(gè)實(shí)例。類圖和對(duì)象圖的基本概念是相似的。對(duì)象圖也表示系統(tǒng)的靜態(tài)視圖,但這個(gè)靜態(tài)視圖是系統(tǒng)在特定時(shí)刻的快照。
對(duì)象圖用于呈現(xiàn)一組對(duì)象及其關(guān)系作為實(shí)例。
對(duì)象圖的目的
圖表的目的應(yīng)該清楚地理解為實(shí)際實(shí)施。對(duì)象圖的目的與類圖相似。
不同之處在于類圖表示由類及其關(guān)系組成的抽象模型。然而,一個(gè)對(duì)象圖代表了特定時(shí)刻的一個(gè)實(shí)例,它本質(zhì)上是具體的。
這意味著對(duì)象圖更接近實(shí)際的系統(tǒng)行為。目的是在特定時(shí)刻捕獲系統(tǒng)的靜態(tài)視圖。
對(duì)象圖的目的可以概括為:
- 正向和逆向工程。
- 系統(tǒng)的對(duì)象關(guān)系
- 交互的靜態(tài)視圖。
- 從實(shí)踐角度理解對(duì)象行為及其關(guān)系
對(duì)象圖與類圖
說(shuō)明對(duì)象圖是什么樣子的最好方法是顯示從相應(yīng)類圖派生的對(duì)象圖。
以下訂單管理系統(tǒng)顯示它們之間的關(guān)系。這個(gè)小類圖表明大學(xué)部門可以包含許多其他部門,下面的對(duì)象圖實(shí)例化類圖,并用一個(gè)具體的例子來(lái)代替它。
?
?
-
?
尋找免費(fèi)的UML工具?
Visual Paradigm,國(guó)際IT獎(jiǎng)獲獎(jiǎng)?wù)?#xff0c;是您的最終選擇UML建模。Visual Paradigm Community Edition?-完全免費(fèi)!全世界數(shù)以百萬(wàn)計(jì)的用戶,沒(méi)有時(shí)間限制和跨平臺(tái)采用。Visual Paradigm?是國(guó)際IT獎(jiǎng)獲獎(jiǎng)?wù)?#xff0c;是您的UML建模最終選擇。
立即下載
Visual Paradigm 社區(qū)版-完全免費(fèi)!全世界數(shù)以百萬(wàn)計(jì)的用戶沒(méi)有時(shí)間限制和跨平臺(tái)采用。
如何繪制對(duì)象圖?
我們已經(jīng)討論過(guò)一個(gè)對(duì)象圖是類圖的一個(gè)實(shí)例。它意味著一個(gè)對(duì)象圖由類圖中使用的事物的實(shí)例組成。
所以兩個(gè)圖都是由相同的基本元素組成,但形式不同。在類圖中,元素以抽象形式表示藍(lán)圖,而在對(duì)象圖中元素以具體形式表示現(xiàn)實(shí)世界對(duì)象。
為了捕獲一個(gè)特定的系統(tǒng),類圖的數(shù)量是有限的。但是,如果我們考慮對(duì)象圖,那么我們可以擁有無(wú)??限數(shù)量的實(shí)例,這些實(shí)例在本質(zhì)上是獨(dú)一無(wú)二的。只考慮那些對(duì)系統(tǒng)有影響的實(shí)例。
從上面的討論可以清楚看出,單個(gè)對(duì)象圖不能捕獲所有必要的實(shí)例,或者不能指定系統(tǒng)的所有對(duì)象。因此,解決方案是 -
- 首先,分析系統(tǒng)并確定哪些實(shí)例具有重要的數(shù)據(jù)和關(guān)聯(lián)。
- 其次,僅考慮那些將涵蓋功能的實(shí)例。
- 第三,由于實(shí)例的數(shù)量是無(wú)限的,因此進(jìn)行一些優(yōu)化。
在繪制對(duì)象圖之前,應(yīng)該清楚地記住以下事情 -
- 對(duì)象圖由對(duì)象組成。
- 對(duì)象圖中的鏈接用于連接對(duì)象。
- 對(duì)象和鏈接是用于構(gòu)造對(duì)象圖的兩個(gè)元素。
之后,在開(kāi)始構(gòu)建圖表之前,需要確定以下事項(xiàng) -
- 對(duì)象圖應(yīng)該有一個(gè)有意義的名稱來(lái)表明它的用途。
- 最重要的因素是待確定。
- 對(duì)象之間的關(guān)聯(lián)應(yīng)該澄清。
- 需要捕獲不同元素的值以包含在對(duì)象圖中。
- 在需要更清晰的地方添加適當(dāng)?shù)淖⑨尅?/li>
下圖是一個(gè)對(duì)象圖的例子。它代表了我們?cè)陬悎D中討論的訂單管理系統(tǒng)。下圖是特定購(gòu)買時(shí)系統(tǒng)的一個(gè)實(shí)例。它有以下幾個(gè)目的。
- 顧客
- 訂購(gòu)
- 特殊訂單
- NormalOrder
現(xiàn)在客戶對(duì)象(C)與三個(gè)訂單對(duì)象(O1,O2和O3)相關(guān)聯(lián)。這些訂單對(duì)象與特殊訂單和正常訂單對(duì)象(S1,S2和N1)相關(guān)聯(lián)。在特定的時(shí)間內(nèi),客戶有以下三個(gè)不同號(hào)碼(12,32和40)的訂單。
客戶可以增加未來(lái)的訂單數(shù)量,在這種情況下,對(duì)象圖表會(huì)反映這一點(diǎn)。如果觀察到訂單,特殊訂單和正常訂單對(duì)象,那么您會(huì)發(fā)現(xiàn)它們有一些值。
對(duì)于訂單,值為12,32和40,這意味著對(duì)象在特定時(shí)刻具有這些值(這里是購(gòu)買時(shí)的特定時(shí)間被認(rèn)為是時(shí)刻),當(dāng)實(shí)例被捕獲時(shí)
訂單數(shù)量為20,30和60的特殊訂單和普通訂單對(duì)象也是如此。如果考慮不同的購(gòu)買時(shí)間,那么這些值將相應(yīng)地改變。
考慮到上面提到的所有要點(diǎn),已經(jīng)繪制了以下對(duì)象圖
uml_object_diagram.jpg
?
在哪里使用對(duì)象圖?
對(duì)象圖可以想象為特定時(shí)刻正在運(yùn)行的系統(tǒng)的快照。讓我們考慮一個(gè)正在運(yùn)行的列車的例子
現(xiàn)在,如果你拍下正在運(yùn)行的火車,那么你會(huì)發(fā)現(xiàn)它具有以下的靜態(tài)圖片 -
- 正在運(yùn)行的特定狀態(tài)。
- 特定數(shù)量的乘客。如果在不同的時(shí)間拍攝,這將會(huì)改變
在這里,我們可以想象運(yùn)行中的列車的捕捉是具有上述值的對(duì)象。對(duì)于任何現(xiàn)實(shí)生活中的簡(jiǎn)單或復(fù)雜系統(tǒng)來(lái)說(shuō)都是如此。
簡(jiǎn)而言之,可以說(shuō)對(duì)象圖用于 -
- 制作一個(gè)系統(tǒng)的原型。
- 逆向工程。
- 建模復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。
- 從實(shí)踐角度理解系統(tǒng)。
uml建模閱讀列表
- 什么是UML?
- 為什么使用UML建模?
- 14個(gè)UML圖類型概述
- 什么是類圖?
- 什么是組件圖?
- 什么是部署圖?
- 什么是對(duì)象圖?
- 什么是包圖?
- 什么是復(fù)合結(jié)構(gòu)圖?
- 什么是輪廓圖?
- 什么是用例圖?
- 什么是活動(dòng)圖?
- 什么是狀態(tài)機(jī)圖?
- 什么是序列圖?
- 什么是通信圖?
- 什么是交互概覽圖?
- 什么是時(shí)序圖
- UML協(xié)會(huì)vs聚合vs組合
- UML類圖教程
- 狀態(tài)機(jī)圖與活動(dòng)圖
總結(jié)
以上是生活随笔為你收集整理的【转】UML基础: 第 2 部分 - 对象图 (Object Diagram)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 首款支持150W的骁龙8+旗舰 一加10
- 下一篇: 福特电动野马“翻车”:电池过热 近4.9