面向?qū)ο蠹夹g(shù)與UML-PPT幻燈片.ppt_第1頁(yè)
面向?qū)ο蠹夹g(shù)與UML-PPT幻燈片.ppt_第2頁(yè)
面向?qū)ο蠹夹g(shù)與UML-PPT幻燈片.ppt_第3頁(yè)
面向?qū)ο蠹夹g(shù)與UML-PPT幻燈片.ppt_第4頁(yè)
面向?qū)ο蠹夹g(shù)與UML-PPT幻燈片.ppt_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

1、第2章 面向?qū)ο蠹夹g(shù)與UML,2.1 面向?qū)ο蟮幕靖拍?2.2 面向?qū)ο蟮姆治?2.3 面向?qū)ο蟮脑O(shè)計(jì) 2.4 基于UML的面向?qū)ο蠓治?、設(shè)計(jì)過(guò)程,1,2.1 面向?qū)ο蟮幕靖拍?Coad和Yourdon: 面向?qū)ο?對(duì)象+類(lèi)+繼承+通信,2,2.1 面向?qū)ο蟮幕靖拍?面向?qū)ο蠹夹g(shù)的基本觀點(diǎn): 客觀世界由對(duì)象組成,任何客觀實(shí)體都是對(duì)象,復(fù)雜對(duì)象可以由簡(jiǎn)單對(duì)象組成。 具有相同數(shù)據(jù)和操作的對(duì)象可歸納成類(lèi),對(duì)象是類(lèi)的一個(gè)實(shí)例。 類(lèi)可以派生出子類(lèi),子類(lèi)除了繼承父類(lèi)的全部特性外還可以有自己的特性。 對(duì)象之間的聯(lián)系通過(guò)消息傳遞來(lái)維系。,3,2.1 面向?qū)ο蟮幕靖拍?面向?qū)ο蟮暮诵脑? 對(duì)象 封裝

2、消息 類(lèi) 繼承 多態(tài)性 結(jié)構(gòu)與連接,4,1. 對(duì)象,客觀世界里的任何實(shí)體都可以被稱(chēng)為對(duì)象。 對(duì)象可以是具體的、有形的物,也可以是無(wú)形的事物或概念。 對(duì)象是問(wèn)題域或?qū)崿F(xiàn)域中某些事物的一個(gè)抽象。 對(duì)象是一個(gè)封裝數(shù)據(jù)屬性和操作行為的實(shí)體。 系統(tǒng)中的對(duì)象在軟件生命周期的各個(gè)階段可能有不同的表示形式。,5,一個(gè)對(duì)象的實(shí)例圖解,6,2. 封裝,封裝是面向?qū)ο蠓椒ǖ囊粋€(gè)重要原則。 封裝有兩個(gè)含義: 結(jié)合性 信息隱蔽性,7,3. 消息,消息是向?qū)ο蟀l(fā)出的服務(wù)請(qǐng)求。 一個(gè)消息包含消息名、接受對(duì)象的標(biāo)志、服務(wù)標(biāo)志、輸入信息、回答信息等。 消息傳遞機(jī)制。 MyCircle.GetArea( ),8,4. 類(lèi),類(lèi)是一

3、組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對(duì)象的集合。 類(lèi)是對(duì)象的抽象。 客觀世界實(shí)際存在的都是對(duì)象,而不是類(lèi) 。 類(lèi)和對(duì)象的關(guān)系。,9,5. 繼承,繼承性是面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言不同于其他語(yǔ)言的最主要特點(diǎn)。 繼承是指子類(lèi)可以自動(dòng)擁有父類(lèi)的全部屬性與操作的機(jī)制。 父類(lèi)(超類(lèi)) 子類(lèi)(派生類(lèi)) 繼承性又分為單重繼承和多重繼承兩類(lèi)。,10,繼承的描述,11,單重繼承和多重繼承的描述,12,6. 多態(tài)性,定義:同一操作作用于不同的對(duì)象,可以有不同的解釋?zhuān)a(chǎn)生不同的執(zhí)行結(jié)果。 多態(tài)性分為兩種: 編譯時(shí)的多態(tài)性。 運(yùn)行時(shí)的多態(tài)性。,13,6. 多態(tài)性,多態(tài)性的實(shí)現(xiàn)方式: 通過(guò)接口實(shí)現(xiàn)多態(tài)性 通過(guò)繼承實(shí)現(xiàn)多態(tài)性 通過(guò)抽

4、象類(lèi)實(shí)現(xiàn)的多態(tài)性,14,7. 結(jié)構(gòu)與連接,一般/特殊結(jié)構(gòu) 整體/部分結(jié)構(gòu) 實(shí)例連接 消息連接,15,2.2 面向?qū)ο蠓治觯∣OA),2.2.1 面向?qū)ο蠓治龅膶哟?2.2.2 面向?qū)ο蠓治龅幕具^(guò)程 2.2.3 面向?qū)ο蠓治龅幕驹瓌t 2.2.4 類(lèi)圖 2.2.5 發(fā)現(xiàn)對(duì)象和定義類(lèi) 2.2.6 對(duì)象之間的通信,16,2.2.1 面向?qū)ο蠓治龅膶哟?對(duì)象模型通常由五個(gè)層次組成: 類(lèi)與對(duì)象層 屬性層 服務(wù)層 結(jié)構(gòu)層 主題層,17,對(duì)象模型的五個(gè)層次,18,2.2.2 面向?qū)ο蠓治龌具^(guò)程,發(fā)現(xiàn)對(duì)象,從對(duì)象中抽象出類(lèi)的定義。 識(shí)別對(duì)象的內(nèi)部特征。 識(shí)別對(duì)象的外部關(guān)系。 劃分主題,建立主題圖。 定義用

5、例,建立交互圖。 建立詳細(xì)說(shuō)明。 原型開(kāi)發(fā)。,19,面向?qū)ο蠓治鲞^(guò)程模型,20,2.2.3 面向?qū)ο蠓治龌驹瓌t,抽象原則 分類(lèi)原則 聚合原則 關(guān)聯(lián)原則 消息通信原則,21,2.2.4 類(lèi)圖,類(lèi)圖的主要構(gòu)成成分: 類(lèi) 屬性 方法 一般/特殊結(jié)構(gòu) 整體/部分結(jié)構(gòu) 實(shí)例連接 消息連接,22,2.2.4 類(lèi)圖,類(lèi)圖分為三個(gè)層次: 對(duì)象層 特征層 關(guān)系層,23,類(lèi)圖的三個(gè)層次,24,2.2.5 發(fā)現(xiàn)對(duì)象和定義類(lèi),1. 發(fā)現(xiàn)對(duì)象 2. 抽象出對(duì)象類(lèi),25,1. 發(fā)現(xiàn)對(duì)象,發(fā)現(xiàn)對(duì)象的根本出發(fā)點(diǎn): 問(wèn)題域和系統(tǒng)責(zé)任 正確運(yùn)用抽象原則。,26,2. 抽象出對(duì)象類(lèi),幾種常見(jiàn)問(wèn)題: 類(lèi)的屬性或服務(wù)不適合該類(lèi)的全部

6、對(duì)象。 出現(xiàn)屬性和服務(wù)相似的類(lèi)。 出現(xiàn)對(duì)同一事物的重復(fù)描述。,27,2.2.6 對(duì)象之間的通信,1. 一般/特殊結(jié)構(gòu) 2. 整體/部分結(jié)構(gòu) 3. 實(shí)例連接 4. 消息連接,28,1. 一般/特殊結(jié)構(gòu),一般/特殊結(jié)構(gòu)均形成層次或網(wǎng)絡(luò),29,2. 整體/部分結(jié)構(gòu),30,3. 實(shí)例連接,實(shí)例連接用于表達(dá)對(duì)象之間的靜態(tài)聯(lián)系,31,4. 消息連接,定義:兩個(gè)對(duì)象之間存在的由于通信需要而形成的關(guān)系。 表示方法:使用箭頭從發(fā)送消息的對(duì)象指向接收消息的對(duì)象。,32,2.3 面向?qū)ο笤O(shè)計(jì)(OOD),2.3.1 面向?qū)ο笤O(shè)計(jì)的模型 2.3.2 面向?qū)ο蟮母邔釉O(shè)計(jì) 2.3.3 面向?qū)ο蟮念?lèi)設(shè)計(jì),33,Bjarne

7、STroustRUP:,面向?qū)ο蟮木幊谭妒绞牵?決定你要的類(lèi) 給每個(gè)類(lèi)提供完整的一組操作 明確地使用繼承來(lái)表現(xiàn)共同點(diǎn),34,2.3.1 面向?qū)ο笤O(shè)計(jì)的模型,35,2.3.2 面向?qū)ο蟮母邔釉O(shè)計(jì),1. 高層設(shè)計(jì)的結(jié)構(gòu)模型 2. 高層設(shè)計(jì)的準(zhǔn)則 3. 問(wèn)題域子系統(tǒng)的設(shè)計(jì) 4. 人機(jī)交互子系統(tǒng)的設(shè)計(jì) 5. 任務(wù)管理子系統(tǒng)的設(shè)計(jì) 6. 數(shù)據(jù)管理子系統(tǒng)的設(shè)計(jì),36,1. 高層設(shè)計(jì)的結(jié)構(gòu)模型,37,2. 高層設(shè)計(jì)的準(zhǔn)則,模塊化 抽象 信息隱藏 低耦合 高內(nèi)聚,38,3. 問(wèn)題域子系統(tǒng)的設(shè)計(jì),復(fù)用已有的設(shè)計(jì)。 把與問(wèn)題論域相關(guān)的類(lèi)關(guān)聯(lián),建立類(lèi)的層次結(jié)構(gòu)。 創(chuàng)建一般化類(lèi)。 改進(jìn)系統(tǒng)性能。 加入較低層的構(gòu)件。,

8、39,4. 人機(jī)交互子系統(tǒng)的設(shè)計(jì),用戶(hù)分類(lèi)。 描述人及其任務(wù)的腳本。 設(shè)計(jì)命令層。 設(shè)計(jì)與用戶(hù)的詳細(xì)交互。 繼續(xù)進(jìn)行原型設(shè)計(jì)。 設(shè)計(jì)人機(jī)交互類(lèi)。,40,5. 任務(wù)管理子系統(tǒng)的設(shè)計(jì),為任務(wù)命名,并簡(jiǎn)要說(shuō)明這個(gè)任務(wù)。 定義各個(gè)任務(wù)如何協(xié)調(diào)工作,指出它是事件驅(qū)動(dòng)還是時(shí)鐘驅(qū)動(dòng)。 定義各個(gè)任務(wù)之間如何通信,任務(wù)將從哪里取值,任務(wù)執(zhí)行得到的結(jié)果將送往何方。,41,6. 數(shù)據(jù)管理子系統(tǒng)的設(shè)計(jì),常用的數(shù)據(jù)管理方法有三種: 文件管理 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng) 面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng),42,2.3.3 面向?qū)ο蟮念?lèi)設(shè)計(jì),1. 類(lèi)設(shè)計(jì)的目標(biāo) 2. 類(lèi)的設(shè)計(jì)準(zhǔn)則,43,1. 類(lèi)設(shè)計(jì)的目標(biāo),把類(lèi)設(shè)計(jì)成可復(fù)用的“插接相容性”部件。 把類(lèi)設(shè)計(jì)成健壯的部件。 把類(lèi)設(shè)計(jì)成可集成的部件。,44,2. 類(lèi)的設(shè)計(jì)準(zhǔn)則,類(lèi)公共接口的單獨(dú)成員應(yīng)該是類(lèi)的操作符。 類(lèi)A的實(shí)例不應(yīng)該直接發(fā)送消息給類(lèi)B的成員。 操作符是公共的,當(dāng)且僅當(dāng)類(lèi)實(shí)例的用戶(hù)可用。 屬于類(lèi)的每個(gè)操作符要么訪問(wèn)、要么修改類(lèi)的某個(gè)數(shù)據(jù)。(物有所用) 類(lèi)必須盡可能少地依賴(lài)其他類(lèi)。(獨(dú)立性強(qiáng)) 兩個(gè)類(lèi)之間的互相作用應(yīng)該是顯式的。(

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論