溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

發(fā)布時(shí)間:2020-07-11 14:29:04 來源:網(wǎng)絡(luò) 閱讀:1239 作者:oyojie 欄目:軟件技術(shù)

一、識(shí)別類圖與對象的方法

1.對象與類

1)概念與表示法

l對象:是系統(tǒng)中用來描述客觀事物的一個(gè)實(shí)體,是具有明確語義邊界的實(shí)體;作為構(gòu)成系統(tǒng)的一個(gè)基本單位,一個(gè)對象有一組屬性和對這組屬性進(jìn)行操作的一組服務(wù)構(gòu)成。

l類:是具有相同屬性、服務(wù)、關(guān)系和語義的一組對象的集合。它為屬于該類的全部對象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和服務(wù)兩個(gè)主要部分。

l類與對象的關(guān)系+模版與實(shí)例;類的實(shí)例是對象。類的外延是其所產(chǎn)生的對象集。

類的內(nèi)涵

2一般地說,類中的元素總是具有某種共同的性質(zhì)的,這就是類的元素的同質(zhì)性。

2一個(gè)類的所有元素所共同具有的、而且是這個(gè)類的元素所獨(dú)有的性質(zhì)(也就是說不是該類的元素就不具有該性質(zhì))稱為該類的內(nèi)涵。

2類的內(nèi)涵與外延之間存在著直觀的“反比關(guān)系”:類的內(nèi)涵越多,其外延越?。粌?nèi)涵越小,其外延越大。

有一個(gè)類生成的一個(gè)對象可以扮演不同的角色。

2角色:一個(gè)類的一個(gè)角色是在特定的語境下該類的對象所呈現(xiàn)的行為。

2主動(dòng)對象:是擁有線程或進(jìn)程并能夠啟動(dòng)控制活動(dòng)的對象。是用于描述具有主動(dòng)行為的事物。

2主動(dòng)類:主動(dòng)對象所屬于的類叫做主動(dòng)類。

2特征標(biāo)記:服務(wù)的名稱及其后的位于括號(hào)內(nèi)的參數(shù)列表叫做特征標(biāo)記(或基調(diào))。

setColor(String aColor)

       類的各種表示法

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

2)識(shí)別對象與類的方法

研究用戶需求,明確系統(tǒng)責(zé)任

2閱讀:閱讀一切與用戶需求有關(guān)的書面材料

2交流:澄清一點(diǎn),指導(dǎo)需求

2調(diào)查:到現(xiàn)場調(diào)查

2記錄、整理:產(chǎn)生需求文檔(補(bǔ)充用況圖)

研究問題域

2親臨現(xiàn)場調(diào)查,掌握第一手資料

2聽取問題域?qū)<业囊娊?/span>

2閱讀與問題域有關(guān)的材料

2借鑒相同或類似問題域已有的系統(tǒng)開發(fā)經(jīng)驗(yàn)及文檔

考慮系統(tǒng)邊界(參考者)

2參與者啟發(fā)作為系統(tǒng)中的類的條件

管理信息

模擬行為

建立通訊

考慮系統(tǒng)責(zé)任

2對照系統(tǒng)責(zé)任所要求的每一項(xiàng)功能,查看是否可以由現(xiàn)有的對象完成這些功能。

2如果發(fā)現(xiàn)某些功能在現(xiàn)有的任何對象中都不能提供,則可啟發(fā)我們發(fā)現(xiàn)問題域中某些遺漏的對象。

名詞技術(shù)

2從名詞到對象或類通常有一對一的映射。

2用單個(gè)的專有名詞或代詞以及直接引用的名詞識(shí)別對象。

2用復(fù)數(shù)名詞以及不同名詞類識(shí)別類。

2可以啟發(fā)分析員發(fā)現(xiàn)對象的因素包括:人員、組織、物品、設(shè)備、事件、表格、日志、報(bào)告、結(jié)構(gòu)等。

3)審查與篩選

舍棄無用的對象

2通過屬性判斷:

n是否通過屬性記錄了妙霞有用的信息?

2通過服務(wù)判斷:

n是否通過服務(wù)提供了某些有用的功能?

2二者都不是——無用

2在應(yīng)用中,一個(gè)對象應(yīng)該為一些其他的對象提供服務(wù)

精簡對象

2只有一個(gè)屬性的對象

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

2只有一個(gè)服務(wù)的對象

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

2總體上,對象必須具有多個(gè)屬性和服務(wù)。也存在對象沒有屬性僅提供服務(wù),或?qū)傩詿o服務(wù)的情況。

與實(shí)現(xiàn)條件有關(guān)的對象,推遲到OOD考慮

2系統(tǒng)責(zé)任所要求的某些功能

n例如系統(tǒng)安裝、配置、信息備份、瀏覽——可能無法從問題域中找到相應(yīng)的對象來提供這些功能,可在設(shè)計(jì)階段考慮專門為它們增加一些對象,既把它們推遲到設(shè)計(jì)階段考慮。

2系統(tǒng)責(zé)任要求的某些功能可能與實(shí)現(xiàn)環(huán)境有關(guān),也推遲到設(shè)計(jì)階段考慮。

n與圖形用戶界面(GUI)系統(tǒng)、數(shù)據(jù)管理系統(tǒng)、硬件和操作系統(tǒng)有關(guān)的對象。

4)識(shí)別主動(dòng)對象

考慮問題域和系統(tǒng)責(zé)任

2哪些對象需呈現(xiàn)主動(dòng)行為?--按定義

從需求考慮系統(tǒng)的執(zhí)行情況

2如果一切對象服務(wù)都是順序執(zhí)行的,那么首先執(zhí)行的服務(wù)在哪個(gè)對象(唯一)?

2如果需要并發(fā)執(zhí)行,每條控制線程的起點(diǎn)在哪個(gè)對象?這樣的對象都是主動(dòng)對象。

考慮系統(tǒng)邊界

2哪些對象與參與者交互?

n如果一個(gè)交互是由參與者發(fā)起的,

n第一個(gè)處理該交互的對象是主動(dòng)對象

5)類的命名

適合該類及其特殊類的全部對象實(shí)例

2汽車加摩托->機(jī)動(dòng)車;還有馬車->車輛

反映個(gè)體而不是群體

2-書籍;船-船舶

使用名詞,避免無意義的符號(hào)

使用問題域通用、規(guī)范的詞匯

在中國:可用中、英文雙重命名

6)建立類圖的對象層

用類符號(hào)表示每個(gè)對象類

填寫類描述模板

若發(fā)現(xiàn)新的屬性與服務(wù)、關(guān)系,可以隨時(shí)加到類符號(hào)中。

二、識(shí)別屬性和操作的方法

1)概念與表示法

實(shí)例屬性:是類的一個(gè)已命名的性質(zhì),它描述該性質(zhì)的一個(gè)實(shí)例可以取的值的范圍。

2抽象為屬性的性質(zhì)是與問題域相關(guān)的

2從技術(shù)觀點(diǎn)上,從技術(shù)觀點(diǎn)上,屬性是一些變量(數(shù)據(jù)項(xiàng)或狀態(tài)信息),包含它的每一個(gè)對象(實(shí)例)都具有自己的值。

2按照面向?qū)ο蠓椒ǖ姆庋b原則,一個(gè)對象的屬性和服務(wù)是緊密結(jié)合的,對象的屬性只能由這個(gè)對象的服務(wù)存取。

類屬性:是描述類的所有對象共同特征的一個(gè)數(shù)據(jù)項(xiàng),對于任何對象實(shí)例,它的屬性值都是相同的。

2)屬性的特征

ShlaerMellor(1992)提出,Richard C.Lee增補(bǔ)

特征0:屬性必須捕獲與其對象所在的語義域相一致的特征。

特征1:任何時(shí)間一個(gè)實(shí)例為其每一個(gè)屬性都精確地給出一個(gè)值。

特征2:不能包含內(nèi)部的結(jié)構(gòu)。

人的姓+

         特征3:屬性必須是整個(gè)實(shí)體的特征。

             計(jì)算機(jī)的屏幕尺寸?顯示器的屏幕尺寸

特征4:對象的屬性必須與該對象相關(guān)。

油罐油瓶的容器中的容積屬性

特征5:對象的屬性值不能是與其有關(guān)的對象的值以其關(guān)系的值。

人的薪水結(jié)婚日期

2.識(shí)別服務(wù)

1)概念與表示法

操作:是類的行為特征,用于描述為了引發(fā)相關(guān)行為的名稱、類型、參數(shù)與約束。

2有名字和參數(shù)表; 有可見性和返回類型。

2可見性的取值為+(公有的)#(受保護(hù)的)、-(私有的)~(包內(nèi)的)

2可見性、參數(shù)表和返回類型可在類描述模板中描述。

2抽象操作:把在一個(gè)類中沒有實(shí)現(xiàn)的操作(即沒有提供方法)。

服務(wù):一個(gè)類為其他類所做的工作。一個(gè)對象的服務(wù)是當(dāng)其他對象借助消息傳遞機(jī)制請求它時(shí),它愿意執(zhí)行的所公布的或公開的工作。

方法:是操作的實(shí)現(xiàn)。當(dāng)一個(gè)對象請求另一個(gè)對象的服務(wù)時(shí)對象完成的詳細(xì)的動(dòng)作集合(算法、過程)。

對象行為分類

系統(tǒng)行為

例:創(chuàng)建、刪除、復(fù)制、轉(zhuǎn)存

對象自身的行為——算法簡單的服務(wù)

例:讀、寫屬性值

對象自身的行為——算法復(fù)雜的服務(wù)

計(jì)算或監(jiān)控

           表示法:

類范圍的操作用帶下劃線的名字和類型表達(dá)式串表示。實(shí)例范圍的操作是默認(rèn)的,對其不用標(biāo)記。

抽象操作帶有標(biāo)記“{abstract}”,或者把操作的特征標(biāo)記寫成斜體來表示它是抽象的。

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

2)識(shí)別服務(wù)

OOA不考慮算法簡單服務(wù)

去創(chuàng)建、連接、訪問、斷開連接、刪除等等。

考慮算法復(fù)雜的服務(wù)

由對象提供的、在算法上復(fù)雜的業(yè)務(wù)服務(wù)(如要進(jìn)行某些計(jì)算或監(jiān)控操作)

3)審查與調(diào)整

審查對象的每個(gè)服務(wù)

是否真正有用

是否直接提供系統(tǒng)責(zé)任所要求的某項(xiàng)功能?

或者

響應(yīng)其它服務(wù)的請求間接地完成這種功能的某些局部操作?

調(diào)整——取消無用的服務(wù)

是不是高內(nèi)聚的

一個(gè)服務(wù)只完成一項(xiàng)單一的、完整的功能

調(diào)整——拆分或合并

4)認(rèn)識(shí)對象的主動(dòng)行為

2考慮問題域?qū)ο笮袨槭潜灰l(fā)的,還是主動(dòng)呈現(xiàn)的?

2與參與者交互的對象服務(wù)

2完成最外層功能的對象服務(wù)外層與內(nèi)層是請求與被請求的關(guān)系

2服務(wù)執(zhí)行路線逆向追蹤找到了主動(dòng)服務(wù)就等于找到了主動(dòng)對象。

5)服務(wù)的命名和定位

命名:動(dòng)詞或動(dòng)賓結(jié)構(gòu); 外向性

定位:

與實(shí)際事物一致

例:售貨員——售貨,商品——售出

在泛化中的位置

  ——適合類的全部對象實(shí)例

6)描述服務(wù)

把每個(gè)對象的服務(wù)都填寫到相應(yīng)的類符號(hào)中。

2在類描述模板中,寫出:

2說明服務(wù)的職責(zé)

2服務(wù)原型(消息的格式)

2消息發(fā)送(指出在這個(gè)服務(wù)執(zhí)行時(shí),需要請求哪些別的對象服務(wù),即接收消息的對象類名以及執(zhí)行這個(gè)消息的服務(wù)名)

2約束條件:如果該服務(wù)的執(zhí)行有前置條件、后置條件,以及執(zhí)行時(shí)間的要求等其它需要說明的事項(xiàng),則在這里加以說明。

2實(shí)現(xiàn)服務(wù)的方法(文字、活動(dòng)圖或流程圖)。

三、識(shí)別關(guān)系——泛化關(guān)系

1.定義:

2如果類A具有類B的全部屬性和全部操作,而且還具有自己特有的一些屬性或操作,則ABB的特殊類,B叫做A的一般類,AB之間的關(guān)系成為泛化關(guān)系。

2如果類A的全部對象都是類B的對象,且類B中存在不屬于類A的對象,則AB的特殊類,BA的一般類,AB之間的關(guān)系成為泛化關(guān)系。

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

2.性質(zhì):

后代將具有祖先的所有的關(guān)聯(lián)。

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

a)反對稱性

如果對象A是對象B的后代,那么B將不會(huì)與A有“是一個(gè)”關(guān)系(對象B不是對象A的后代)。例如,Employee是一個(gè)Person,但并不是所有人都是雇員。

b)傳遞性

如果對象A“是一個(gè)”對象B,對象B“是一個(gè)”對象C,那么對象A“是一個(gè)”對象C。

OOA模型中建立泛化,是為了使系統(tǒng)模型更清晰地映射問題域中事物的分類關(guān)系。它把具有泛化關(guān)系的類組織在一起,可以簡化我們對復(fù)雜系統(tǒng)的認(rèn)識(shí),從而增加了軟件的可維護(hù)性和適應(yīng)變化的靈活性。

3.基本表示法

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

4.泛化集(GeneralizationSet

用來定義泛化關(guān)系中子集的集合。

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

       泛化集的約束

2{complete,disjoint}

表明泛化集是覆蓋的,并且某些特殊類沒有共同的實(shí)例

2{incomplete,disjoint}

表明泛化集不是覆蓋的,并且某些特殊類沒有共同實(shí)例

2{complete,overlapping}

表明泛化集是覆蓋的,并且某些特殊類具有共同的實(shí)例

2{incomplete,overlapping}

表明泛化集不是覆蓋的,并且某些特殊類具有共同實(shí)例

2默認(rèn){incomplete,disjoint}

舉例:

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

四、泛化關(guān)系的識(shí)別策略

1)學(xué)習(xí)當(dāng)前領(lǐng)域的分類學(xué)知識(shí)

2)按常識(shí)考慮事物的分類

3)利用泛化的定義

兩個(gè)類

集合包含

特征包含

4)看兩個(gè)類的對象之間是否有“是一個(gè)”關(guān)系

Is A 關(guān)系表

考察A是一個(gè)B,B是一個(gè)A?

若都是——同義

若都從來不是——沒有泛化關(guān)系

  A總是B,B有時(shí)是A,A是一個(gè)B

5)考察類的屬性與服務(wù)

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

6)考慮領(lǐng)域范圍內(nèi)的復(fù)用

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

審查與調(diào)整

問題域與系統(tǒng)責(zé)任是否需要這樣的分類?

(例:書—善本書(內(nèi)容有用,流傳稀少,??叹迹哂形奈?、學(xué)術(shù)或藝術(shù)價(jià)值之本

是否符合分類學(xué)的常識(shí)?

是否構(gòu)成了繼承關(guān)系?(確實(shí)繼承了一些屬性或服務(wù))

一般-特殊結(jié)構(gòu)的簡化

1)取消沒有特殊性的特殊類

從一般類劃分出太多的特殊類,使系統(tǒng)中類的設(shè)置太多,增加了系統(tǒng)的復(fù)雜性;

建立過深的繼承層次,增加了系統(tǒng)的理解難度和處理開銷。

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

2)增加屬性簡化一般-特殊結(jié)構(gòu)

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

       (3)取消用途單一的一般類,減少繼承層次

一般類存在的理由

有兩個(gè)或兩個(gè)上以上的特殊類

需要用它創(chuàng)建對象實(shí)例

有助于軟件復(fù)用

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

       調(diào)整對象層和特征層

           定義泛化的活動(dòng),將使分析員對系統(tǒng)中的對象類及其特征有更深入的認(rèn)識(shí)。在很多情況下,隨著泛化的建立,需要對類圖的對象層和特征層作某些修改,包括增加、刪除、合并或分開某些類,以及增、刪某些屬性與服務(wù)或把它們移到其它類。

五、關(guān)聯(lián)關(guān)系的分類與識(shí)別策略

1.概念與表示法

2關(guān)聯(lián)

n關(guān)聯(lián)描述了引用類的實(shí)例的元組的集合。

n兩個(gè)類之間可以存在多個(gè)關(guān)聯(lián)

2

n鏈?zhǔn)菍ο笠玫脑M。在最常見的情況下,它是一對對象引用。它是關(guān)聯(lián)的一個(gè)實(shí)例。

例:

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

2.多重性

2多重性是非負(fù)整數(shù)集的一個(gè)子集。

2另一端上的多重性是指,對于本端的一個(gè)對象,需要另一端對象的個(gè)數(shù)。

2其中的下限和上限都是文字整型值,說明從下限到上限的整數(shù)閉區(qū)間。此外星號(hào)(*)可以用于上限,表明不限制上限。

2如果多重性規(guī)約由單個(gè)的(*)構(gòu)成,那么它就表明了無窮的非負(fù)正整數(shù)的范圍,也即它等價(jià)于0..*

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

3.角色

2在關(guān)聯(lián)的每一個(gè)端點(diǎn)上有一個(gè)角色。每一個(gè)角色具有一個(gè)角色名,用來描述其類被其他的類看作是什么。

2當(dāng)需要強(qiáng)調(diào)一個(gè)類在一個(gè)關(guān)聯(lián)的確切含義時(shí),使用關(guān)聯(lián)角色名。

2如果使用角色名,就可以省略關(guān)聯(lián)名。

2角色名也決定了其類的多重性;就是說,該類與其他類的一個(gè)實(shí)例相關(guān)聯(lián)的實(shí)例的數(shù)量。

例:

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

4.導(dǎo)航性

2導(dǎo)航性限制了關(guān)聯(lián)上的訪問方向

2雙向的導(dǎo)航不必畫箭頭

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

UML2.0中對導(dǎo)航性的表示

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

5.關(guān)聯(lián)的類型

2關(guān)聯(lián)類

n具有關(guān)聯(lián)和類的特征的建模元素。關(guān)聯(lián)類既可以被看作是具有類的性質(zhì)的關(guān)聯(lián),也可以被看作為具有關(guān)聯(lián)性質(zhì)的類。

n把關(guān)聯(lián)類表示成一個(gè)用虛線連接到關(guān)聯(lián)路徑的類符號(hào)。

n關(guān)聯(lián)和關(guān)聯(lián)類符號(hào)表示同模型元素,它們的名字相同。名字可以放置在關(guān)聯(lián)上或類符號(hào)中(但它們的名字必須相同)。

n如果一個(gè)類的一個(gè)屬性可以同時(shí)有多個(gè)值,就考慮使用關(guān)聯(lián)類。

例如,一個(gè)人的薪水。

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

   關(guān)聯(lián)類到二元關(guān)聯(lián)的轉(zhuǎn)換

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

2限定關(guān)聯(lián)(Qualifier

二元關(guān)聯(lián)的屬性或者屬性列表,在此關(guān)聯(lián)中,屬性的值從整個(gè)對象集合里選擇一個(gè)唯一的關(guān)聯(lián)對象或者關(guān)聯(lián)對象集.

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

限定關(guān)聯(lián)(Qualifier

n限定符可以是目標(biāo)類的一個(gè)屬性

n但通常是關(guān)聯(lián)的屬性

n該屬性的值限定了關(guān)聯(lián)

2異或關(guān)聯(lián)

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖


2有序關(guān)聯(lián)

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

2多元關(guān)聯(lián)

2聚合

   建立關(guān)聯(lián)的策略

 2認(rèn)識(shí)對象之間的靜態(tài)聯(lián)系

n考慮問題域和系統(tǒng)責(zé)任——哪些類的對象實(shí)例之間的關(guān)系需要在系統(tǒng)中表達(dá)。

u物理位置或親密度

u包含

u通信

u享受服務(wù)

u存儲(chǔ)信息

 2認(rèn)識(shí)關(guān)聯(lián)的屬性與操作

n對于考慮中的每一種關(guān)聯(lián),進(jìn)一步分析它是否應(yīng)該帶有某些屬性和操作。就是說,是否含有一些僅憑一個(gè)簡單的關(guān)聯(lián)不能充分表達(dá)的信息。

 2分析并表示實(shí)例連接的多重性

n從連接線的每一端,看本端的一個(gè)對象可能與另一端的幾個(gè)對象發(fā)生連接,把結(jié)果標(biāo)注到連接線的另一端。

 2對多對多的關(guān)聯(lián)的處理

   多對多關(guān)聯(lián)的問題

 2用面向?qū)ο笳Z言實(shí)現(xiàn)為兩個(gè)數(shù)組指針

 2用關(guān)系數(shù)據(jù)庫實(shí)現(xiàn)為多對多的表

n多對多的表的信息是冗余的

n兩個(gè)多對多關(guān)系轉(zhuǎn)化為不符合第四范式的表

   降低多對多關(guān)聯(lián)的多重性

 2限定關(guān)聯(lián)

n用面向?qū)ο笳Z言實(shí)現(xiàn)為帶有參數(shù)的篩選函數(shù)

n用關(guān)系數(shù)據(jù)庫實(shí)現(xiàn)為先篩選后連接

 2引入新的中間類

n切斷多對多類

n從問題域中尋找新的中間類,它與雙方都構(gòu)成1對多關(guān)系

n若問題域中找不到相應(yīng)的類,可構(gòu)想一個(gè)

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

六、分析模式簡介

   通用分析模式

  Accountability責(zé)任(party OrganizationHierarchies Organization structure …)

  Observation and Measurements觀察與測量

  Rederring to Objects對象的引用

   領(lǐng)域分析模式

財(cái)務(wù)領(lǐng)域

規(guī)劃

商業(yè)

    …


       分析模式Party

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

       分析模式Organization Hierarchies(組織層次)

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

       分析模式Organization structure(組織結(jié)構(gòu))

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

七、聚合與組合關(guān)系

1.概念與表示法

2聚合(aggregation)是關(guān)聯(lián)的一種特殊形式,表示整體和部分之間的“整體-部分”關(guān)系。

2聚集(aggregate)是聚合關(guān)系中作為“整體”的類,而把作為“部分”的類稱為成分或部分。

2類與類之間的聚合關(guān)系指的是,一個(gè)類的對象實(shí)例,以另一個(gè)類的對象實(shí)例作為其組成部分,是種“a part of”或“has a”;也可理解為,一個(gè)類定義引用另一個(gè)類定義。

2組合(Composition)是聚合的一種形式,其中,其部分和整體之間具有很強(qiáng)的“屬于”關(guān)系,并且它們的生存期是一致的。這種聚集末端的多重性不能超過1。

2組合對象是組合類的實(shí)例。

表示法:

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

       性質(zhì)

2結(jié)構(gòu)性質(zhì)

部分必須與它們所構(gòu)建的整體有某些結(jié)構(gòu)上或功能上的關(guān)系。

2數(shù)學(xué)性質(zhì)

                     a.反對稱性

如果對象A是對象B的一部分,那么對象B就不能是對象A的一部分。

                     b.傳遞性

如果對象A是對象B的一部分,對象B是對象C的一部分,那么對象A是對象C的一部分。

       分類

整體部分關(guān)系的性質(zhì)

構(gòu)造性:整體部分之間存是否存在功能或結(jié)構(gòu)上的關(guān)系

同質(zhì)性:整體部分之間的類型是否相同

不變性:整體部分之間的是否不可分離性

       根據(jù)性質(zhì)的不同可將整體部分關(guān)系分為以下幾類:

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

       識(shí)別策略

2物理上的整體事物和它的組成部分

例:機(jī)器、設(shè)備和它的零部件

2組織機(jī)構(gòu)和它的下級(jí)組織及部門

例:公司與子公司、部門

2團(tuán)體(組織)與成員

例:公司與職員

2一種事物在空間上包容其它事物

例:生產(chǎn)車間與機(jī)器

2抽象事物的整體與部分

例:學(xué)科與分支學(xué)科、法律與法律條款

2具體事物和它的某個(gè)抽象方面

例:人員與身份、履歷

2在材料上的組成關(guān)系

例如,面包由面粉、糖和酵母組成,汽車是由鋼、塑料和玻璃組成。

       審查與篩選

2是否屬于問題域或系統(tǒng)責(zé)任?

例:公司職員與家庭

2部分對象是否有一個(gè)以上的屬性?

例:汽車與輪胎(規(guī)格)

2是否有明顯的整體-部分關(guān)系?

例:學(xué)生與課程,誰是整體?部分?

八、依賴與實(shí)現(xiàn)關(guān)系

   一個(gè)依賴規(guī)約了兩個(gè)或多個(gè)模型元素(或兩個(gè)模型元素集合)之間的一種語義關(guān)系,對目標(biāo)元素的改變可能需要改變該依賴中的源元素。

下面種類的依賴是預(yù)定義的:

            access--訪問;derive --派生;import --移入;refine--精化

            trace--跟蹤;use--使用

            include–包含; extend—擴(kuò)展

           表示法:

       把依賴表示為兩個(gè)模型元素之間的虛線箭頭。在箭頭尾部的模型元素(客戶)依賴箭頭頭部的模型元素(提供者)。箭頭可以用放在書名號(hào)內(nèi)的字符串標(biāo)識(shí)。

可能會(huì)有一組元素作為客戶或提供者。在這種情況下,一個(gè)或多個(gè)尾部在客戶端的箭頭被連接到頭部在提供者端的一個(gè)或多個(gè)箭頭的尾部。如果需要,可以在連接處放置小的圓點(diǎn)。依賴的注釋應(yīng)該依附在連接點(diǎn)上。用沒有箭頭的虛線表示注釋或約束與它應(yīng)用到的元素之間的連接。這不是依賴。

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖

           不同類型的依賴

面向?qū)ο蠹夹g(shù)之系統(tǒng)分析:類圖



向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI