成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

實例解析UML對象圖用法

開發(fā) 架構(gòu)
UML對象圖用于描述被建模系統(tǒng)的模型元素實例之間的結(jié)構(gòu)化信息,其所表達的是特定時間被建模系統(tǒng)在結(jié)構(gòu)上的部分或是全部視圖。

本文和大家重點討論一下UML對象圖的概念,一個UML對象圖主要集中在特定的對象實例和其槽,以及實例之間的連接。相信通過過本文的學(xué)習(xí)你對UML對象圖的概念有深刻的認(rèn)識。

UML中的UML對象圖

1UML對象圖

UML對象圖用于描述被建模系統(tǒng)的模型元素實例之間的結(jié)構(gòu)化信息,其所表達的是特定時間被建模系統(tǒng)在結(jié)構(gòu)上的部分或是全部視圖。一個UML對象圖主要集中在特定的對象實例和其槽,以及實例之間的連接。同一個類圖所對應(yīng)的UML對象圖可以有多個,多個UML對象圖合在一起共同展示了隨著時間的推移,在不同時間點系統(tǒng)的對象狀態(tài)。與類圖的抽象性相比,UML對象圖是具體的,其通常用來提供所對應(yīng)類圖的結(jié)構(gòu)示例,或者作為所對應(yīng)類圖的測試用例。應(yīng)當(dāng)說每一幅UML對象圖都有其側(cè)重點,因而,每一幅UML對象圖應(yīng)當(dāng)只側(cè)重表達其所側(cè)重內(nèi)容。

在UML中,對象實例是采用實例規(guī)范(instancespecification參見1.1)來表示的,對象實例所具有的結(jié)構(gòu)化特性(feature)是采用槽(slot,參見1.2)來表示的,對象實例與對象實例之間的關(guān)系則是采用連接(link,參見1.3)來表示。與類圖相對比,實例對應(yīng)于類對象,槽對應(yīng)于類屬性的實例,而連接則對應(yīng)于類與類之間關(guān)聯(lián)的實例。有了這些對應(yīng)關(guān)系,在掌握了類圖的情況下,就更加的容易理解和掌握UML對象圖了。

圖1.1是UML對象圖相關(guān)建模元素在UML規(guī)范中的語法定義,后面在講解具體的概念時我們會更加具體的說明。

 

圖1.1類圖元素在UML規(guī)范中的語法


1.1實例規(guī)范

實例規(guī)范(instancespecification,參見USS的7.3.22節(jié))是用于表示被建模系統(tǒng)中的實例實體,它描述了模型實例實體的部分或是全部。我們平時編程時,口頭上所說的實例,在UML中就稱之為實例規(guī)范。實例規(guī)范所描述的內(nèi)容可能包括:
1)一個或是多個實例所屬的分類器。在實例規(guī)范中一個分類器如果是類,那么它所描述的是這個類的對象;如果一個分類器是關(guān)聯(lián),那么它所描述的是這個關(guān)聯(lián)的一個連接。
2)結(jié)構(gòu)化特性的值。結(jié)構(gòu)化特性對應(yīng)于類的屬性用于描述類的結(jié)構(gòu)組成,在類圖中行為化特性是采用操作(operation)來表示的,而在UML對象圖中并不表示類的行為特性。在實例規(guī)范中,我們并不是一定要表示所有實例的所有結(jié)構(gòu)化特性。
3)如何計算、推導(dǎo)或是構(gòu)造實例。

一個實例規(guī)范用于指示被建模系統(tǒng)中存在的實體,在實例規(guī)范中其信息可以是不完整的,其只側(cè)重于表達所關(guān)心的信息。從圖1.1可以得到以下信息:
1)一個實例規(guī)范是一個可打包元素,因為一個InstanceSpecification“是一個”PackageableElement。
2)一個實例規(guī)范可以包含任意多個的槽,這從其slots組成屬性可以看出。
3)一個實例規(guī)范最多可以包含一個值規(guī)范(valuespecification,參見USS的7.3.54節(jié)),這從其specification組成屬性可以看出。簡單地說,值規(guī)范就是表示對于一個對象的可取值范圍是什么。
4)一個實例規(guī)范可以包含任意多個的分類器,這從其classifiers關(guān)聯(lián)屬性可以看出。

一個實例規(guī)范可以包括槽,而每一個槽實際上是一個結(jié)構(gòu)化特性的表達。實例規(guī)范是一個或是多個分類器的對象實例,因此,它是遵循分類器所定義的結(jié)構(gòu)或是(和)行為規(guī)范的。一個沒有槽的實例規(guī)范,并不是表示它沒有結(jié)構(gòu)化的特性,因為有可能那些結(jié)構(gòu)特性并不是這一UML對象圖所關(guān)心的。

需要注意的是實例規(guī)范并不是被建模系統(tǒng)運行時的精確描述,而只是一個示例,其只是表示了相關(guān)的結(jié)構(gòu)信息。我們不能從實例規(guī)范中推導(dǎo)任何的運行時對象結(jié)構(gòu)方面的詳細(xì)信息。

圖1.2是一個使用實例規(guī)范的一個例子,其中每一個矩形框都是一個實例規(guī)范。圖1.3是其所對應(yīng)的類圖。其中my_car是一個不帶有槽的實例,而其它的Window實例都是帶有兩個槽。你會注意到,實例規(guī)范的表示方法與類圖中的類是相似的,但也有以下的區(qū)別:
1)其名稱下面具有一根下劃線,在線上標(biāo)明了這一實例的名稱以及其所屬的分類器),實例名與分類器之間采用‘:’進行分割,而如果有多個所屬分類器,那么分類器之間采用逗號分開。圖1.2中所有的實例規(guī)范都只有一個分類器,比如my_car所屬分類器是Car類,也就是說my_car是Car類的一個實例,而front_left、front_right、rear_left和rear_right都分別是Window類的一個實例。
2)槽對應(yīng)于類中的屬性,但其在實例規(guī)范中都會有值。如果沒有值那么通常不用在實例規(guī)范中表示出來。

圖1.2使用實例規(guī)范的一個例子


圖1.3圖1.2UML對象圖所對應(yīng)的類圖

圖1.2是一個相對簡單的UML對象圖,而在現(xiàn)實應(yīng)用中,我們可以通過多個UML對象圖來展現(xiàn)同樣的實例在不同時間點時各實例的狀態(tài),不同的狀態(tài)是通過槽的不同值來表達的。比如,我們可以采用UML對象圖來表示一個算法,而對于同一算法在不同時間點各實例的狀態(tài)(表現(xiàn)在槽的值不同)采用不同的UML對象圖來表示。

1.2槽

槽(slot,參見USS的7.3.48節(jié))是用于表示實例規(guī)范中被建模實體結(jié)構(gòu)特征的值,槽對應(yīng)于類圖中類的屬性,是類屬性的實例,而屬性是類的結(jié)構(gòu)化特性的描述。從圖1.1中可以看出,一個槽具有三個屬性:
1)definingFeature表示這一槽所對應(yīng)的結(jié)構(gòu)化特性是什么。
2)owningInstance表示這一槽是屬于哪一個實例規(guī)范的。
3)value指示槽的值是多少。

圖1.2中每一個Window實例規(guī)范都有兩個槽。其中name槽的definingFeature應(yīng)當(dāng)就是窗口名稱,顯然name槽的owningInstance是各Window實例,而value對于每一個Window實例就不同了,有的叫“frontleft”,也有的叫“rearleft”。相類似地,is_automatic槽用于表示每一個車窗是不是自動的。

1.3連接

在UML規(guī)范中沒有專門用于介紹連接(link)的章節(jié),但在實例規(guī)范章節(jié)中有所提及。其定義了實例規(guī)范之間的關(guān)系,從類圖的角度來看,一個連接就是一個關(guān)聯(lián)關(guān)系的實例。圖1.2中示例了Car類實例規(guī)范與Window類實例規(guī)范之間的四個連接。對比圖1.2和圖1.3我們可以發(fā)現(xiàn),圖1.2中的四個連接都是圖1.3中關(guān)聯(lián)關(guān)系的實例。

2總結(jié)

UML對象圖用于表示被建模系統(tǒng)中不同對象在不同時間點的結(jié)構(gòu)狀態(tài)快照,其所表達的是類圖中更為細(xì)化的結(jié)構(gòu)化信息。當(dāng)我們掌握了類圖后,學(xué)習(xí)UML對象圖就相對的簡單了許多。
 

【編輯推薦】

  1. UML對象圖概念及其作用解析
  2. 揭秘UML對象圖和類圖的六大關(guān)系
  3. 九種UML模型圖及其功能詳解
  4. UML對象圖的表示法和用途
  5. 解析UML對象圖建模技術(shù)及類圖和對象圖區(qū)別 

 

責(zé)任編輯:佚名 來源: 51cto.com
相關(guān)推薦

2010-06-11 17:59:24

UML對象圖

2010-07-06 15:57:58

UML圖形

2010-07-05 11:12:43

常用UML圖

2010-07-06 16:19:56

UML圖形

2010-07-01 14:25:31

UML時序圖

2010-07-12 10:25:44

UML類圖

2010-07-02 08:57:45

UML用例圖

2010-07-02 09:45:19

UML部署圖

2010-06-07 19:02:52

UML用例圖

2010-06-11 17:44:10

UML對象圖

2010-06-29 18:58:23

UML面向?qū)ο蠹夹g(shù)

2010-07-09 09:36:59

UML圖

2010-07-12 12:32:35

UML用例圖

2010-06-11 18:09:26

UML對象圖

2010-07-12 14:32:29

UML對象關(guān)系

2010-07-06 16:11:52

UML序列圖

2010-07-12 09:52:24

UML包圖

2010-06-18 14:56:15

UML綜合實例

2010-07-12 13:39:10

UML對象圖

2010-07-06 10:12:48

UML部署圖
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产亚洲一区二区精品 | 成人在线免费观看 | 精品国产一区二区三区性色av | 亚洲欧美综合精品久久成人 | 岛国av免费观看 | 免费成人高清在线视频 | 亚洲综合一区二区三区 | 久久久久久久久久久高潮一区二区 | 三级av在线 | 日韩欧美在线免费观看视频 | 视频在线亚洲 | 秋霞电影一区二区三区 | 美女啪啪国产 | 国产精品一区二区三级 | 中文成人在线 | 性欧美精品一区二区三区在线播放 | 人人九九精 | 欧美综合国产精品久久丁香 | 男女免费观看在线爽爽爽视频 | 亚洲精品视频在线 | 欧美日韩精品亚洲 | 亚洲综合五月天婷婷 | 久久久精品天堂 | www.天天干.com | 欧美一级欧美三级在线观看 | 成人在线a | 第一区在线观看免费国语入口 | 看特级黄色片 | 日韩欧美三级在线 | 日韩中文字幕网 | 日韩中文字幕一区二区 | 天天摸天天干 | 一区二区影院 | 国产精品视频网址 | 操操日| 一本一道久久a久久精品蜜桃 | 久久久久亚洲av毛片大全 | 一区视频| 日韩免费网站 | 91精品久久久久久久久久 | 国产亚洲一区二区三区 |