第2章面向?qū)ο蠹夹g(shù)與UML_第1頁
第2章面向?qū)ο蠹夹g(shù)與UML_第2頁
第2章面向?qū)ο蠹夹g(shù)與UML_第3頁
第2章面向?qū)ο蠹夹g(shù)與UML_第4頁
第2章面向?qū)ο蠹夹g(shù)與UML_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

2、,也可以是無形的事物或概念。 對(duì)象是問題域或?qū)崿F(xiàn)域中某些事物的一個(gè)抽象。 對(duì)象是一個(gè)封裝數(shù)據(jù)屬性和操作行為的實(shí)體。 系統(tǒng)中的對(duì)象在軟件生命周期的各個(gè)階段可能有不同的表示形式。 一個(gè)對(duì)象的實(shí)例圖解 2. 封裝 封裝是面向?qū)ο蠓椒ǖ囊粋€(gè)重要原則。 封裝有兩個(gè)含義: 結(jié)合性 信息隱蔽性3. 消息 消息是向?qū)ο蟀l(fā)出的服務(wù)請(qǐng)求。 一個(gè)消息包含消息名、接受對(duì)象的標(biāo)志、服務(wù)標(biāo)志、輸入信息、回答信息等。 消息傳遞機(jī)制:當(dāng)一個(gè)消息發(fā)送給某個(gè)對(duì)象時(shí),包含要求接收對(duì)象去執(zhí)行某些活動(dòng)的信息,接受到消息的對(duì)象經(jīng)過解釋,然后予以響應(yīng)。 4. 類 類是一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對(duì)象的集合。 類是對(duì)象的抽象。 客觀世界

3、實(shí)際存在的都是對(duì)象,而不是類 。 類和對(duì)象的關(guān)系。 5. 繼承 繼承性是面向?qū)ο蟪绦蛟O(shè)計(jì)語言不同于其他語言的最主要特點(diǎn)。 繼承是指子類可以自動(dòng)擁有父類的全部屬性與操作的機(jī)制。 父類(超類、基類) 子類(派生類) 繼承性又分為單重繼承和多重繼承兩類。繼承的描述 單重繼承和多重繼承的描述 6. 多態(tài)性定義:同一操作作用于不同的對(duì)象,可以有不同的解釋,產(chǎn)生不同的執(zhí)行結(jié)果。多態(tài)性分為兩種: 編譯時(shí)的多態(tài)性。 運(yùn)行時(shí)的多態(tài)性。多態(tài)性的實(shí)現(xiàn)方式: 通過接口實(shí)現(xiàn)多態(tài)性 通過繼承實(shí)現(xiàn)多態(tài)性 通過抽象類實(shí)現(xiàn)的多態(tài)性7. 結(jié)構(gòu)與連接 一般/特殊結(jié)構(gòu) 整體/部分結(jié)構(gòu) 實(shí)例連接 消息連接1. 面向?qū)ο蟮慕UZ言 Bo

4、och 1993(Grady Booch) OOSE( Ivar Jacobson) OMT-2(Jim Rumbaugh) UMLGrady BoochIvar JacobsonJim RumbaughRational公司公司“三巨頭三巨頭”UML的發(fā)展過程 2. 面向?qū)ο蟮某绦蛟O(shè)計(jì)語言四個(gè)基本的分支: 基于Smalltalk的語言 基于C的語言 基于LISP的語言 基于PASCAL的語言2.2 面向?qū)ο蠓治觯∣OA) 2.2.1 面向?qū)ο蠓治龅膶哟?2.2.2 面向?qū)ο蠓治龅幕具^程 2.2.3 面向?qū)ο蠓治龅幕驹瓌t 2.2.4 類圖 2.2.5 發(fā)現(xiàn)對(duì)象和定義類 2.2.6 對(duì)象之間的

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

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

7、設(shè)計(jì)的結(jié)構(gòu)模型 2. 高層設(shè)計(jì)的準(zhǔn)則 3. 問題域子系統(tǒng)的設(shè)計(jì) 4. 人機(jī)交互子系統(tǒng)的設(shè)計(jì) 5. 任務(wù)管理子系統(tǒng)的設(shè)計(jì) 6. 數(shù)據(jù)管理子系統(tǒng)的設(shè)計(jì)1. 高層設(shè)計(jì)的結(jié)構(gòu)模型2. 高層設(shè)計(jì)的準(zhǔn)則 弱耦合。 強(qiáng)內(nèi)聚。 減少通信開銷。 良好的可擴(kuò)充性。3. 問題域子系統(tǒng)的設(shè)計(jì) 復(fù)用已有的設(shè)計(jì)。 把與問題論域相關(guān)的類關(guān)聯(lián),建立類的層次結(jié)構(gòu)。 創(chuàng)建一般化類。 改進(jìn)系統(tǒng)性能。 加入較低層的構(gòu)件。4. 人機(jī)交互子系統(tǒng)的設(shè)計(jì) 用戶分類。 描述人及其任務(wù)的腳本。 設(shè)計(jì)命令層。 設(shè)計(jì)與用戶的詳細(xì)交互。 繼續(xù)進(jìn)行原型設(shè)計(jì)。 設(shè)計(jì)人機(jī)交互類。5. 任務(wù)管理子系統(tǒng)的設(shè)計(jì) 為任務(wù)命名,并簡(jiǎn)要說明這個(gè)任務(wù)。 定義各個(gè)任務(wù)如何

8、協(xié)調(diào)工作,指出它是事件驅(qū)動(dòng)還是時(shí)鐘驅(qū)動(dòng)。 定義各個(gè)任務(wù)之間如何通信,任務(wù)將從哪里取值,任務(wù)執(zhí)行得到的結(jié)果將送往何方。 6. 數(shù)據(jù)管理子系統(tǒng)的設(shè)計(jì) 常用的數(shù)據(jù)管理方法有三種: 文件管理 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng) 面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng)擴(kuò)充的RDBMS擴(kuò)充的面向?qū)ο蟪绦蛟O(shè)計(jì)語言2.3.3 面向?qū)ο蟮念愒O(shè)計(jì) 1. 類設(shè)計(jì)的目標(biāo) 2. 類的設(shè)計(jì)準(zhǔn)則1. 類設(shè)計(jì)的目標(biāo) 把類設(shè)計(jì)成可復(fù)用的“插接相容性”部件。 把類設(shè)計(jì)成健壯的部件。 把類設(shè)計(jì)成可集成的部件。2. 類的設(shè)計(jì)準(zhǔn)則 類公共接口的單獨(dú)成員應(yīng)該是類的操作符。 類A的實(shí)例不應(yīng)該直接發(fā)送消息給類B的成員。 操作符是公共的,當(dāng)且僅當(dāng)類實(shí)例的用戶可用。 屬于類的每個(gè)操作符要么訪

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論