已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1,面向?qū)ο蠹夹g(shù)概述,2,軟件危機(jī),于20世紀(jì)60年代爆發(fā) 產(chǎn)生:大型軟件的開發(fā)過程中出現(xiàn)了復(fù)雜程度高、研制周期長、正確性難以保證的三大難題。 表現(xiàn)形式:用戶需求不明確、變更過多;軟件成本日益增長;開發(fā)進(jìn)度難以控制;軟件質(zhì)量差;軟件維護(hù)困難。 產(chǎn)生的原因:軟件開發(fā)無計劃性;軟件需求不充分;軟件開發(fā)過程無規(guī)范;軟件產(chǎn)品無評測手段。 解決途徑:應(yīng)該加強(qiáng)軟件開發(fā)過程的管理;推廣使用開發(fā)軟件的成功技術(shù)與方法;開發(fā)和使用好的軟件工具。,軟件危機(jī)與軟件工程,3,軟件工程,由NATO于1968年提出 發(fā)展:軟件的需求是軟件發(fā)展的動力;軟件工作的范圍從只考慮程序的編寫擴(kuò)展到涉及整個軟件生存周期。 軟件生存周期一般可劃分為計劃、開發(fā)、運(yùn)行與維護(hù)三個時期,而每個時期又劃分為若干個階段。 軟件開發(fā)的現(xiàn)狀 軟件工程學(xué)科不斷發(fā)展 軟件危機(jī)仍然存在 中小型軟件開發(fā)較為成熟,大型軟件存在問題,軟件危機(jī)與軟件工程,4,常見軟件開發(fā)方法 瀑布模型 快速原型 螺旋模型 ,軟件危機(jī)與軟件工程,先做試驗開發(fā)“原型” ,其目標(biāo)只是在于探索可行性,弄清軟件需求;然后在此基礎(chǔ)上獲得較為滿意的軟件產(chǎn)品。,5,軟件開發(fā)的基本認(rèn)識,大型軟件系統(tǒng)的特點(diǎn) 開發(fā)代價高、時間長,參與人員多,軟件生命周期長。 軟件系統(tǒng)開發(fā)的兩個方面 軟件開發(fā)過程 軟件開發(fā)中資源的協(xié)調(diào)和管理 軟件工程的目的 在規(guī)定的時間、規(guī)定的費(fèi)用內(nèi)開發(fā)出滿足用戶需求的高質(zhì)量的軟件系統(tǒng)。 低錯誤率、好用、易用、可維護(hù)、可重用、可移植等,6,軟件開發(fā)的基本認(rèn)識,軟件產(chǎn)品與硬件產(chǎn)品的區(qū)別 表現(xiàn)形式不同 生產(chǎn)方式不同 產(chǎn)品需求不同 維護(hù)方式不同,7,軟件固有的復(fù)雜性,軟件開發(fā)的復(fù)雜性與困難性是由于軟件的特點(diǎn)造成的,軟件的復(fù)雜性是固有的。 軟件復(fù)雜性的原因 現(xiàn)有硬件系統(tǒng)的體系結(jié)構(gòu)造成的 軟件開發(fā)是智力活動,很難描述軟件的本質(zhì)規(guī)律或特征 軟件系統(tǒng)中各元素之間的相互作用關(guān)系具有不確定性 軟件系統(tǒng)需求的變化性 軟件生命周期中需要適應(yīng)不同的硬件環(huán)境,8,控制軟件復(fù)雜性的基本方法,分解,即“分而治之”或“各個擊破” 抽象,抽取系統(tǒng)本質(zhì)特征,忽略非基本特征 過程抽象 數(shù)據(jù)抽象 模塊化,基本要求是高內(nèi)聚、低耦合 信息隱蔽,也稱封裝,9,結(jié)構(gòu)化的基本思想 以過程抽象對待系統(tǒng)的需求,其主要思想是對問題進(jìn)行功能分解,直到最后分解得到的功能比較方便地處理和理解為止。 Object-Oriented的基本思想 對問題域進(jìn)行自然分割,以更接近人類思維的方式建立問題域模型,從而使設(shè)計出的軟件盡可能直接地描述現(xiàn)實(shí)世界,具有更好的可維護(hù)性,能適應(yīng)用戶需求的變化。,面向?qū)ο蠹夹g(shù),10,結(jié)構(gòu)化方法,面向?qū)ο蟮姆椒?問題域,問題域,結(jié)構(gòu)化分析,分析與設(shè)計的鴻溝,結(jié)構(gòu)化設(shè)計,結(jié)構(gòu)化編程,如C語言,需求工程,OOA&D,OOP,如Java語言,測 試,計算機(jī)系統(tǒng),測 試,計算機(jī)系統(tǒng),自然語言,編程語言,自然語言,OO編程語言,數(shù)據(jù)流圖 數(shù)據(jù)字典,模塊和過程,需求模型,對象模型,OO方法,OO建模語言,面向?qū)ο?VS 結(jié)構(gòu)化,11,面向?qū)ο?VS 結(jié)構(gòu)化,12,面向?qū)ο蠹夹g(shù)的優(yōu)點(diǎn),易于理解 順應(yīng)人類思維習(xí)慣,讓軟件開發(fā)人員直接模擬問題空間中的對象及其行為,AHare.Run; ALion.Catch(AHare); ALion.Kill(AHare); AHare.Dead; ALion.Eat; ALion.Happy;,在計算機(jī)中模擬現(xiàn)實(shí)世界的事和物,13,面向?qū)ο蠹夹g(shù)的優(yōu)點(diǎn),穩(wěn)定性較高、適應(yīng)性好 較小的需求變化不會導(dǎo)致系統(tǒng)結(jié)構(gòu)大的改變 當(dāng)需求變化時,功能:最易變 數(shù)據(jù):較易變 對象:較穩(wěn)定,穩(wěn)定性增加,用較穩(wěn)定把不穩(wěn)定的包起來,14,面向?qū)ο蠹夹g(shù)的優(yōu)點(diǎn),可靠性較高 靈活性好 可復(fù)用 ,15,面向?qū)ο箢I(lǐng)域的基本概念,OO技術(shù)領(lǐng)域存在一些基本術(shù)語和概念,需要掌握和理解。 面向?qū)ο蠹夹g(shù)的基本觀點(diǎn): 客觀世界由對象組成,任何客觀實(shí)體都是對象,復(fù)雜對象可以由簡單對象組成。 具有相同數(shù)據(jù)和操作的對象可歸納成類,對象是類的一個實(shí)例。 類可以派生出子類,子類除了繼承父類的全部特性外還可以有自己的特性。 對象之間的聯(lián)系通過消息傳遞來維系。,16,對象和實(shí)例,對象(Object) 它是系統(tǒng)用來描述客觀事物的一個實(shí)體,是構(gòu)成系統(tǒng)的一個基本單位。 對象包括:屬性和方法 對象之間通過消息進(jìn)行通信。 實(shí)例(Instance) 它與對象的概念很類型,但其含義更廣泛一些。,17,類,類(Class) 它是具有相同屬性和方法的一組對象的集合 為某類對象提供統(tǒng)一的描述 類是靜態(tài)概念,18,封裝,封裝(Encapsulation) 就是把對象的屬性和方法結(jié)合成一個獨(dú)立的系統(tǒng)單位,并盡可能隱蔽對象的內(nèi)部細(xì)節(jié)。 封裝(類定義)使對象形成兩個部分:接口部分和實(shí)現(xiàn)部分。 封裝提供2種保護(hù) 保護(hù)對象,防止直接訪問對象內(nèi)部細(xì)節(jié)。 保護(hù)客戶,防止對象實(shí)現(xiàn)部分的變化影響客戶對象。,19,繼承,繼承(Inheritance) 它使子類可以繼承父類的屬性和方法 繼承增加了軟件重用的機(jī)會 繼承中的覆蓋 覆蓋(Override)與重載(Overload)的區(qū)別 單繼承與多繼承,20,public class A String name; public String getValues() return “Value is:” +name; public class B extends A String address; public String getValues() return “Value is:”+address; ,public class A int age; String name; public void setValue (int i) age = i; public void setValue (String s) name = s; ,Override與Overload,21,繼承,繼承(Inheritance) 它使子類可以繼承父類的屬性和方法 繼承增加了軟件重用的機(jī)會 繼承中的覆蓋 覆蓋(Override)與重載(Overload)的區(qū)別 單繼承與多繼承,22,單繼承,多繼承,23,多態(tài),多態(tài)(polymorphism) 在OO技術(shù)中,多態(tài)指使一個實(shí)體在不同上下文條件下具有不同意義或用法的能力 類型 編譯時的多態(tài)性(overload) 運(yùn)行時的多態(tài)性 實(shí)現(xiàn)方式 繼承 接口 ,24,消息,消息(Message) 是指向?qū)ο蟀l(fā)出的服務(wù)請求 包括:提供服務(wù)的對象的標(biāo)識、服務(wù)標(biāo)識、輸入信息和回答信息等 對象間的消息傳遞是OO方法的基本原則 消息包括 同步消息,請求者需要等待響應(yīng)者返回 異步消息,請求者不需要等待響應(yīng)者返回,發(fā)出消息
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度醫(yī)藥代銷合同模板(醫(yī)藥供應(yīng)鏈)4篇
- 2025年度商業(yè)街區(qū)物業(yè)管理與服務(wù)合同3篇
- 2025年度商場家具安裝與商業(yè)空間優(yōu)化承包協(xié)議4篇
- 2024版權(quán)評估合同3篇帶眉腳
- 2025年度溫室大棚配套設(shè)施供應(yīng)與售后服務(wù)合同4篇
- 2025年度智慧城市基礎(chǔ)設(shè)施建設(shè)承包協(xié)議4篇
- 2025年度新能源汽車代售合同協(xié)議范本4篇
- 2024棋牌室智能管理系統(tǒng)采購合同3篇
- 2024銅門定制生產(chǎn)與售后服務(wù)保障合同3篇
- 2025年度外墻玻璃纖維增強(qiáng)塑料裝飾工程承攬合同4篇
- 經(jīng)外周中心靜脈置管術(shù)(PICC)知情同意書
- 福建省福州市鼓樓實(shí)驗小學(xué)教育集團(tuán)2023-2024學(xué)年五年級下學(xué)期期中英語試題
- 消防安全隱患等級
- 溫室氣體(二氧化碳和甲烷)走航監(jiān)測技術(shù)規(guī)范
- 有關(guān)傳統(tǒng)文化的謎語
- 藥品代持協(xié)議書
- 嘔血護(hù)理查房
- 2024年新青島版(六三制)三年級下冊科學(xué)全冊知識點(diǎn)
- 朝韓關(guān)系相關(guān)分析
- 校園熱水方案
- 部編版一年級語文下冊第一單元大單元教學(xué)設(shè)計
評論
0/150
提交評論