第01講面向?qū)ο蟮能浖_發(fā)ppt課件_第1頁
第01講面向?qū)ο蟮能浖_發(fā)ppt課件_第2頁
第01講面向?qū)ο蟮能浖_發(fā)ppt課件_第3頁
第01講面向?qū)ο蟮能浖_發(fā)ppt課件_第4頁
第01講面向?qū)ο蟮能浖_發(fā)ppt課件_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 2 頁本本 章章 要要 點點面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 4 頁1、回顧結(jié)構(gòu)化方法l程序設(shè)計語言只要順序、選擇和重復(fù)三種程序設(shè)計語言只要順序、選擇和重復(fù)三種形式的控制結(jié)構(gòu)就足以表達出各種其他形形式的控制結(jié)構(gòu)就足以表達出各種其他形式的結(jié)構(gòu)。式的結(jié)構(gòu)。l采用過程抽象的方式,把軟件視為處理流,采用過程抽象的方式,把軟件視為處理流,并定義成由一系列步驟構(gòu)成的算法。每一并定義成由一系列步驟構(gòu)成的算法。每一步驟都是帶有預(yù)定輸入和特定輸出的一個步驟都是帶有預(yù)定輸入和特定輸出的一個過程,把

2、這些步驟串聯(lián)在一起可產(chǎn)生合理過程,把這些步驟串聯(lián)在一起可產(chǎn)生合理的穩(wěn)定的貫通于整個程序的控制流,最終的穩(wěn)定的貫通于整個程序的控制流,最終產(chǎn)生一個簡單的具有靜態(tài)結(jié)構(gòu)的體系結(jié)構(gòu)。產(chǎn)生一個簡單的具有靜態(tài)結(jié)構(gòu)的體系結(jié)構(gòu)。面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 5 頁1、回顧結(jié)構(gòu)化方法l數(shù)據(jù)抽象、數(shù)據(jù)結(jié)構(gòu)根據(jù)算法步驟的要求數(shù)據(jù)抽象、數(shù)據(jù)結(jié)構(gòu)根據(jù)算法步驟的要求開發(fā),它貫穿于過程,提供過程所要求操開發(fā),它貫穿于過程,提供過程所要求操作的信息。作的信息。l系統(tǒng)的狀態(tài)是一組全局變量,這組全局變系統(tǒng)的狀態(tài)是一組全局變量,這組全局變量保存狀態(tài)的值,把它們從一個過程傳送量保存狀態(tài)的值,把它們從一個過程傳送到另一個過程

3、。到另一個過程。面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 6 頁1、回顧結(jié)構(gòu)化方法l缺陷:缺陷:l1復(fù)用困難復(fù)用困難l2牽一發(fā)而動全身牽一發(fā)而動全身l3為了適應(yīng)變化,要精心設(shè)計函數(shù)接口,為了適應(yīng)變化,要精心設(shè)計函數(shù)接口,導致函數(shù)接口的日益復(fù)雜導致函數(shù)接口的日益復(fù)雜面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 7 頁2、面向?qū)ο蠓椒ǖ奶岢鰈面向?qū)ο蠓椒ò褑栴}論域中的主要實體做面向?qū)ο蠓椒ò褑栴}論域中的主要實體做為系統(tǒng)開發(fā)的起點,主要考慮對象的行為為系統(tǒng)開發(fā)的起點,主要考慮對象的行為而不是必須執(zhí)行的一系列動作。而不是必須執(zhí)行的一系列動作。l在面向?qū)ο蠓椒ㄖ?,對象是?shù)據(jù)抽象與過在面向?qū)ο蠓椒ㄖ校瑢ο笫菙?shù)據(jù)抽

4、象與過程抽象的綜合。程抽象的綜合。l系統(tǒng)狀態(tài)保存在各數(shù)據(jù)抽象所定義的數(shù)據(jù)系統(tǒng)狀態(tài)保存在各數(shù)據(jù)抽象所定義的數(shù)據(jù)存儲中。存儲中。l控制流包含在各個數(shù)據(jù)抽象中的操作內(nèi),控制流包含在各個數(shù)據(jù)抽象中的操作內(nèi),算法被分布到各種實體中。算法被分布到各種實體中。面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 8 頁2、面向?qū)ο蠓椒ǖ奶岢鰈在使用面向?qū)ο蠓椒ㄩ_發(fā)的系統(tǒng)之中,系在使用面向?qū)ο蠓椒ㄩ_發(fā)的系統(tǒng)之中,系統(tǒng)結(jié)構(gòu)基于對象間的交互。系統(tǒng)中某一部統(tǒng)結(jié)構(gòu)基于對象間的交互。系統(tǒng)中某一部分的改變僅僅產(chǎn)生局部影響。分的改變僅僅產(chǎn)生局部影響。l其組成部分如下:其組成部分如下:l面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?OOA)l面向?qū)ο笤O(shè)計面向

5、對象設(shè)計(OOD) l面向?qū)ο蟪绦蛟O(shè)計面向?qū)ο蟪绦蛟O(shè)計(OOP) l即:即:OOSD = OOA + OOD + OOP。面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 9 頁3、面向?qū)ο蠓椒ǖ幕舅枷雔盡可能模擬人類習慣的思維方式,使開發(fā)盡可能模擬人類習慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認識世軟件的方法與過程盡可能接近人類認識世界解決問題的方法與過程,也就是使描述界解決問題的方法與過程,也就是使描述問題的問題空間即問題域與實現(xiàn)解法問題的問題空間即問題域與實現(xiàn)解法的解空間即求解域在結(jié)構(gòu)上盡可能一的解空間即求解域在結(jié)構(gòu)上盡可能一致。致。天下烏鴉天下烏鴉一般黑一般黑歸納歸納演繹演繹面向?qū)ο?/p>

6、的程序設(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 10 頁l人類對客觀事物的認知過程人類對客觀事物的認知過程l從一般到特殊的演繹過程從一般到特殊的演繹過程l從特殊到一般的歸納方法從特殊到一般的歸納方法3、面向?qū)ο蠓椒ǖ幕舅枷脒\輸工具運輸工具飛機飛機汽車汽車輪船輪船火車火車水果水果蘋果蘋果香蕉香蕉梨梨籠統(tǒng)籠統(tǒng)面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 11 頁3、面向?qū)ο蠓椒ǖ幕舅枷雔面向?qū)ο蠓椒ㄌ峁┝顺橄蠛蜌w納的機制面向?qū)ο蠓椒ㄌ峁┝顺橄蠛蜌w納的機制抽象的客觀概念抽象的客觀概念概念:學生概念:學生抽象的數(shù)據(jù)類型抽象的數(shù)據(jù)類型類:學生類:學生實例化的對象實例化的對象對象:對象:Jane具體的一組相似客觀事物具體的

7、一組相似客觀事物實體:實體:Jane、Smith等等表示表示籠統(tǒng)籠統(tǒng)實例化實例化模擬模擬面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 12 頁3、面向?qū)ο蠓椒ǖ幕舅枷雱澐謩澐謱?fù)雜問題將復(fù)雜問題復(fù)雜對象復(fù)雜對象劃分為一系劃分為一系列簡單的組列簡單的組成部分簡成部分簡單對象)單對象) 分類分類按照對象間的各種相按照對象間的各種相似性將對象分類似性將對象分類認識各類對象自認識各類對象自身屬性及行為身屬性及行為認識對象及類之認識對象及類之間關(guān)系間關(guān)系全部事物的全部事物的完整認識完整認識符合人類認知規(guī)律的軟件開發(fā)過程面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 14 頁1、什

8、么是對象?l在應(yīng)用領(lǐng)域中有意義的、與所要解決的問在應(yīng)用領(lǐng)域中有意義的、與所要解決的問題有關(guān)系的任何事物都可以作為對象,它題有關(guān)系的任何事物都可以作為對象,它既可以是具體的物理實體的抽象,也可以既可以是具體的物理實體的抽象,也可以是人為的概念,或者是任何有明確邊界和是人為的概念,或者是任何有明確邊界和意義的東西。例如,一名職工、一家公司、意義的東西。例如,一名職工、一家公司、一個窗口、一座圖書館、一本圖書、貸款一個窗口、一座圖書館、一本圖書、貸款和借款等,都可以作為一個對象。和借款等,都可以作為一個對象。l總之,對象是對問題域中某個實體的抽象,總之,對象是對問題域中某個實體的抽象,設(shè)立某個對象就

9、反映了軟件系統(tǒng)保存有關(guān)設(shè)立某個對象就反映了軟件系統(tǒng)保存有關(guān)它的信息,并具有與它進行交互的能力。它的信息,并具有與它進行交互的能力。面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 15 頁1、什么是對象?l在不同場合具有不同的含義:在不同場合具有不同的含義:l問題空間:所有要研究的客觀現(xiàn)實的全體問題空間:所有要研究的客觀現(xiàn)實的全體稱為問題空間或問題域,而把要研究的問稱為問題空間或問題域,而把要研究的問題客觀世界中的實體稱之為問題空間題客觀世界中的實體稱之為問題空間的對象的對象 l解空間:所有的解程序及執(zhí)行程序的計解空間:所有的解程序及執(zhí)行程序的計算機組成的集合稱為解空間,把解程算機組成的集合稱為解空間,

10、把解程序及執(zhí)行程序的計算機實體稱做解空間序及執(zhí)行程序的計算機實體稱做解空間的對象的對象面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 16 頁1、什么是對象?問題空間對象問題空間對象圖書1MyBook1 : CBook書 名:程序設(shè)計總頁數(shù):280版 本:2.m_pczName:char* =“程序設(shè)計”nTotalPage:int =280nEdition:int =2.返回書名返回總頁數(shù)返回版本號.char* GetBookName();int GetTotalPage();int GetEdition();.分析中的對象設(shè)計中的對象面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 17 頁1、什么是對象?

11、l對象是封裝了數(shù)據(jù)結(jié)構(gòu)及可以施加在這些對象是封裝了數(shù)據(jù)結(jié)構(gòu)及可以施加在這些數(shù)據(jù)結(jié)構(gòu)上的操作的封裝體,這個封裝體數(shù)據(jù)結(jié)構(gòu)上的操作的封裝體,這個封裝體有可以唯一標識它的名字,而且向外界提有可以唯一標識它的名字,而且向外界提供一組服務(wù)。供一組服務(wù)。l屬性屬性attribute表示對象的性質(zhì),屬性表示對象的性質(zhì),屬性值規(guī)定了對象所有可能的狀態(tài),一般只能值規(guī)定了對象所有可能的狀態(tài),一般只能通過執(zhí)行對象的操作來改變。通過執(zhí)行對象的操作來改變。面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 18 頁1、什么是對象?l操作是指該對象可以展現(xiàn)的外部服務(wù),它操作是指該對象可以展現(xiàn)的外部服務(wù),它描述了對象執(zhí)行的功能,若通過

12、消息傳遞,描述了對象執(zhí)行的功能,若通過消息傳遞,還可以為其它對象使用。還可以為其它對象使用。l例如,大型客機可視為對象,它具有位置、例如,大型客機可視為對象,它具有位置、速度、顏色、容量等屬性,對于該對象可速度、顏色、容量等屬性,對于該對象可施行起飛、降落、加速、維修等操作,這施行起飛、降落、加速、維修等操作,這些操作將或多或少地改變飛機的屬性值些操作將或多或少地改變飛機的屬性值(形狀形狀)。面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 19 頁1、什么是對象?對象:電視機對象:電視機Others.Internal StateTurn OnTurn OffChange ChannelAdjust V

13、olumeOthers變更頻道請求開請求關(guān)調(diào)節(jié)音量被封裝的行為和狀態(tài)l類是具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的一組類是具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的一組相似對象的抽象。即表示某些對象在屬性相似對象的抽象。即表示某些對象在屬性和操作方面的共同特征。和操作方面的共同特征。l類是在對象之上的抽象,有了類以后,對類是在對象之上的抽象,有了類以后,對象則是類的具體化,是類的實例。象則是類的具體化,是類的實例。l把一組對象的共同特性加以抽象并存貯在把一組對象的共同特性加以抽象并存貯在一個類中的能力,是面向?qū)ο蠹夹g(shù)最重要一個類中的能力,是面向?qū)ο蠹夹g(shù)最重要的一點!的一點!面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 20

14、頁2、類的概念l類是建立對象時使用的類是建立對象時使用的“樣板樣板”,按照這,按照這個樣板所建立的一個個具體的對象,就是個樣板所建立的一個個具體的對象,就是類的實例。類的實例。l實例是某個具體類所描述的一個具體對象實例是某個具體類所描述的一個具體對象,如:,如:“張三張三”、“李四是類李四是類“中國人中國人的實例。的實例。l對象既可以是一個具體的對象,也可以泛對象既可以是一個具體的對象,也可以泛指一般的對象;而實例只能是一個具體的指一般的對象;而實例只能是一個具體的對象。對象。面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 21 頁3、實例的概念面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 22 頁類與實例

15、class furniturecosttexturelocationcolorMove()object chaircost $50texture woodlocation scantumcolor blackMove()面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 23 頁4、消息的概念l對象之間進行通訊的一種構(gòu)造叫做消息。對象之間進行通訊的一種構(gòu)造叫做消息。 l當一個消息發(fā)送給某個對象時,包含要求當一個消息發(fā)送給某個對象時,包含要求接收對象去執(zhí)行某些活動的信息。接收到接收對象去執(zhí)行某些活動的信息。接收到消息的對象經(jīng)過解釋,然后予以響應(yīng)。這消息的對象經(jīng)過解釋,然后予以響應(yīng)。這種通訊機制叫做消息傳遞。

16、發(fā)送消息的對種通訊機制叫做消息傳遞。發(fā)送消息的對象不需要知道接收消息的對象如何對請求象不需要知道接收消息的對象如何對請求予以響應(yīng)。予以響應(yīng)。l通常一個消息由三部分組成:通常一個消息由三部分組成:l1接收消息的對象;接收消息的對象;面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 24 頁l2消息標識符即消息名)消息標識符即消息名)l3零個或多個變元零個或多個變元l訪問一個方法的過程稱為向這個對象發(fā)送訪問一個方法的過程稱為向這個對象發(fā)送一個消息一個消息message: sender,return value(s)4、消息的概念面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 25 頁5、面向?qū)ο蟮幕咎卣?封裝性l

17、在面向?qū)ο蟮某绦蛑校褦?shù)據(jù)和實現(xiàn)操作在面向?qū)ο蟮某绦蛑?,把?shù)據(jù)和實現(xiàn)操作的代碼集中起來放在對象內(nèi)部。一個對象的代碼集中起來放在對象內(nèi)部。一個對象好像是一個不透明的黑盒子,表示對象狀好像是一個不透明的黑盒子,表示對象狀態(tài)的數(shù)據(jù)和實現(xiàn)操作的代碼與局部數(shù)據(jù)都態(tài)的數(shù)據(jù)和實現(xiàn)操作的代碼與局部數(shù)據(jù)都被封裝在黑盒子里面,從外面是看不見的,被封裝在黑盒子里面,從外面是看不見的,更不能從外面直接訪問和修改這些數(shù)據(jù)和更不能從外面直接訪問和修改這些數(shù)據(jù)和代碼。代碼。l使用對象的時候只需要知道他向外界提供使用對象的時候只需要知道他向外界提供的接口的形式,無須知道它的數(shù)據(jù)結(jié)構(gòu)細的接口的形式,無須知道它的數(shù)據(jù)結(jié)構(gòu)細節(jié)和實

18、現(xiàn)操作的算法。節(jié)和實現(xiàn)操作的算法。面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 26 頁5、面向?qū)ο蟮幕咎卣?繼承性l廣義地說,繼承是指能夠直接獲得已有的廣義地說,繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們。性質(zhì)和特征,而不必重復(fù)定義它們。l在面向?qū)ο蠹夹g(shù)中,繼承是子類自動地共在面向?qū)ο蠹夹g(shù)中,繼承是子類自動地共享基類中定義的數(shù)據(jù)和方法的機制。享基類中定義的數(shù)據(jù)和方法的機制。l繼承性是面向?qū)ο蟪绦蛟O(shè)計語言不同于其繼承性是面向?qū)ο蟪绦蛟O(shè)計語言不同于其他語言的最主要的特點!他語言的最主要的特點!l繼承具有傳遞性,如果類繼承具有傳遞性,如果類C繼承類繼承類B,類,類B繼承類繼承類A,則類,

19、則類C繼承類繼承類A面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 27 頁5、面向?qū)ο蟮幕咎卣?繼承性單繼承多重繼承設(shè)備輸出設(shè)備I/O設(shè)備輸入設(shè)備面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 28 頁5、面向?qū)ο蟮幕咎卣?繼承性l繼承使得相似的對象可以共享程序代碼和繼承使得相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余信息,同時使得對軟件的修改變得容易;信息,同時使得對軟件的修改變得容易;l繼承使得用戶在開發(fā)新的應(yīng)用系統(tǒng)時不必繼承使得用戶在開發(fā)新的應(yīng)用系統(tǒng)時不必完全重新開始,可以繼承原有的相似系統(tǒng)完全重新開始,可以繼承原有的相似系統(tǒng)或從類庫中選取需

20、要的類,在派生出新的或從類庫中選取需要的類,在派生出新的類以實現(xiàn)所需要的功能;類以實現(xiàn)所需要的功能;l有了繼承機制以后,還可以把已有的一般有了繼承機制以后,還可以把已有的一般性的解加以具體化,來達到軟件重用的目性的解加以具體化,來達到軟件重用的目的。的。面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 29 頁5、面向?qū)ο蟮幕咎卣?多態(tài)性l面向?qū)ο蟮暮诵膬?nèi)容是對象,封裝,承繼面向?qū)ο蟮暮诵膬?nèi)容是對象,封裝,承繼,多態(tài)和消息機制,其中多態(tài)就是為了描,多態(tài)和消息機制,其中多態(tài)就是為了描述現(xiàn)實世界的多樣性的,也是面向?qū)ο笾惺霈F(xiàn)實世界的多樣性的,也是面向?qū)ο笾凶顬橹匾奶匦?,可以這么說,不掌握多最為重要的特性

21、,可以這么說,不掌握多態(tài),就沒有真正地掌握面向?qū)ο蠹夹g(shù)。態(tài),就沒有真正地掌握面向?qū)ο蠹夹g(shù)。l簡單的說,多態(tài)就是簡單的說,多態(tài)就是“相同的表達式,不相同的表達式,不同的操作同的操作”,也可以說成是,也可以說成是“相同的命令相同的命令,不同的操作,不同的操作”面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 30 頁5、面向?qū)ο蟮幕咎卣?多態(tài)性員工員工程序員程序員業(yè)務(wù)員業(yè)務(wù)員文管文管每天上班時間一到,相當每天上班時間一到,相當于發(fā)了一條這樣的命令:于發(fā)了一條這樣的命令: “ “員工員工. .開始上班開始上班”( (同一條表達式同一條表達式) )l比如在公司中有各種職責不同的員工比如在公司中有各種職責不同的

22、員工(程程序員,業(yè)務(wù)員,文管等序員,業(yè)務(wù)員,文管等),他們,他們“上班上班時,做不同的事情時,做不同的事情(也可以看作是一種業(yè)也可以看作是一種業(yè)務(wù)邏輯務(wù)邏輯),我們把他們各自的工作都抽象,我們把他們各自的工作都抽象為為“上班上班”,關(guān)系如下:,關(guān)系如下: 面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 31 頁6、類與類之間的關(guān)系承繼承繼關(guān)聯(lián)關(guān)聯(lián)PersonHouseresidence 0.*owner0.*FinancialInstitutionclientcreditor0.*0.*Mortgageprincipalrateterm關(guān)聯(lián)類關(guān)聯(lián)類ordered0.*1BankTrustCompany

23、面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 32 頁6、類與類之間的關(guān)系l類圖是由類及類與類之間的關(guān)系組成。我類圖是由類及類與類之間的關(guān)系組成。我們定義了類以后,就必須識別、描述類與們定義了類以后,就必須識別、描述類與類間的關(guān)系。類間的關(guān)系。l通常,類與類之間的關(guān)系具有如下幾種類通常,類與類之間的關(guān)系具有如下幾種類型型l1關(guān)聯(lián)關(guān)聯(lián)l2聚合和組合聚合和組合l3泛化泛化面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 34 頁1、與人類習慣的思維方法一致l傳統(tǒng)方法學傳統(tǒng)方法學l以算法為核心以算法為核心l數(shù)據(jù)和過程相互獨立數(shù)據(jù)和過程相互獨立l解空間與問題空間不一致,難于理解解空

24、間與問題空間不一致,難于理解l面向?qū)ο蠓椒▽W面向?qū)ο蠓椒▽Wl以對象為核心以對象為核心l數(shù)據(jù)靜態(tài)屬性和過程動態(tài)行為封數(shù)據(jù)靜態(tài)屬性和過程動態(tài)行為封裝在一起裝在一起l解空間模擬客觀世界解空間模擬客觀世界面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 35 頁2、穩(wěn)定性好l傳統(tǒng)方法學傳統(tǒng)方法學l開發(fā)過程基于功能分析和功能分解開發(fā)過程基于功能分析和功能分解l軟件結(jié)構(gòu)依賴于系統(tǒng)所要完成的功能,功軟件結(jié)構(gòu)依賴于系統(tǒng)所要完成的功能,功能需求發(fā)生變化時引起軟件結(jié)構(gòu)的整體修能需求發(fā)生變化時引起軟件結(jié)構(gòu)的整體修改改l面向?qū)ο蠓椒▽W面向?qū)ο蠓椒▽Wl基于構(gòu)造問題領(lǐng)域的對象模型基于構(gòu)造問題領(lǐng)域的對象模型l功能需求變化時僅需要做局部性的修改功能需求變化時僅需要做局部性的修改l由于現(xiàn)實世界中的實體是相對穩(wěn)定的,以由于現(xiàn)實世界中的實體是相對穩(wěn)定的,以對象為中心構(gòu)造的軟件系統(tǒng)也比較穩(wěn)定對象為中心構(gòu)造的軟件系統(tǒng)也比較穩(wěn)定面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計第 36 頁3

溫馨提示

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

評論

0/150

提交評論