軟件開(kāi)發(fā)生命周期ppt課件_第1頁(yè)
軟件開(kāi)發(fā)生命周期ppt課件_第2頁(yè)
軟件開(kāi)發(fā)生命周期ppt課件_第3頁(yè)
軟件開(kāi)發(fā)生命周期ppt課件_第4頁(yè)
軟件開(kāi)發(fā)生命周期ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

.,1,軟件開(kāi)發(fā)生命周期,.,2,第一章軟件工程概述,章節(jié)目標(biāo)了解什么是軟件了解什么是軟件工程理解軟件工程為什么很重要學(xué)習(xí)軟件工程的意義,Unit標(biāo)題,.,3,什么是軟件?,軟件是程序和所有使程序正確運(yùn)行所需要的相關(guān)文檔和配置信息。軟件產(chǎn)品有以下兩類(lèi):通用軟件產(chǎn)品如:操作系統(tǒng)、多媒體、word、PowerPoint等。定制軟件產(chǎn)品如:模擬訓(xùn)練、數(shù)據(jù)管理、輔助決策、人工智能等各個(gè)領(lǐng)域。,第一章軟件工程概述,.,4,什么是軟件工程?,軟件工程是將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)的過(guò)程,即將工程化應(yīng)用于軟件中。軟件工程還包括上述方法的研究。1962年,第一個(gè)金星探測(cè)器水手1號(hào)偏離航線失敗。原因:導(dǎo)航程序一個(gè)語(yǔ)句語(yǔ)義錯(cuò)誤Apollo8存儲(chǔ)器信息丟失;11號(hào)運(yùn)行10天18個(gè)軟件錯(cuò)誤。規(guī)模相對(duì)較??;崇尚個(gè)人技巧技藝缺乏有效方法與軟件工具支持不重視開(kāi)發(fā)過(guò)程的管理維護(hù)困難(編寫(xiě)1條匯編語(yǔ)句=研制2個(gè)硬件邏輯門(mén);維護(hù)1匯編語(yǔ)句條=修理4個(gè)硬件邏輯門(mén))1968年NATO(北大西洋公約組織)會(huì)議:softwarecrisis,softwareengineering.,第一章軟件工程概述,.,5,第一章軟件工程概述,二、什么是軟件工程?,軟件工程中的分層,.,6,第一章軟件工程概述,二、什么是軟件工程?,如果不考慮應(yīng)用領(lǐng)域、項(xiàng)目規(guī)模和復(fù)雜性,與軟件工程相關(guān)的工作可分為三個(gè)一般的階段:.定義階段集中于“做什么”.開(kāi)發(fā)階段集中于“如何做”.維護(hù)階段集中于“改變”,軟件工程的一般視圖,.,7,第一章軟件工程概述,二、什么是軟件工程?,.軟件項(xiàng)目追蹤和控制.正式的技術(shù)評(píng)審.軟件質(zhì)量保證.軟件配置管理.文檔的準(zhǔn)備和產(chǎn)生.可復(fù)用管理.度量.風(fēng)險(xiǎn)管理,典型的保護(hù)性活動(dòng),.,8,第一章軟件工程概述,為什么需要那么長(zhǎng)時(shí)間才能結(jié)束開(kāi)發(fā)?為什么成本如此之高?為什么我們不能在把軟件交給客戶之前就發(fā)現(xiàn)所有的錯(cuò)誤?為什么在軟件開(kāi)發(fā)過(guò)程中我們難以度量其進(jìn)展?,理解軟件工程為什么很重要,.,9,第一章軟件工程概述,二、什么是軟件工程?,邏輯產(chǎn)品而不是實(shí)物其功能依賴(lài)于人的操作和相關(guān)硬件而體現(xiàn)對(duì)軟件產(chǎn)品的要求比一般有形產(chǎn)品來(lái)的復(fù)雜100萬(wàn)匯編語(yǔ)句,1萬(wàn)子功能,每功能2個(gè)實(shí)現(xiàn),則210000=103000組合!Hetgel負(fù)責(zé)軟件研制工程時(shí)候:幾個(gè)人)時(shí)候,認(rèn)為關(guān)鍵是方法學(xué)問(wèn)題:50人時(shí)候,文檔越來(lái)越重要200人:關(guān)鍵是管理問(wèn)題。復(fù)雜性:功能多樣性,實(shí)現(xiàn)多樣性,能見(jiàn)度低,結(jié)構(gòu)合理性差其“資金密集程度”中包含更多的人的成分(即“智力密集”),軟件工程與一般工程的差異,.,10,第一章軟件工程概述,軟件銷(xiāo)售收入比較圖,三、理解軟件工程為什么很重要,.,11,學(xué)習(xí)軟件工程是大勢(shì)所趨,第一章軟件工程概述,世界上唯一不變的東西就是變化。拒絕改變的人將永遠(yuǎn)也找不回他的奶酪!人對(duì)不了解的東西會(huì)產(chǎn)生抵觸。他因?yàn)楹ε露芙^改變!誰(shuí)動(dòng)了我的奶酪?,.,12,習(xí)題和答案,1什么是軟件危機(jī)?為什么會(huì)產(chǎn)生軟件危機(jī)?怎樣克服軟件危機(jī)?解:研制軟件系統(tǒng)需要投入大量的人力和物力,但系統(tǒng)的質(zhì)量卻難以保證,也就是說(shuō),開(kāi)發(fā)軟件所需的高成本同產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象就是所謂的“軟件危機(jī)”。產(chǎn)生軟件危機(jī)的原因:用戶對(duì)軟件需求的描述不精確,可能有遺漏、有二義性、有錯(cuò)誤,甚至在軟件開(kāi)發(fā)過(guò)程中,用戶還提出修改軟件功能、界面、支撐環(huán)境等方面的要求。軟件開(kāi)發(fā)人員對(duì)用戶需求的理解與用戶的本來(lái)愿望有差異,導(dǎo)致開(kāi)發(fā)出來(lái)的軟件產(chǎn)品與用戶要求不一致。大型軟件項(xiàng)目需要組織一定的人力共同完成,多數(shù)管理人員缺乏開(kāi)發(fā)大型軟件系統(tǒng)的經(jīng)驗(yàn)。各類(lèi)人員的信息交流不及時(shí)、不準(zhǔn)確、有時(shí)還會(huì)產(chǎn)生誤解。軟件項(xiàng)目開(kāi)發(fā)人員不能有效地、獨(dú)立自主地處理大型軟件的全部關(guān)系和各個(gè)分支,因此容易產(chǎn)生疏漏和錯(cuò)誤。缺乏有利的方法學(xué)和工具方面的支持,過(guò)分的依靠程序設(shè)計(jì)人員在軟件開(kāi)發(fā)過(guò)程中的技巧和創(chuàng)造性,加劇軟件產(chǎn)品的個(gè)性化。軟件產(chǎn)品的特殊性和人類(lèi)智力的局限性,導(dǎo)致人們無(wú)力處理“復(fù)雜問(wèn)題”。要克服軟件危機(jī),就要認(rèn)真分析軟件危機(jī)的原因,探索用工程的方法進(jìn)行軟件生產(chǎn)的可能性,即用現(xiàn)代工程的概念、原理、技術(shù)和方法進(jìn)行計(jì)算機(jī)軟件的開(kāi)發(fā)、管理、維護(hù)和更新。2.什么叫軟件工程?軟件工程的誕生是否從根本上消除了軟件危機(jī)?為什么?解:軟件工程是用工程、科學(xué)和數(shù)學(xué)的原則與方法研制、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)及管理方法。軟件工程的誕生只能大大減少軟件開(kāi)發(fā)成本并提高軟件質(zhì)量,不能從根本上消除軟件危機(jī)。3軟件生存周期為什么要?jiǎng)澐蛛A段?各個(gè)階段的任務(wù)是什么?解:軟件也是一種產(chǎn)品,同樣存在生存周期。把軟件生存周期劃分為幾個(gè)階段后,軟件開(kāi)發(fā)按照每個(gè)階段的基本任務(wù)進(jìn)行并產(chǎn)生相應(yīng)的工作結(jié)果,這樣有利于對(duì)軟件開(kāi)發(fā)過(guò)程進(jìn)行管理,有利于提高軟件產(chǎn)品質(zhì)量??尚行匝芯颗c計(jì)劃階段的基本任務(wù):研究開(kāi)發(fā)該項(xiàng)目的可行性。需求分析階段的基本任務(wù):理解和表達(dá)用戶的要求。設(shè)計(jì)階段的基本任務(wù):建立系統(tǒng)的結(jié)構(gòu)。編程階段的基本任務(wù):編寫(xiě)程序。測(cè)試階段的基本任務(wù):發(fā)現(xiàn)錯(cuò)誤和排除錯(cuò)誤。4什么是軟件?如何評(píng)價(jià)軟件的質(zhì)量?解:軟件是程序以及開(kāi)發(fā)、使用和維護(hù)程序所需的所有文檔。軟件質(zhì)量從可維護(hù)性、可靠性、可理解性和效率等方面對(duì)軟件作較全面的評(píng)價(jià)。,.,13,傳統(tǒng)軟件工程概論,一般問(wèn)題的工程設(shè)計(jì)過(guò)程問(wèn)題闡述問(wèn)題分析(設(shè)計(jì)細(xì)節(jié))尋找解法判定最佳解法設(shè)計(jì)規(guī)約(規(guī)格說(shuō)明、報(bào)告)實(shí)現(xiàn),.,14,程序設(shè)計(jì)方法回顧,結(jié)構(gòu)化程序設(shè)計(jì)(SP)三種基本結(jié)構(gòu):順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)(迭代)原則:只有上面三種結(jié)構(gòu)自底向上,逐步抽象,最終形成一個(gè)函數(shù)型節(jié)點(diǎn)每個(gè)節(jié)點(diǎn)只有一個(gè)出口和一個(gè)入口其他:注意風(fēng)格:注視和縮進(jìn)等,.,15,程序設(shè)計(jì)方法回顧,程序正確性證明?調(diào)試能證明嗎?調(diào)試(debugging)的三個(gè)概念:測(cè)試testingUnittesting,integrationtesting,acceptancetesting確認(rèn)validation(開(kāi)發(fā)結(jié)束時(shí)進(jìn)行的評(píng)價(jià))驗(yàn)證verification(開(kāi)發(fā)過(guò)程中某階段是否到達(dá)前一階段確定要求的活動(dòng)),.,16,程序設(shè)計(jì)方法回顧,模塊化與信息隱蔽模塊化:自頂向下,逐步細(xì)化模塊直接的接口應(yīng)盡可能簡(jiǎn)明模塊之間盡可能彼此隔離要求:可修改性易讀性以驗(yàn)證性,.,17,程序設(shè)計(jì)方法回顧,內(nèi)聚度cohesion:模塊所執(zhí)行的任務(wù)在功能上互相關(guān)聯(lián)的程度巧合內(nèi)聚coincidentcohesionLogicalcohesionTemporalcohesionProcedurecohesionCommunicationalcohesionSequentialcohesionFunctionalcohesion,.,18,程序設(shè)計(jì)方法回顧,耦合度coupling:模塊之間相互依賴(lài)的程度非直接nondirect耦合數(shù)據(jù)data耦合(參數(shù))標(biāo)記stamp耦合控制control耦合(控制語(yǔ)句)外部external耦合公用common耦合內(nèi)容content耦合,.,19,程序設(shè)計(jì)方法回顧,扇入fanin模塊直接隸屬的模塊個(gè)數(shù):一個(gè)模塊被其他模塊調(diào)用的個(gè)數(shù),稱(chēng)為該模塊的扇入。扇入大些,一般不會(huì)影響問(wèn)題的復(fù)雜性,而且扇入越大,說(shuō)明該模塊的復(fù)用性越好扇出fanout:直接下屬的模塊個(gè)數(shù)一個(gè)模塊調(diào)用其他模塊的個(gè)數(shù),稱(chēng)為該模塊的扇出。扇出越大,設(shè)計(jì)該模塊時(shí)需要考慮的問(wèn)題就越多,因而復(fù)雜性越高。,.,20,程序設(shè)計(jì)方法回顧,原則:高內(nèi)聚度、低耦合度一般中等內(nèi)聚即可(功能性最理想)盡量不采用控制耦合(不使用goto語(yǔ)句),限制使用外部、公共、內(nèi)容耦合扇出越多,模塊間邏輯關(guān)系越復(fù)雜。應(yīng)控制在7+-2扇入越多,模塊可復(fù)用性越強(qiáng)(但可能產(chǎn)生低內(nèi)聚)模塊大小:30句以上,程序員對(duì)其的理解力迅速下降;50-100句,開(kāi)發(fā)成本迅速上升。,.,21,軟件工程的成本,開(kāi)發(fā)成本分布,描述設(shè)計(jì)開(kāi)發(fā)集成和測(cè)試,0255075100,其中集成和測(cè)試最高,40%50%另外,軟件投入使用后,其變更和更新也需要成本。對(duì)許多使用期限長(zhǎng)的軟件而言,該成本往往高達(dá)開(kāi)發(fā)成本的34倍!,.,22,什么是CASE,計(jì)算機(jī)輔助軟件工程ComputerAidedSoftwareEngineering分類(lèi):高端CASE:支持軟件過(guò)程的早期階段,如分析和設(shè)計(jì)低端CASE:支持實(shí)現(xiàn)和測(cè)試,如調(diào)試器,程序分析系統(tǒng),測(cè)試用例生成器和程序編輯器等。,.,23,優(yōu)良軟件屬性,可維護(hù)性:不斷進(jìn)化,滿足用戶需求變化;可依賴(lài)型:可靠性、安全性、保密性等,以及失敗時(shí)不造成傷亡和損失。有效性:不浪費(fèi)內(nèi)存和系統(tǒng)資源等可用性:用戶不需特殊努力即可操作。,.,24,軟件工程面臨的問(wèn)題,遺留系統(tǒng)的挑戰(zhàn)多樣性的挑戰(zhàn)交付上的挑戰(zhàn)(在不損及質(zhì)量的情況下,縮短移交時(shí)間),.,25

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論