版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、概而言之,面向?qū)ο蟮脑O(shè)計(jì)(OOD)就是運(yùn)用面向?qū)ο蠓椒ㄟM(jìn)行系統(tǒng)設(shè)計(jì);但不同時(shí)期有不同內(nèi)容及特點(diǎn)。(一)早期的(一)早期的OODOOD(八十年代至九十年代初)(八十年代至九十年代初)(二)現(xiàn)今(二)現(xiàn)今(9090年代)的年代)的OODOOD(一)早期的(一)早期的OOD(八十年代至九十年代初)(八十年代至九十年代初)G. Booch 1982 年發(fā)表“Object-Oriented Design” ,首次稱“面向?qū)ο蟮脑O(shè)計(jì)”。1986 年發(fā)表“Object-Oriented Development”較完整地闡述了OOD思想。R. J. Abbott 1983年提出正文分析方法(用規(guī)范的英語(yǔ)描述對(duì)
2、一個(gè)問(wèn)題的解釋,然后從描述中提取對(duì)象及其特征。)1986年后,相繼出現(xiàn)了一批(早期的)OOD方法。(一)早期的(一)早期的OODOOD(八十年代至九十年代初)(八十年代至九十年代初)Booch86Object-Oriented Development(面向?qū)ο蟮拈_(kāi)發(fā))GOODGeneral Object-Oriented Development(通用面向?qū)ο蟮拈_(kāi)發(fā))HOODHierarchical Object-Oriented Design(層次式面向?qū)ο蟮脑O(shè)計(jì))OOSDObject-Oriented Structured Design(面向?qū)ο蟮慕Y(jié)構(gòu)設(shè)計(jì))早期的OODOOD方法(二)現(xiàn)今(
3、二)現(xiàn)今(9090年代)的年代)的OODOOD面向?qū)ο蟮脑O(shè)計(jì)(OOD)就在是OOA模型基礎(chǔ)上運(yùn)用面向?qū)ο蠓椒ㄟM(jìn)行系統(tǒng)設(shè)計(jì),目標(biāo)是產(chǎn)生一個(gè)符合具體實(shí)現(xiàn)條件的OOD模型。OOD的特點(diǎn):的特點(diǎn):1. 以面向?qū)ο蟮姆治鰹榛A(chǔ),一般不依賴結(jié)構(gòu)化分析。2. 與相應(yīng)的OOA方法共同構(gòu)成一種OOA&D方法體系。OOA和OOD采用一致的概念與原則,但屬于軟件生命周期的不同階段,有不同的目標(biāo)及策略。3. 較全面地體現(xiàn)面向?qū)ο蠓椒ǖ母拍钆c原則。4. 大多數(shù)方法獨(dú)立于編程語(yǔ)言,通過(guò)面向?qū)ο蟮姆治雠c設(shè)計(jì)所得到的系統(tǒng)模型可以由不同的編程語(yǔ)言實(shí)現(xiàn)。(一)(一)OOAOOA和和OODOOD的關(guān)系的關(guān)系(二)(二)OO
4、DOOD的基本思想的基本思想(三)(三)OODOOD模型框架模型框架(四)(四)OODOOD過(guò)程過(guò)程(一)(一)OOAOOA和和OODOOD的關(guān)系的關(guān)系概念:運(yùn)用與OOA相同的概念(類、對(duì)象、屬性、操作、封裝、繼承、消息、關(guān)聯(lián)、聚合、多態(tài)等等)表示法:采用與OOA一致的表示法傳統(tǒng)方法分析與設(shè)計(jì)之間的鴻溝面向?qū)ο蟮姆治雠c設(shè)計(jì)之間不存在鴻溝分析設(shè)計(jì)數(shù)據(jù)流圖(DFD)模塊結(jié)構(gòu)圖(MSD)實(shí)體-關(guān)系圖(ERD)OOAOOD類圖類圖一致的概念一致的表示法(二)(二) OOD OOD的基本思想的基本思想以O(shè)OA模型為基礎(chǔ),繼續(xù)運(yùn)用面向?qū)ο蟮母拍钆c原則,針對(duì)具體的實(shí)現(xiàn)條件進(jìn)行系統(tǒng)設(shè)計(jì)。以平臺(tái)無(wú)關(guān)的OOA模型
5、為基礎(chǔ),按實(shí)現(xiàn)平臺(tái)進(jìn)行必要的調(diào)整,作為OOD模型的核心部分,即問(wèn)題域部分;針對(duì)實(shí)現(xiàn)平臺(tái)的三個(gè)主要方面,增補(bǔ)三個(gè)平臺(tái)相關(guān)的外圍部分,盡可能隔離實(shí)現(xiàn)條件對(duì)核心部分的影響,構(gòu)成完整的OOD模型。(三)(三)OODOOD模型框架模型框架(四)(四)OODOOD過(guò)程過(guò)程逐個(gè)設(shè)計(jì)OOD模型的四個(gè)部分:?jiǎn)栴}域部分的設(shè)計(jì)人機(jī)交互部分的設(shè)計(jì)控制驅(qū)動(dòng)部分的設(shè)計(jì)數(shù)據(jù)接口部分的設(shè)計(jì)不強(qiáng)調(diào)次序每個(gè)部分均采用與OOA一致的概念、表示法及活動(dòng),但具有自己獨(dú)特的策略(一)(一)單一職責(zé)原則單一職責(zé)原則(二)(二)開(kāi)放封閉原則開(kāi)放封閉原則(三)(三)依賴倒置原則依賴倒置原則(四)(四)接口隔離原則接口隔離原則(五)(五)Lis
6、kov替換原則替換原則(一)(一)單一職責(zé)原則單一職責(zé)原則對(duì)于單一職責(zé)原則,其核心思想為:一個(gè)類,最好只做一件事,只有一個(gè)引起它的變化。單一職責(zé)原則可以看做是低耦合、高內(nèi)聚在面向?qū)ο笤瓌t上的引申,將職責(zé)定義為引起變化的原因,以提高內(nèi)聚性來(lái)減少引起變化的原因。通常意義下的單一職責(zé),就是指只有一種單一功能,不要為類實(shí)現(xiàn)過(guò)多的功能點(diǎn),以保證實(shí)體只有一個(gè)引起它變化的原因。(二)(二)開(kāi)放封閉原則開(kāi)放封閉原則對(duì)于開(kāi)放封閉原則,它是面向?qū)ο笏性瓌t的核心,軟件設(shè)計(jì)說(shuō)到底追求的目標(biāo)就是封裝變化、降低耦合,而開(kāi)放封閉原則就是這一目標(biāo)的最直接體現(xiàn)。開(kāi)放封閉原則,其核心思想是:軟件實(shí)體應(yīng)該是可擴(kuò)展的,而不可修改的
7、。也就是,對(duì)擴(kuò)展開(kāi)放,對(duì)修改封閉的。實(shí)現(xiàn)開(kāi)開(kāi)放封閉原則的核心思想就是對(duì)抽象編程,而不對(duì)具體編程,因?yàn)槌橄笙鄬?duì)穩(wěn)定。讓類依賴于固定的抽象,所以修改就是封閉的;而通過(guò)面向?qū)ο蟮睦^承和多態(tài)機(jī)制,又可以實(shí)現(xiàn)對(duì)抽象類的繼承,通過(guò)覆寫(xiě)其方法來(lái)改變固有行為,實(shí)現(xiàn)新的拓展方法,所以就是開(kāi)放的。(二)(二)開(kāi)放封閉原則開(kāi)放封閉原則開(kāi)放封閉原則主要體現(xiàn)在兩個(gè)方面:一、對(duì)擴(kuò)展開(kāi)放,意味著有新的需求或變化時(shí),可以對(duì)現(xiàn)有代碼進(jìn)行擴(kuò)展,以適應(yīng)新的情況。二、對(duì)修改封閉,意味著類一旦設(shè)計(jì)完成,就可以獨(dú)立完成其工作,而不要對(duì)其進(jìn)行任何嘗試的修改。(三)(三)依賴倒置原則依賴倒置原則對(duì)于依賴倒置原則,其核心思想是:依賴于抽象。具
8、體而言就是高層模塊不依賴于底層模塊,二者都同依賴于抽象;抽象不依賴于具體,具體依賴于抽象。當(dāng)兩個(gè)模塊之間存在緊密的耦合關(guān)系時(shí),最好的方法就是分離接口和實(shí)現(xiàn):在依賴之間定義一個(gè)抽象的接口使得高層模塊調(diào)用接口,而底層模塊實(shí)現(xiàn)接口的定義,以此來(lái)有效控制耦合關(guān)系,達(dá)到依賴于抽象的設(shè)計(jì)目標(biāo)。抽象的穩(wěn)定性決定了系統(tǒng)的穩(wěn)定性,因?yàn)槌橄笫遣蛔兊模蕾囉诔橄笫敲嫦驅(qū)ο笤O(shè)計(jì)的精髓,也是依賴倒置原則的核心。(四)(四)接口隔離原則接口隔離原則對(duì)于接口隔離原則,其核心思想是:使用多個(gè)小的專門(mén)的接口,而不要使用一個(gè)大的總接口。具體而言,接口隔離原則體現(xiàn)在:接口應(yīng)該是內(nèi)聚的,應(yīng)該避免“胖”接口。一個(gè)類對(duì)另外一個(gè)類的依賴應(yīng)
9、該建立在最小的接口上,不要強(qiáng)迫依賴不用的方法,這是一種接口污染。接口有效地將細(xì)節(jié)和抽象隔離,體現(xiàn)了對(duì)抽象編程的一切好處,接口隔離強(qiáng)調(diào)接口的單一性,而胖接口存在明顯的弊端,會(huì)導(dǎo)致實(shí)現(xiàn)的類型必須完全實(shí)現(xiàn)接口的所有方法、屬性等。(四)(四)接口隔離原則接口隔離原則分離的手段主要有以下兩種:一、委托分離,通過(guò)增加一個(gè)新的類型來(lái)委托客戶的請(qǐng)求,隔離客戶和接口的直接依賴,但是會(huì)增加系統(tǒng)的開(kāi)銷(xiāo)。二、多重繼承分離,通過(guò)接口多繼承來(lái)實(shí)現(xiàn)客戶的需求,這種方式是較好的。(五)(五)Liskov替換原則替換原則對(duì)于Liskov替換原則,其核心思想是:子類必須能夠替換其基類。這一思想體現(xiàn)為對(duì)繼承機(jī)制的約束規(guī)范,只有子類
10、能夠替換基類時(shí),才能保證系統(tǒng)在運(yùn)行期內(nèi)識(shí)別子類,這是保證繼承復(fù)用的基礎(chǔ)。在父類和子類的具體行為中,必須嚴(yán)格把握繼承層次中的關(guān)系和特征,將基類替換為子類,程序的行為不會(huì)發(fā)生任何變化。同時(shí),這一約束反過(guò)來(lái)則是不成立的,子類可以替換基類,但是基類不一定能替換子類。(五)(五)Liskov替換原則替換原則Liskov替換原則,主要著眼于對(duì)抽象和多態(tài)建立在繼承的基礎(chǔ)上,因此只有遵循了Liskov替換原則,才能保證繼承復(fù)用是可靠地。實(shí)現(xiàn)的方法是面向接口編程:將公共部分抽象為基類接口或抽象類,通過(guò)Extract Abstract Class,在子類中通過(guò)覆寫(xiě)父類的方法實(shí)現(xiàn)新的方式支持同樣的職責(zé)。Liskov
11、替換原則是關(guān)于繼承機(jī)制的設(shè)計(jì)原則,違反了Liskov替換原則就必然導(dǎo)致違反開(kāi)放封閉原則。Liskov替換原則能夠保證系統(tǒng)具有良好的拓展性,同時(shí)實(shí)現(xiàn)基于多態(tài)的抽象機(jī)制,能夠減少代碼冗余,避免運(yùn)行期的類型判別。(一)什么是人機(jī)交互部分(一)什么是人機(jī)交互部分(二)人機(jī)交互部分的需求分析(二)人機(jī)交互部分的需求分析(三)人機(jī)界面的設(shè)計(jì)準(zhǔn)則(三)人機(jī)界面的設(shè)計(jì)準(zhǔn)則(四)人機(jī)界面的(四)人機(jī)界面的OOOO設(shè)計(jì)設(shè)計(jì)(一)什么是人機(jī)交互部分(一)什么是人機(jī)交互部分人機(jī)交互部分是OOD模型的外圍組成部分之一,是系統(tǒng)中負(fù)責(zé)人機(jī)交互的部分。其中所包含的對(duì)象(稱作界面對(duì)象)構(gòu)成了系統(tǒng)的人機(jī)界面。現(xiàn)今的系統(tǒng)大多采用圖
12、形方式的人機(jī)界面形象、直觀、易學(xué)、易用,遠(yuǎn)遠(yuǎn)勝于命令行方式的人機(jī)界面,是使軟件系統(tǒng)嬴得廣大用戶的關(guān)鍵因素之一。支持圖形用戶界面開(kāi)發(fā)的軟件系統(tǒng):窗口系統(tǒng)(如X Window,News,MS-Windows)圖形用戶界面(GUI)(如OSF/Motif,Open Look)可視化開(kāi)發(fā)環(huán)境(如Visual C+,Visual Basic, Delphi)(二)人機(jī)交互部分的需求分析(二)人機(jī)交互部分的需求分析一、分析與系統(tǒng)交互的人(參與者)(1)列舉所有的人員參與者(2)調(diào)查研究(3)區(qū)分人員類型(4)統(tǒng)計(jì)(或估算)各類人員的比例(5)了解使用者的主觀需求(二)人機(jī)交互部分的需求分析(二)人機(jī)交互部
13、分的需求分析二、從用況分析人機(jī)交互(1)用況的構(gòu)成:參與者的行為和系統(tǒng)行為按時(shí)間順序交替出現(xiàn),左右分明。形成交叉排列的段落。每個(gè)段落至少含有一個(gè)輸入語(yǔ)句或輸出語(yǔ)句;有若干純屬參與者自身或系統(tǒng)自身的行為陳述;可能包含一些控制語(yǔ)句或括號(hào)。(2)抽取方法:刪除所有與輸入、輸出無(wú)關(guān)的語(yǔ)句刪除不再包含任何內(nèi)容的控制語(yǔ)句與括號(hào)剩下的就是對(duì)參與者(人)使用一項(xiàng)系統(tǒng)功能時(shí)的人機(jī)交互描述(三)人機(jī)界面的設(shè)計(jì)準(zhǔn)則(三)人機(jī)界面的設(shè)計(jì)準(zhǔn)則使用簡(jiǎn)便一致性啟發(fā)性減少人腦記憶的負(fù)擔(dān)減少重復(fù)的輸入容錯(cuò)性及時(shí)反饋(四)(四)人機(jī)界面的人機(jī)界面的OOOO設(shè)計(jì)設(shè)計(jì)一、選擇界面支持系統(tǒng)0級(jí):操作系統(tǒng)和普通編程語(yǔ)言(全部人工編程)1
14、級(jí):圖形軟件包(提供基本圖形元素的繪制函數(shù))2級(jí):窗口系統(tǒng)(提供實(shí)現(xiàn)人機(jī)界面基本成分的支撐機(jī)制如實(shí)現(xiàn)窗口、菜單、對(duì)話框的庫(kù)函數(shù))3級(jí):GUI(為實(shí)現(xiàn)具有特定的風(fēng)格和視感的圖形用戶界面提供了更強(qiáng)的支持)4級(jí):可視化編程環(huán)境(以“所見(jiàn)即所得”的方式構(gòu)造用戶界面)(四)(四)人機(jī)界面的人機(jī)界面的OOOO設(shè)計(jì)設(shè)計(jì)二、根據(jù)人機(jī)交互需求選擇界面元素(1)系統(tǒng)的啟動(dòng)系統(tǒng)的啟動(dòng) 選用實(shí)現(xiàn)主界面的界面元素,如窗口、對(duì)話框窗口(2)高層命令組織結(jié)構(gòu)的實(shí)現(xiàn)高層命令組織結(jié)構(gòu)的實(shí)現(xiàn)通過(guò)界面元素的構(gòu)造層次體現(xiàn)高層命令的組織結(jié)構(gòu)(3)基本命令的執(zhí)行基本命令的執(zhí)行高層命令的執(zhí)行是在人機(jī)界面上把用戶引向基本命令,基本命令的執(zhí)行則是從界面給實(shí)現(xiàn)其功能的對(duì)象送消息(4)詳細(xì)交互過(guò)程的輸入與輸出詳細(xì)交互過(guò)程的輸入與輸出選擇適當(dāng)?shù)慕缑嬖赝瓿擅總€(gè)命令步的輸入與輸出(5)異常命令的輸入異常命令的輸入使用支持異常命令輸入的界面功能,如鼠標(biāo)右鍵菜單(四)(四)人機(jī)界面的人機(jī)界面的OOOO設(shè)計(jì)設(shè)計(jì)三、用OO概念與表示法表達(dá)所有的界面成分(1)用對(duì)象表示各種界面元素)用對(duì)象表示各種界面元素(2)屬性與操作)屬性與操作a a、用屬性表示界面對(duì)象的靜態(tài)特征物理特征如:位置、尺寸、顏色、立體效果邏輯特征聚合、關(guān)聯(lián)b b、用操作表示界面對(duì)象的行為例如:創(chuàng)建、激活、最大化、最小化、移動(dòng)、選中、單擊、雙擊 (四)(四)人機(jī)界面的人機(jī)界面
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)生畢業(yè)贈(zèng)言15篇
- 文藝晚會(huì)策劃方案范文錦集八篇
- 產(chǎn)品銷(xiāo)售合同六篇
- 團(tuán)隊(duì)精神演講稿(匯編15篇)
- 校本研修工作總結(jié)
- 企業(yè)員工工作計(jì)劃
- 我的拿手好戲作文500字10篇
- 數(shù)學(xué)學(xué)習(xí)計(jì)劃合集10篇
- 護(hù)士個(gè)人年終述職報(bào)告4篇
- 春季開(kāi)學(xué)典禮校長(zhǎng)演講稿合集6篇
- 借用模具合同范例
- 測(cè)繪地理信息與地圖編制作業(yè)指導(dǎo)書(shū)
- 實(shí)驗(yàn)診斷學(xué)練習(xí)題庫(kù)(附參考答案)
- 2024版新能源汽車(chē)充電站電線電纜采購(gòu)合同2篇
- 國(guó)家藥包材檢驗(yàn)標(biāo)準(zhǔn)培訓(xùn)
- 腫瘤科危急重癥護(hù)理
- 2024-2030年中國(guó)加速器行業(yè)發(fā)展趨勢(shì)及運(yùn)營(yíng)模式分析報(bào)告版
- 護(hù)理查房深靜脈置管
- 計(jì)算與人工智能概論知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋湖南大學(xué)
- 2024年度油漆涂料生產(chǎn)線租賃合同3篇
- 2024-2024年上海市高考英語(yǔ)試題及答案
評(píng)論
0/150
提交評(píng)論