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