UML-CHP03_類圖_第1頁(yè)
UML-CHP03_類圖_第2頁(yè)
UML-CHP03_類圖_第3頁(yè)
UML-CHP03_類圖_第4頁(yè)
UML-CHP03_類圖_第5頁(yè)
已閱讀5頁(yè),還剩81頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、東北石油大學(xué)軟件學(xué)院高俊濤高俊濤 副教授副教授面向?qū)ο蠼L峋V3.13.1對(duì)象和類對(duì)象和類3.23.2如何閱讀類圖如何閱讀類圖3.33.3如何繪制類圖如何繪制類圖3.4 3.4 對(duì)象圖對(duì)象圖3.5 3.5 本章小結(jié)本章小結(jié)面向?qū)ο蠼?duì)對(duì)象象(Object)有些對(duì)象在真實(shí)世界中有對(duì)等事物,如:蘋果、學(xué)校、企業(yè)。另一些對(duì)象則是抽象的概念實(shí)體,如:一元二次方程、約束規(guī)則、坐標(biāo)。對(duì)象對(duì)象行為行為狀態(tài)狀態(tài)+ 對(duì)象是具有明確語(yǔ)義,并封裝了狀態(tài)和行為的實(shí)體。對(duì)象是具有明確語(yǔ)義,并封裝了狀態(tài)和行為的實(shí)體。面向?qū)ο蠼ustomerSalesmanProduct面向?qū)ο蠼n愵?Class)類描述了一組擁有

2、相同特性和行為的對(duì)象。類描述了一組擁有相同特性和行為的對(duì)象。屬性(attribute)定義對(duì)象所具有的特性。操作(operation)是一個(gè)和對(duì)象屬性相關(guān)的函數(shù)或過(guò)程。類名類名屬性屬性操作操作屬性屬性可見性可見性操作操作可見性可見性面向?qū)ο蠼n悎D類圖顯示一組類、接口、協(xié)作以及它們之間關(guān)系的圖。用于對(duì)系統(tǒng)靜態(tài)設(shè)計(jì)視圖建模。類圖通常包含下述內(nèi)容:類接口協(xié)作關(guān)聯(lián)關(guān)系依賴泛化面向?qū)ο蠼O瓤辞逵心男╊?,然后看看類之間存在的關(guān)系,并結(jié)合多先看清有哪些類,然后看看類之間存在的關(guān)系,并結(jié)合多重性來(lái)理解類圖的結(jié)構(gòu)特點(diǎn)以及各個(gè)屬性和方法的含義。重性來(lái)理解類圖的結(jié)構(gòu)特點(diǎn)以及各個(gè)屬性和方法的含義。 面向?qū)ο蠼Wx

3、出類:圖中共有讀出類:圖中共有7 7個(gè)類:物料需求計(jì)劃、采購(gòu)計(jì)劃、個(gè)類:物料需求計(jì)劃、采購(gòu)計(jì)劃、供應(yīng)商、采購(gòu)訂單、物料信息、供應(yīng)商商品、訂單項(xiàng)。供應(yīng)商、采購(gòu)訂單、物料信息、供應(yīng)商商品、訂單項(xiàng)。讀出關(guān)系:從圖中關(guān)系最復(fù)雜(也就是線最密集)的類讀出關(guān)系:從圖中關(guān)系最復(fù)雜(也就是線最密集)的類開始閱讀,本圖中最復(fù)雜的就是采購(gòu)計(jì)劃、供應(yīng)商、采開始閱讀,本圖中最復(fù)雜的就是采購(gòu)計(jì)劃、供應(yīng)商、采購(gòu)訂單這三個(gè)類。購(gòu)訂單這三個(gè)類。1 1)采購(gòu)計(jì)劃由物料需求計(jì)劃生成,每個(gè)采購(gòu)計(jì)劃都要)采購(gòu)計(jì)劃由物料需求計(jì)劃生成,每個(gè)采購(gòu)計(jì)劃都要選擇落實(shí)供應(yīng)商,并最終下達(dá)采購(gòu)訂單。選擇落實(shí)供應(yīng)商,并最終下達(dá)采購(gòu)訂單。2 2)對(duì)同一

4、供應(yīng)商可以下達(dá)多個(gè)采購(gòu)訂單。)對(duì)同一供應(yīng)商可以下達(dá)多個(gè)采購(gòu)訂單。 3 3)每個(gè)采購(gòu)訂單由多個(gè)訂單項(xiàng)組成。)每個(gè)采購(gòu)訂單由多個(gè)訂單項(xiàng)組成。面向?qū)ο蠼6嘀匦裕河脕?lái)說(shuō)明關(guān)聯(lián)的兩個(gè)類之間的數(shù)量關(guān)系多重性:用來(lái)說(shuō)明關(guān)聯(lián)的兩個(gè)類之間的數(shù)量關(guān)系 源源類類及及多重性多重性目目標(biāo)類標(biāo)類及及多重性多重性說(shuō)說(shuō)明明物料需求物料需求計(jì)計(jì)劃劃(1.n)采采購(gòu)計(jì)劃購(gòu)計(jì)劃(1)采采購(gòu)計(jì)劃購(gòu)計(jì)劃可以由多可以由多個(gè)個(gè)物料需求物料需求計(jì)劃計(jì)劃合合并并生成。每生成。每個(gè)個(gè)采采購(gòu)計(jì)劃購(gòu)計(jì)劃至少源于一至少源于一個(gè)個(gè)物料需求物料需求計(jì)劃計(jì)劃。物料需求物料需求計(jì)計(jì)劃劃0.n)物料信息物料信息(1)每每個(gè)個(gè)物料需求物料需求計(jì)劃計(jì)劃在制定在制

5、定時(shí)時(shí)都要都要參參考,一考,一個(gè)個(gè)物料需物料需求求計(jì)劃計(jì)劃可以在多次物料需求可以在多次物料需求計(jì)劃計(jì)劃制定制定時(shí)時(shí)被被參參考???。供供應(yīng)應(yīng)商商(1)供供應(yīng)應(yīng)商商品商商品(1n)一一個(gè)個(gè)供供應(yīng)應(yīng)商可以提供多件商品,每件商品必商可以提供多件商品,每件商品必須標(biāo)須標(biāo)明明它它的供的供應(yīng)應(yīng)商。商。供供應(yīng)應(yīng)商商(1)采采購(gòu)訂單購(gòu)訂單(0n)每每個(gè)個(gè)供供應(yīng)應(yīng)商可以下商可以下達(dá)達(dá)多多個(gè)個(gè)采采購(gòu)單購(gòu)單,每,每個(gè)個(gè)采采購(gòu)單購(gòu)單必必須須指定供指定供應(yīng)應(yīng)商。商。采采購(gòu)訂單購(gòu)訂單(1)訂單項(xiàng)訂單項(xiàng)(1n)每每個(gè)個(gè)采采購(gòu)訂單購(gòu)訂單可以包含多可以包含多條訂單項(xiàng)條訂單項(xiàng),每,每條訂單條訂單只能只能出出現(xiàn)現(xiàn)在某在某個(gè)個(gè)采采購(gòu)訂

6、單購(gòu)訂單中,不能中,不能獨(dú)獨(dú)立存在。立存在。面向?qū)ο蠼9?yīng)商類的操作選擇可以實(shí)現(xiàn)將供商信息和采購(gòu)計(jì)劃綁供應(yīng)商類的操作選擇可以實(shí)現(xiàn)將供商信息和采購(gòu)計(jì)劃綁定到一起的功能。定到一起的功能。面向?qū)ο蠼C嫦驅(qū)ο蠼n悎D中的基本元素1.1.類類: :對(duì)一類具有相同特征的對(duì)象的描述,描述一類對(duì)象的屬性和行為。2.關(guān)聯(lián)關(guān)系:表示類之間存在某種語(yǔ)義上的聯(lián)系。3.聚集關(guān)系:表示類之間的關(guān)系是整體與部分的關(guān)系。4.組成關(guān)系:表示整體擁有各部分,部分與整體共存,如整體不存在了,部分也會(huì)隨之消失。5.繼承關(guān)系:表示類之間存在分類關(guān)系。部部門門公公司司1 1. . .n n1 11 1. . .n n1 1圖形圖形圓

7、形圓形矩形矩形棱形棱形面向?qū)ο蠼?、依賴關(guān)系:表示這樣一種關(guān)系,即修改元素X的定義可能會(huì)引起對(duì)另一個(gè)元素Y的定義的修改。7.包:根據(jù)一定的分類原則對(duì)類進(jìn)行劃分,是類的集合。8.接口:平平時(shí)時(shí)成成績(jī)績(jī)最最終終成成績(jī)績(jī)基本實(shí)體基本實(shí)體面向?qū)ο蠼n悎D中的基本元素6.依賴關(guān)系:表示這樣一種關(guān)系,即修改元素X的定義可能會(huì)引起對(duì)另一個(gè)元素Y的定義的修改。7.包:根據(jù)一定的分類原則對(duì)類進(jìn)行劃分,是類的集合。8.對(duì)象:描述客觀世界中某個(gè)具體的實(shí)體,是類的實(shí)例。9.鏈接:用于表示對(duì)象間的關(guān)聯(lián)關(guān)系的一個(gè)實(shí)例。面向?qū)ο蠼n愵愔g關(guān)間關(guān)系的表示系的表示為了使系統(tǒng)能夠有效地映射問(wèn)題域,需認(rèn)識(shí)并描述對(duì)象之間的以需

8、認(rèn)識(shí)并描述對(duì)象之間的以下下5 5種關(guān)系種關(guān)系:關(guān)聯(lián)組成(整體-部分結(jié)構(gòu))聚集(整體-部分結(jié)構(gòu))泛化依賴類1類1類2類2類3類3類4類4類5類5類6類6類7類7類8類8類9類9類10類10面向?qū)ο蠼?duì)象之間的幾種關(guān)系五種具體的關(guān)系常用以下概念進(jìn)行總結(jié)對(duì)象的分類關(guān)系分類關(guān)系;對(duì)象之間的組成關(guān)系組成關(guān)系;對(duì)象屬性之間的靜態(tài)關(guān)系靜態(tài)關(guān)系;對(duì)象行為之間的動(dòng)態(tài)關(guān)系動(dòng)態(tài)關(guān)系OO方法運(yùn)用一般-特殊結(jié)構(gòu)、整體-部分結(jié)構(gòu)、實(shí)例連接和消息連接描述對(duì)象之間的以上四種關(guān)系面向?qū)ο蠼jP(guān)聯(lián)和鏈鏈鏈?zhǔn)谴嬖谟趦蓚€(gè)對(duì)象之間的關(guān)系,關(guān)聯(lián)關(guān)聯(lián)則是存在于兩于類之間的關(guān)系。對(duì)象是類的實(shí)例,鏈?zhǔn)顷P(guān)聯(lián)的實(shí)例。關(guān)聯(lián)描述的是規(guī)則,而鏈描述的

9、是事實(shí)。關(guān)聯(lián)和鏈有三種不同的形式:關(guān)聯(lián)聚集組成面向?qū)ο蠼jP(guān)聯(lián)和鏈 面向?qū)ο蠼jP(guān)聯(lián)一個(gè)完整的關(guān)聯(lián)定義包含三個(gè)部分, 即類之間的關(guān)聯(lián)直線和兩個(gè)關(guān)聯(lián)端點(diǎn)。關(guān)聯(lián)直線和關(guān)聯(lián)名稱定義了該關(guān)系的標(biāo)志和目的。關(guān)聯(lián)端點(diǎn)定義了參與關(guān)聯(lián)的對(duì)象遵循的規(guī)則,關(guān)聯(lián)端點(diǎn)具有自已的屬性,如多重性、約束和角色。關(guān)聯(lián)端點(diǎn)關(guān)聯(lián)端點(diǎn)面向?qū)ο蠼jP(guān)聯(lián)名稱( (動(dòng)詞動(dòng)詞命名命名) )每個(gè)關(guān)聯(lián)上必須必須具有一個(gè)名稱,表示關(guān)聯(lián)的真實(shí)含義。關(guān)聯(lián)用一條無(wú)向線段表示,代表一種雙向關(guān)聯(lián)。關(guān)聯(lián)常以動(dòng)詞形式命名動(dòng)詞形式命名,表達(dá)兩類之間的動(dòng)態(tài)活動(dòng),為消除名稱歧義,可以提供一個(gè)名稱方向(不是導(dǎo)航)。面向?qū)ο蠼jP(guān)聯(lián)名稱( (名名詞詞命名命名) )因?yàn)?/p>

10、關(guān)聯(lián)作用在類上,以名詞命名名詞命名關(guān)聯(lián)引出新的類考察可能具有的屬性(關(guān)聯(lián)的屬性):學(xué)號(hào)課程號(hào)上課時(shí)間上課地點(diǎn)面向?qū)ο蠼jP(guān)聯(lián)類把關(guān)聯(lián)本身作為一個(gè)類,把關(guān)聯(lián)的屬性和操作加在關(guān)聯(lián)上面,稱為類和類的關(guān)聯(lián)類。面向?qū)ο蠼jP(guān)聯(lián)端點(diǎn)關(guān)聯(lián)端點(diǎn)的特征及屬性角色接口說(shuō)明符可見性多重性定序約束限定符導(dǎo)航性可變性面向?qū)ο蠼jP(guān)聯(lián)角色每個(gè)關(guān)聯(lián)有兩個(gè)角色,也稱有兩個(gè)方向。角色是關(guān)聯(lián)中一端的類對(duì)另外一端的類呈現(xiàn)的職責(zé)一個(gè)角色可以由多個(gè)對(duì)象來(lái)扮演為了明確對(duì)象在關(guān)聯(lián)中的角色,可以為角色命名面向?qū)ο蠼=涌谡f(shuō)明符類定義了許多操作,稱為類的接口。接口就是操作,而實(shí)現(xiàn)則被稱為方法。多個(gè)對(duì)象擁有相同操作但實(shí)現(xiàn)方法卻各不相同的特征稱為

11、多態(tài)性。面向?qū)ο蠼?梢娦詫?duì)角色名添加可見性符號(hào)可以三個(gè)級(jí)別上描述關(guān)聯(lián)端點(diǎn)的可見性- 私有 (Private)關(guān)聯(lián)端對(duì)象對(duì)關(guān)聯(lián)外部的任何對(duì)象都 是不可訪問(wèn)的+ 公有 (Public)# 保護(hù) (Protected)關(guān)聯(lián)端對(duì)象對(duì)關(guān)聯(lián)外部除另一端的子孫外的任何對(duì)象來(lái)說(shuō)都是不可訪問(wèn)的面向?qū)ο蠼jP(guān)聯(lián)多重性說(shuō)明一個(gè)關(guān)聯(lián)的實(shí)例中有多少個(gè)相互連接的對(duì)象,用來(lái)表達(dá)對(duì)象個(gè)數(shù)的范圍特定值、無(wú)限定范圍或一組離散值。 1 (1) 0或1 (0.1) 很多 (0.n) 1個(gè)或很多 (1.n) 精確指定 (3)面向?qū)ο蠼?dǎo)航從一個(gè)類的對(duì)象可以導(dǎo)航到另一個(gè)類的對(duì)象。除非另有規(guī)定,否則導(dǎo)航是雙向的。但有些情況要限定單向?qū)?/p>

12、航從學(xué)生對(duì)象以導(dǎo)航到教師對(duì)象,但從教師對(duì)象不需要識(shí)別學(xué)生對(duì)象。面向?qū)ο蠼W陨黻P(guān)聯(lián)自身關(guān)聯(lián)描述的是同一個(gè)類的對(duì)象之間的關(guān)系。面向?qū)ο蠼Uw-部分結(jié)構(gòu)它描述對(duì)象之間的組成關(guān)系,即:一個(gè)對(duì)象是另一個(gè)對(duì)象的組成或部分??陀^世界中存在許多這樣的現(xiàn)象,聚集聚集表示事物的部分整體關(guān)系較弱的情況組合組合表示事物的部分整體關(guān)系較強(qiáng)的情況聚集和組合是一種特殊的關(guān)聯(lián)聚集和組合是一種特殊的關(guān)聯(lián)( (具有關(guān)聯(lián)的所有特征具有關(guān)聯(lián)的所有特征) )面向?qū)ο蠼>奂奂x了一種明確的等級(jí)關(guān)系,一組元素組成了一個(gè)更大、更復(fù)雜的單元。聚集中的對(duì)象必須有一個(gè)控制點(diǎn),也就是一個(gè)控制對(duì)象,它是所有對(duì)象的接口,負(fù)責(zé)協(xié)調(diào)對(duì)象的行為。聚

13、集是關(guān)聯(lián)的子集,是關(guān)聯(lián)的特化,具有普通關(guān)聯(lián)之外的特征。面向?qū)ο蠼>奂奶卣骶奂糜诙x和保護(hù)對(duì)象配置的完整性。聚集定義了一種構(gòu)造關(guān)系,從而把對(duì)象的集合看成一個(gè)統(tǒng)一的單元處理。聚集將其中的一個(gè)對(duì)象定義成控制對(duì)象為整個(gè)集合提供接口,為集合內(nèi)部對(duì)象的行為起指導(dǎo)作用。即通過(guò)一個(gè)對(duì)象控制:依次向下傳播。面向?qū)ο蠼>奂粋€(gè)部分對(duì)象可以屬于多個(gè)整體對(duì)象一個(gè)部分對(duì)象可以屬于多個(gè)整體對(duì)象,并具有不同的生存周期。所屬關(guān)系是可以動(dòng)態(tài)變化的。整體對(duì)象整體對(duì)象部分對(duì)象部分對(duì)象面向?qū)ο蠼=M成組成是聚集的一種特殊關(guān)系,是更強(qiáng)形式的聚集關(guān)系。在組合中成員對(duì)象的生命周期取決于整體的生命周期。整體不僅控制著成員對(duì)象的行為,

14、而且控制著成員對(duì)象的創(chuàng)建和解構(gòu)。所以組合也稱為強(qiáng)聚集。面向?qū)ο蠼=M成組成組成表示事物的部分整體關(guān)系較強(qiáng)較強(qiáng)的情況。具有強(qiáng)的擁有關(guān)系,表示一個(gè)實(shí)體的分解。整體與部分的生命周期是一致的。一個(gè)對(duì)象在一個(gè)時(shí)間內(nèi)只能是一個(gè)組合的一部分。整體要負(fù)責(zé)對(duì)它各個(gè)部分的處理及各個(gè)部分對(duì)象的創(chuàng)建與撤消。面向?qū)ο蠼=M 成考慮組成的部分整體關(guān)系,可以用整體移動(dòng)時(shí),部分是否跟隨移動(dòng)來(lái)決定。如果整體及部分一起移動(dòng)則為組合關(guān)系,否則為聚集關(guān)系。面向?qū)ο蠼=M成用部分對(duì)象類作為一種廣義數(shù)據(jù)類型定義整體對(duì)象類的一個(gè)屬性,一個(gè)部分對(duì)象只能屬于唯一的整體對(duì)象一個(gè)部分對(duì)象只能屬于唯一的整體對(duì)象,并與它同生同滅。如果一個(gè)采購(gòu)定單被刪

15、除,那么采購(gòu)訂單所包含的訂單項(xiàng)也隨之消除。(體現(xiàn)部分整體關(guān)系較強(qiáng)較強(qiáng)的情況)部分對(duì)象部分對(duì)象整體對(duì)象面向?qū)ο蠼jP(guān)聯(lián)、聚集和組成之間的關(guān)系關(guān)聯(lián)可以被精化模擬一種限制嚴(yán)格的關(guān)系:聚集聚集聚集還可以被進(jìn)一步精化模擬限制更嚴(yán)格的關(guān)系:組成組成關(guān)聯(lián)關(guān)聯(lián):對(duì)象之間互相了解,以便能夠在一起工作。聚集聚集:保護(hù)配置的完整性如同一個(gè)單元在運(yùn)作通過(guò)一個(gè)對(duì)象控制依次向下傳播組成組成:每部分只能是一個(gè)配置的成員該部分不能在配置之外存在面向?qū)ο蠼>奂恼Z(yǔ)義聚集的目標(biāo)是保護(hù)對(duì)象集合的完整性。聚集定義了一個(gè)單獨(dú)的控制點(diǎn),該對(duì)象是控制對(duì)象,它指導(dǎo)聚集中所有其他對(duì)象的活動(dòng)。對(duì)于控制點(diǎn)的任何指令,該集合都像一個(gè)單一對(duì)象一樣進(jìn)

16、行工作。使用集合的程度越高,就越能節(jié)省時(shí)間,也減少了使用或改變聚集對(duì)象時(shí)可能發(fā)生的風(fēng)險(xiǎn)。隨著集合中對(duì)象和行為的增加,使用控制點(diǎn)和把整個(gè)集合作為一個(gè)單一單元來(lái)使用的方法降低了應(yīng)用程序的復(fù)雜度和維護(hù)費(fèi)用。面向?qū)ο蠼>奂徒M成的實(shí)現(xiàn)聚集和組成是設(shè)計(jì)層次不是實(shí)現(xiàn)方面的概念,找不到編碼意義上的等價(jià)物。面向?qū)ο蠼7夯?繼承)如果類A具有類B的全部屬性和全部服務(wù),而且具有自己特有的某些屬性或服務(wù),則A叫做B的特殊類(子類),B叫做A的一般類(超類)。類B類B類A類A面向?qū)ο蠼7夯?繼承)泛化是對(duì)目的相同的各種對(duì)象的特性進(jìn)行組織的過(guò)程。泛化是對(duì)許多對(duì)象共有特性的描述。泛化不是關(guān)聯(lián),所以不會(huì)使用關(guān)聯(lián)的任何

17、特征或規(guī)則。一般描述和具體描述之間的關(guān)系,具體描述建立在一般描述的基礎(chǔ)之上,并對(duì)其進(jìn)行了擴(kuò)展。具體描述與一般描述完全一致,具有其所有特性、成員和關(guān)系,并且包含補(bǔ)充的信息。面向?qū)ο蠼Ec泛化有關(guān)的概念超類子類抽象類具體類判別式面向?qū)ο蠼3惓惏藘蓚€(gè)或更多目的相同對(duì)象的特征。水果和蘋果類是超類。水果水果蘋果蘋果西瓜西瓜桔子桔子國(guó)光蘋果國(guó)光蘋果黃元帥蘋果黃元帥蘋果面向?qū)ο蠼W宇愖宇惏四撤N類型對(duì)象獨(dú)有的特征,這種類型的對(duì)象是被超類所定義的。一個(gè)類即可以是超類,同時(shí)又可以是其它超類的子類。蘋果是水果的子類,同時(shí)又是紅香蕉和黃梨蘋果的超類。水果水果蘋果蘋果西瓜西瓜桔子桔子國(guó)光蘋果國(guó)光蘋果黃元

18、帥蘋果黃元帥蘋果面向?qū)ο蠼E袆e式判別式是一種屬性或規(guī)則,它描述如何為一個(gè)超類劃分子類描述如何為一個(gè)超類劃分子類的集合的集合。判別式的選擇取決于要解決的問(wèn)題。面向?qū)ο蠼E袆e式每個(gè)類都定義了一組特征,這些特征都有可能用來(lái)定義判別式。判別式用來(lái)作為如何區(qū)分超類的子類的規(guī)則。區(qū)分超類的子類至少有有六個(gè)標(biāo)準(zhǔn):屬性類型屬性的取值范圍操作方法關(guān)聯(lián)鏈面向?qū)ο蠼R蕾囈蕾嚧淼氖且环N客戶提供者的關(guān)系。依賴性還可以代表先決條件。面向?qū)ο蠼?依賴依賴(dependency)是一種使用關(guān)系其中一個(gè)類只是使用另一個(gè)類作為它的操作參數(shù)。從含有操作的類指向被該操作當(dāng)做參數(shù)使用的類。面向?qū)ο蠼R蕾嚭x的細(xì)微差別UML

19、UML定義了定義了1717個(gè)依賴的構(gòu)造型個(gè)依賴的構(gòu)造型( (分為六組分為六組) )1. 類圖中的類和對(duì)象間的8個(gè)構(gòu)造型依賴關(guān)系2. 應(yīng)用到包之間的兩個(gè)構(gòu)造型依賴關(guān)系3. 例之間的兩個(gè)構(gòu)造型依賴關(guān)系4. 對(duì)象之間的交互建模時(shí)3個(gè)構(gòu)造型5. 狀態(tài)機(jī)的語(yǔ)境中要用到的一個(gè)構(gòu)造型(發(fā)送)6. 系統(tǒng)的元素組織成子系統(tǒng)和模型的語(yǔ)境中用到的一個(gè)構(gòu)造型(跟蹤)面向?qū)ο蠼=涌诘母拍钤谲浖校郧逦年P(guān)注分離來(lái)建造系統(tǒng)是很重要的,這使得在系統(tǒng)演化時(shí)改變系統(tǒng)的一部分不會(huì)影響和破壞系統(tǒng)的其余部分。重要的方法是清楚地描述系統(tǒng)的接縫,即在能夠獨(dú)立變化的那些部分之間畫出界線。 面向?qū)ο蠼=涌诘亩x接口是一組外部可訪問(wèn)的操

20、作,用于為對(duì)象類或組件提供服務(wù)。接口只是某個(gè)類全部操作的一個(gè)子集,并不一定要包括類的所有操作。接口是類的變體接口是類的變體。根據(jù)定義,它只能擁有操作,不能擁有屬性。因此通過(guò)接口連接的類或部件之間的耦合是松散耦合。面向?qū)ο蠼=涌诘膱D形表示由于接口的記名變體表示形式使用了類的標(biāo)準(zhǔn)圖符,所以可以在此圖符的操作分隔區(qū)內(nèi)列出接口的操作的定義。由于接口不得擁有屬性,所以接口的記名變體形式的屬性分隔區(qū)必須為空。車輛面向?qū)ο蠼=涌诘拿趾徒涌诓僮髅總€(gè)接口必須被指定一個(gè)名字,用以區(qū)分不同的接口。接口是類的變體,因此接口的名字就是類的名字。接口定義一個(gè)類提供給外界的運(yùn)算,而不揭示具內(nèi)在結(jié)構(gòu)或具體實(shí)施。要用接口

21、時(shí),一個(gè)具體的類必須對(duì)它作實(shí)施。USB接口USB接口USB打印機(jī)USB打印機(jī)USB掃描儀USB掃描儀USB硬盤USB硬盤面向?qū)ο蠼T谙到y(tǒng)實(shí)現(xiàn)時(shí),可以通過(guò)接口的定在系統(tǒng)實(shí)現(xiàn)時(shí),可以通過(guò)接口的定義實(shí)現(xiàn)功能部件的替換或擴(kuò)充。義實(shí)現(xiàn)功能部件的替換或擴(kuò)充。面向?qū)ο蠼=涌诘膶?shí)現(xiàn)關(guān)系類和接口之間的關(guān)系被稱為實(shí)現(xiàn)。實(shí)現(xiàn)關(guān)系意味著接口中的操作都是公有的。實(shí)現(xiàn)關(guān)系可以連接的分類符包括接口和類,接口和部件以及用例和協(xié)同。其中,接口規(guī)定了類或部件的動(dòng)態(tài)行為,用例規(guī)定了協(xié)同的動(dòng)態(tài)行為。面向?qū)ο蠼0粋€(gè)最古老的軟件方法問(wèn)題是:怎樣將大系統(tǒng)拆分成小系統(tǒng)。解決這個(gè)問(wèn)題的一個(gè)思路是將許多類集合成一個(gè)更高層次的單位,形成一

22、個(gè)高內(nèi)聚、低耦合的類的集合。這個(gè)思路被松散地應(yīng)用到許多對(duì)象技術(shù)中。UML中這種分組機(jī)制叫包(Package)。在類圖中,包代表了一個(gè)子類圖。打開一個(gè)包,則會(huì)出現(xiàn)一個(gè)新的類圖編輯器。包名面向?qū)ο蠼0目梢娦灶愋桶目梢娦灶愋?,表示?duì)包外的元素該類是否可見。當(dāng)目標(biāo)語(yǔ)言為Java時(shí),有以下四種選擇;當(dāng)目標(biāo)語(yǔ)言為C時(shí),僅有前三種。公有包 public私有包 private受保護(hù)包 protected在構(gòu)件內(nèi)可見的包 package面向?qū)ο蠼0暮戏ㄟB接1.從一個(gè)包到一個(gè)包可以創(chuàng)建一個(gè)依賴關(guān)系、泛化關(guān)系連接。2.從一個(gè)包到一個(gè)類可以創(chuàng)建一個(gè)依賴關(guān)系和泛化關(guān)系連接。3.從一個(gè)包到一個(gè)注釋體可以創(chuàng)建一個(gè)

23、注釋連接;或者從一個(gè)注釋體到一個(gè)包可以創(chuàng)建一個(gè)注釋連接?;緦?shí)體基本實(shí)體節(jié)日節(jié)日面向?qū)ο蠼H绾卫L制類圖第1步:找出對(duì)象類第2步:建立類之間的結(jié)構(gòu)關(guān)系第3步:建立結(jié)構(gòu)(關(guān)聯(lián))屬性第4步:分解出操作,分配到對(duì)象類第5步:畫出類圖(用例的類簇)建立結(jié)構(gòu)關(guān)系建立結(jié)構(gòu)屬性定義操作找出對(duì)象類繪制類圖面向?qū)ο蠼5诘? 1步步: :找出找出對(duì)對(duì)象象類類找出對(duì)象類的方法與類對(duì)應(yīng)的常常是名詞或名詞短語(yǔ)名詞或名詞短語(yǔ)。根據(jù)用例描述列出名詞或名詞短語(yǔ)列表,綜合整理列表。根據(jù)用例描述,畫出交互順序圖交互順序圖,找出用例中的對(duì)象類。有三種類:邊界類:表示相關(guān)的行為控制類:關(guān)心復(fù)雜的行為(特征主要表達(dá)為通信)實(shí)體類:用

24、來(lái)描述復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(特征主要表達(dá)為關(guān)系)實(shí)體對(duì)象和控制對(duì)象相互交流共同實(shí)現(xiàn)用例面向?qū)ο蠼U页鰧?duì)象類找出對(duì)象類: :實(shí)例實(shí)例各部門每月上報(bào)一次物料需求計(jì)劃物料需求計(jì)劃,采購(gòu)部門采購(gòu)部門進(jìn)行物料需求計(jì)劃的物料合并生成采購(gòu)計(jì)劃采購(gòu)計(jì)劃,由財(cái)務(wù)部門和采購(gòu)部門進(jìn)行采購(gòu)計(jì)劃的審核和批準(zhǔn),審核批準(zhǔn)后由采購(gòu)部門根據(jù)采購(gòu)計(jì)劃選擇落實(shí)供應(yīng)商供應(yīng)商并生成采購(gòu)訂單采購(gòu)訂單以傳真形式向供應(yīng)商下達(dá)采購(gòu)訂單(擴(kuò)展:網(wǎng)上發(fā)布訂單)物料需求計(jì)劃物料需求計(jì)劃采購(gòu)計(jì)劃采購(gòu)計(jì)劃供供應(yīng)應(yīng)商商采購(gòu)訂單采購(gòu)訂單面向?qū)ο蠼U页鰧?duì)象類找出對(duì)象類: :實(shí)例實(shí)例 面向?qū)ο蠼5诘? 2步步: :建立建立類類之之間間的的關(guān)關(guān)系系在需求陳述中使

25、用描述性動(dòng)詞動(dòng)詞或動(dòng)詞詞組動(dòng)詞詞組,通常表示關(guān)聯(lián)關(guān)系。因此,在初步確定關(guān)聯(lián)時(shí),大多數(shù)關(guān)聯(lián)可以通過(guò)直接提取需求陳述中的動(dòng)詞詞組而得出。面向?qū)ο蠼=㈩愔g的關(guān)系建立類之間的關(guān)系:實(shí)例實(shí)例各部門每月上報(bào)一次物料需求計(jì)劃,采購(gòu)部門進(jìn)行物料需求計(jì)劃的物料合并,制定生成采購(gòu)計(jì)劃,由財(cái)務(wù)部門和采購(gòu)部門進(jìn)行采購(gòu)計(jì)劃的審核和批準(zhǔn),審核批準(zhǔn)后由采購(gòu)部門根據(jù)采購(gòu)計(jì)劃選擇落實(shí)供應(yīng)商并生成采購(gòu)訂單以傳真形式向供應(yīng)商下達(dá)采購(gòu)訂單(擴(kuò)展:網(wǎng)上發(fā)布訂單)物料需求計(jì)劃物料需求計(jì)劃采購(gòu)計(jì)劃采購(gòu)計(jì)劃供應(yīng)商供應(yīng)商采購(gòu)訂單采購(gòu)訂單1 11.n1.n1 11.n1.n生成生成1 1選擇落實(shí)選擇落實(shí)0.n0.n0.n0.n1 1下達(dá)下

26、達(dá)面向?qū)ο蠼5诘? 3步步: :建立建立結(jié)構(gòu)結(jié)構(gòu)( (關(guān)聯(lián)關(guān)聯(lián)) )屬屬性性分析陳述中的描述性動(dòng)詞或動(dòng)詞詞組,考慮類的關(guān)聯(lián),建立結(jié)構(gòu)(關(guān)聯(lián))屬性可以進(jìn)一步細(xì)化和完善類的結(jié)構(gòu)。例如:各部門上報(bào)物料需求計(jì)劃上報(bào)物料需求計(jì)劃時(shí)要考慮增加物料信息類。在生成訂單生成訂單時(shí),就要考慮增加訂單項(xiàng)類。選擇供應(yīng)商選擇供應(yīng)商時(shí),就要考慮增加供應(yīng)商商品類。面向?qū)ο蠼=⒔Y(jié)構(gòu)建立結(jié)構(gòu)( (關(guān)聯(lián)關(guān)聯(lián)) )屬性屬性 面向?qū)ο蠼5诘? 4步步: :分解出操作分配到分解出操作分配到實(shí)實(shí)體體類類分解操作基本方法根據(jù)順序圖分解操作操作表格分解操作操作面向?qū)ο蠼8鶕?jù)根據(jù)順順序序圖圖分解操作分解操作順序圖中的主要元素是對(duì)象和

27、消息。順序圖中的消息相當(dāng)于源對(duì)象向目標(biāo)對(duì)象發(fā)送了一條命令,此命令啟動(dòng)了目標(biāo)對(duì)象的一個(gè)動(dòng)作。目標(biāo)對(duì)象是消息的接收者,同時(shí)也是消息指定動(dòng)作的擁有者(封裝)和執(zhí)行者。根據(jù)事件流描述畫出的順序圖列出了所有交互的對(duì)象,并且通過(guò)交互消息分解出所有對(duì)象的操作。面向?qū)ο蠼1砀穹纸獠僮鞅砀穹纸獠僮?對(duì)象動(dòng)作各部門采購(gòu)部門物料需求計(jì)劃采購(gòu)計(jì)劃供應(yīng)商訂單生成采購(gòu)計(jì)劃上報(bào)計(jì)劃分類合并生成創(chuàng)建計(jì)劃批準(zhǔn)審核批準(zhǔn)生成訂單獲取計(jì)劃項(xiàng)選擇生成創(chuàng)建訂單下達(dá)下達(dá)面向?qū)ο蠼5诘? 5步步: :畫畫出出類圖類圖( (用例的用例的類類簇簇) )完整的類圖包括:定義類的關(guān)聯(lián)(描述類之間的關(guān)系:ER)定義類屬性(DD)定義類操作優(yōu)化類圖 面向?qū)ο蠼C嫦驅(qū)ο蠼6ǘx類屬義類屬性和性和類類操作操作定義類的屬性和操作。屬性和操作是類的基本元素,它不是一次定義完整的,而是一個(gè)迭代的過(guò)程。盡量以封裝的概念去定義類的屬性和操作。面向?qū)ο蠼4_定確定屬屬性性 屬性分為基本的3類:鏈接屬性:用于構(gòu)造類之間的結(jié)構(gòu)狀態(tài)屬性:屬性值是狀態(tài)的各種標(biāo)識(shí)對(duì)象特征屬性:諸如名字、重量、速度和顏色。一般來(lái)說(shuō),確定屬性的過(guò)程包含分析和選

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論