




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第七章軟件系統(tǒng)開發(fā)與軟件工程方法
一、軟件危機二、軟件工程
一、軟件危機1、軟件開發(fā)的發(fā)展歷程
19601970198019902000
早期
第二階段第三階段第四階段面向批處理
多用戶
分布式系統(tǒng)
強大的桌面系統(tǒng)有限的分布
實時
嵌入“智能”面向?qū)ο蠹夹g(shù)自定義軟件
數(shù)據(jù)庫
低成本硬件
專家系統(tǒng)開發(fā)者=使用者
軟件產(chǎn)品
人工神經(jīng)網(wǎng)絡(luò)
并行計算
網(wǎng)絡(luò)計算機
一、軟件危機2、軟件危機
1)案例思考1——FAA的失敗項目 20世紀(jì)80年代中期,更換空中交通控制系統(tǒng)已成為美國聯(lián)邦航空管理局(FAA)非常優(yōu)先的任務(wù)。1989年IBM公司獲得更換該系統(tǒng)的合同,截止期為2001年,預(yù)計投入25億美元。由于面臨著極苛刻的需求,該軟件項目是已進行的最復(fù)雜的項目之一。例如,交通控制系統(tǒng)必須具備全局完整性并且每周7天,每天24小時不能停止工作,甚至在升級時或正常維護時,也不允許有停頓時間。任何錯誤的數(shù)據(jù)都會引起重大傷亡,任何停機均會導(dǎo)致世界范圍的出行延誤或潛在的危險。該系統(tǒng)的反應(yīng)時間不能超過2-3秒。此外,該系統(tǒng)設(shè)計時必須考慮到允許私人飛機駕駛員繼續(xù)使用舊設(shè)備,并要求軟件能在未來移植到更新的硬件設(shè)備上。當(dāng)IBM獲得該合同后,該系統(tǒng)的主要花費為軟件開發(fā),用于硬件的投入僅為8萬美元。1993年,負(fù)責(zé)該項目的IBM子公司——IBM聯(lián)邦系統(tǒng)公司被IBM賣給了Loral公司。到1994年,該系統(tǒng)已花費了23億美元,但尚未提交系統(tǒng)的任何程序段,而此時估算整個系統(tǒng)的花費將增至50億美元。1994年底,F(xiàn)AA不得不承認(rèn)該項目失敗并進行調(diào)查。作為調(diào)查的結(jié)果,F(xiàn)AA取消或修改了系統(tǒng)的四個主要部分。面臨當(dāng)前空中控制系統(tǒng)存在的隱患,F(xiàn)AA不得不訂購了一套作為權(quán)宜之計的系統(tǒng),由另一家公司開發(fā)。 你認(rèn)為該項目的失敗反映了什么問題?失敗的主要原因可能是什么?FAA為什么選擇取消和修改的方式而不是增加資源和生產(chǎn)力的方式?FAA對此項目調(diào)查總結(jié)出的原因為以下幾條:FAA并沒有明確掌握某些系統(tǒng)功能的需求。制定了過于急躁的開發(fā)和實現(xiàn)計劃(包括費用與進度的估計)在給定的軟件復(fù)雜度下,沒有考慮到開發(fā)商的生產(chǎn)力,尤其是早期階段需要投入的資源。在《人月神話》一書中,Brooks將過去30年大型軟件項目的開發(fā)比喻為史前陷入瀝青坑的巨獸??铸?、猛犸、劍齒虎等動物在焦油中掙扎,然而掙扎得越激烈,就陷得越快,最終都沉到了坑底。過去的大型軟件項目中,大多數(shù)開發(fā)出了可運行的系統(tǒng)——不過只有極少數(shù)滿足了目標(biāo)、進度和預(yù)算的要求。表面上看起來沒有任何一個單獨的問題會導(dǎo)致困難,每個問題都能獲得解決,但這些問題糾纏和積累在一起時,團隊的行動就越來越慢,并且很難再看清問題的本質(zhì)。1995年美國的商業(yè)軟件失敗統(tǒng)計:
一、軟件危機2、軟件危機
案例思考2——遺傳信息庫建設(shè) 在正在建設(shè)的遺傳信息庫如,假設(shè)你要開發(fā)一個管理軟件。你并不是一個生物遺傳方面的專家,甚至對此方面的知識一竅不通,你該如何入手?要使該項目成功,你認(rèn)為應(yīng)該有哪些保障條件?你的問題是什么:對遺傳信息的管理需要什么條件:了解遺傳信息的表示和管理流程如何實現(xiàn):與遺傳領(lǐng)域的專家交流。障礙是什么:難以溝通與交流??赡芤蛘`解產(chǎn)生錯誤的需求描述。
一、軟件危機2、軟件危機
軟件項目為什么會失敗?
軟件項目失敗的核心問題在哪里?答案只有一個:復(fù)雜性。軟件要解決的問題本身是復(fù)雜的開發(fā)人員一般不是該問題領(lǐng)域的專家軟件規(guī)模要求多人參與,而不同專業(yè)領(lǐng)域的人的交流是困難的軟件規(guī)模使得既要理解系統(tǒng)整體結(jié)構(gòu)又要把握細(xì)節(jié)比較困難。例:Windows95有1000萬行代碼
Windows2000有5000萬行代碼Exchange2000和Windows2000開發(fā)人員結(jié)構(gòu)Exchange2000Windows2000項目經(jīng)理25人約250人開發(fā)人員140人約1700人測試人員350人約3200人
一、軟件危機2、軟件危機
2)軟件神話
[1]管理神話神話:有關(guān)軟件開發(fā)的理論和方法已經(jīng)很豐富,有很多可用的標(biāo)準(zhǔn)與規(guī)范,因而可以保證軟件開發(fā)的順利進行?,F(xiàn)實:理論與方法在大多數(shù)實踐中并沒有得到真正的應(yīng)用。使用者并沒有對這些理論與方法建立正確的認(rèn)識。神話:已經(jīng)有很多強大的開發(fā)工具和先進的計算機硬件,這些可以保證軟件開發(fā)的質(zhì)量與效率?,F(xiàn)實:這些工具并沒有得到合理的應(yīng)用。神話:如果我們落后于進度,可以通過增加人手來趕上。現(xiàn)實:向一個已經(jīng)延遲的項目增加人手,只會使延遲的項目更加落后——除非項目中不需要交流。生一個孩子10個月,無論有多少人。
一、軟件危機2、軟件危機
2)軟件神話
[1]管理神話神話:通過把軟件項目外包給實現(xiàn)強大的軟件開發(fā)公司可以保證軟件的成功。現(xiàn)實:再專業(yè)的軟件公司,不了解客戶的需求和業(yè)務(wù)流程,也不可能順利完成軟件開發(fā)項目。改正一一個問問題需需付出出的代代價需求分析結(jié)構(gòu)構(gòu)設(shè)設(shè)計計詳細(xì)細(xì)設(shè)設(shè)計計編碼碼集成成測測試試系統(tǒng)統(tǒng)測測試試現(xiàn)場場改正正一一個個問問題題的的估估計計費費用用改正正一一個個問問題題估估計計的的工工作作量量20200200010005.02.50.050.5(美美元元)(人人天天)一、、軟軟件件危危機機2、、軟軟件件危危機機2))軟軟件件神神話話[2]客客戶戶神神話話神話話::有有了了目目標(biāo)標(biāo)系系統(tǒng)統(tǒng)的的一一般般性性描描述述就就可可以以寫寫程程序序了了,,細(xì)細(xì)節(jié)節(jié)可可以以逐逐步步完完善善?!,F(xiàn)實實::糟糟糕糕的的系系統(tǒng)統(tǒng)定定義義是是項項目目失失敗敗的的主主要要原原因因。。關(guān)關(guān)于于問問題題域域、、功功能能、、行行為為、、性性能能、、接接口口、、設(shè)設(shè)計計約約束束以以及及確確認(rèn)認(rèn)標(biāo)標(biāo)準(zhǔn)準(zhǔn)的的形形式式化化的的、、詳詳細(xì)細(xì)的的描描述述是是必必要要的的,,這這些些內(nèi)內(nèi)容容只只能能通通過過客客戶戶與與開開發(fā)發(fā)者者之之間間的的交交流流才才能能確確定定。。神話:軟軟件需求求是經(jīng)常常變更的的,而這這些變更更可以容容易的被被滿足,,因為軟軟件是靈靈活的。?,F(xiàn)實:軟軟件需求求確實是是容易變變更的,,但變更更的代價價將隨軟軟件開發(fā)發(fā)的進度度不同而而有很大大的差異異。如果果重新項項目早期期的問題題定義,,需求變變化則很很容易被被調(diào)節(jié),,而項目目后期需需求變更更的代價價可能是是致命的的。一、軟件危機機2、軟件危機機2)軟件神話話[3]實踐者者的神話神話:軟件是是藝術(shù),軟件件開發(fā)是個人人的舞臺?,F(xiàn)實:50年年代可能是,,現(xiàn)在不是。。神話:一旦寫寫完了程序并并能正常運行行,我們的工工作就結(jié)束了了。現(xiàn)實:越早開開始寫代碼,,軟件開發(fā)花花費的時間就就越長。統(tǒng)計計表明60%到80%的的工作量是花花在將軟件第第一次交付給給客戶以后發(fā)發(fā)生的。神話:程序真真正運行以前前,沒有辦法法評估其質(zhì)量量?,F(xiàn)實:高質(zhì)質(zhì)量的實現(xiàn)現(xiàn)來自高質(zhì)質(zhì)量的設(shè)計計。從項目目一開始就就必須進行行技術(shù)評審審。神話:項目目的成功來來自于可運運行程序的的提交。軟軟件開發(fā)過過程中的文文檔是不必必要的,延延緩項目進進度的東西西?,F(xiàn)實:軟件件項目的成成果包含很很多內(nèi)容,,文檔是成成功開發(fā)的的基礎(chǔ),也也是軟件質(zhì)質(zhì)量的保證證。好的開開發(fā)質(zhì)量降降低了重復(fù)復(fù)勞動,從從而提高了了效率,導(dǎo)導(dǎo)致更短的的交付時間間。一、軟件危危機2、軟件危危機3)軟件危危機及主要要表現(xiàn)軟件危機指指在計算機機軟件開發(fā)發(fā)和維護過過程中所遇遇到的一系系列嚴(yán)重問問題——軟軟件開發(fā)不不能滿足日日益增長的的需求;難難以維護不不斷增長的的已有軟件件。[1]成本本與進度的的估計[2]用戶戶需求與產(chǎn)產(chǎn)品不一致致[3]軟件件可靠性差差[4]可維維護性差[5]文檔檔資料不完完整[6]軟件件成本比例例不斷上升升[7]開發(fā)發(fā)生產(chǎn)率相相對停滯一、軟件危危機2、軟件危危機3)軟件項項目成敗的的因素分析析1)失敗項項目的主要要原因[1]用戶戶需求不完完整、被誤誤解或經(jīng)常常變化[2]有限限的用戶參參與[3]缺少少行政支持持[4]缺少少技術(shù)支持持[5]項目目計劃不充充分[6]目標(biāo)標(biāo)不明確[7]沒有有足夠的資資源(客戶戶沒有提供供/開發(fā)者者不具備相相應(yīng)生產(chǎn)力力)2)成功項項目的主要要原因[1]大量量的用戶參參與[2]上層層管理人員員的支持[3]完整整、詳細(xì)的的項目計劃劃[4]符合合實際的工工作進度與與里程碑[5]開發(fā)發(fā)人員的培培訓(xùn)、交流流[6]良好好的工作環(huán)環(huán)境、團隊隊協(xié)作機制制一、軟件危危機2、軟件危危機3)消除軟軟件危機的的思路———[1]正確確的觀念a)軟件不是程程序軟件是邏輯輯產(chǎn)品而不不是實物產(chǎn)產(chǎn)品軟件的功能能依賴于硬硬件和軟件件的運行環(huán)環(huán)境以及人人們對它的的操作軟件特征::功能的的多樣性實現(xiàn)的多樣樣性能見度低軟件結(jié)構(gòu)合合理性差智力密集及及知識產(chǎn)權(quán)權(quán)保護b)軟件開發(fā)不不是個體勞勞動軟件設(shè)計的的復(fù)雜性一、軟件危危機2、軟件危危機3)消除軟軟件危機的的思路———[2]正確確的過程管管理與控制制軟件開發(fā)技技術(shù):軟件開發(fā)發(fā)方法軟件開發(fā)過過程軟件工具和和軟件工程程環(huán)境軟件工程管管理:軟件管理理軟件經(jīng)濟軟件心理二、軟件工工程1、軟件工工程將工程管理理思想引入入軟件開發(fā)發(fā)過程:轉(zhuǎn)變變對對軟軟件件的的認(rèn)認(rèn)識識::上升升程序序系系統(tǒng)統(tǒng)轉(zhuǎn)變變思思維維定定式式::上升升程序序員員系系統(tǒng)統(tǒng)工工程程師師(系系統(tǒng)統(tǒng)分分析析員員)工程程化化訓(xùn)訓(xùn)練練二、、軟軟件件工工程程1、、軟軟件件工工程程將工工程程管管理理思思想想引引入入軟軟件件開開發(fā)發(fā)過過程程::用戶戶分析析員員程序序員員“一一個個好好的的工工業(yè)業(yè),,應(yīng)應(yīng)有有一一套套良良好好的的標(biāo)標(biāo)準(zhǔn)準(zhǔn)來來配配套套””軟件的工業(yè)化化生產(chǎn)過程應(yīng)應(yīng)具備的特點點:明確的工作步步驟詳細(xì)具體的規(guī)規(guī)范化文檔明確的質(zhì)量評評價標(biāo)準(zhǔn)軟件產(chǎn)品的標(biāo)標(biāo)準(zhǔn)化軟件開發(fā)過程程的標(biāo)準(zhǔn)化強調(diào)規(guī)范化強調(diào)文檔化軟件工程技術(shù)術(shù)的兩個明顯顯特點:二、軟件工程程1、軟件工程程FritzBauer在NATO會議上給出的的定義:“軟件工程是為為了經(jīng)濟地獲獲得可靠的和和能在實際機機器上高效運運行的軟件而而確立和使用用的健全的工工程原理(方方法)?!倍④涇浖すこ?、軟軟件工工程IEEE【IEE83】】給出的的軟件件工程程定義義:“軟件件工程程是開開發(fā)、、運行行、維維護和和修復(fù)復(fù)軟件件的系系統(tǒng)方方法。?!倍?、軟軟件工工程1、軟軟件工工程IEEE【IEE93】】給出了了一個個更加加綜合合的定定義::“將系統(tǒng)統(tǒng)化的的、規(guī)規(guī)范的的、可可度量量的方方法應(yīng)應(yīng)用于于軟件件的開開發(fā)、、運行行和維維護的的過程程,即即將工工程化化應(yīng)用用于軟軟件中中?!薄倍?、軟軟件工工程1、軟軟件工工程軟件工工程是是應(yīng)用用計算算機科科學(xué)、、數(shù)學(xué)學(xué)及管管理科科學(xué)等等原理理開發(fā)發(fā)軟件件的工工程。。它借借鑒傳傳統(tǒng)工工程的的原則則、方方法,,以提提高質(zhì)質(zhì)量,,降低低成本本為目目的。。軟件工工程所所包含含的內(nèi)內(nèi)容不不是一一成不不變的的,而而是隨隨著人人們對對軟件件系統(tǒng)統(tǒng)的研研制開開發(fā)和和生產(chǎn)產(chǎn)的理理解不不斷發(fā)發(fā)展變變化,應(yīng)該用用發(fā)展展的眼眼光看看待。。二、軟軟件工工程1、軟軟件工工程軟件工工程是是一種種層次次化的的活動動,a)質(zhì)量———軟軟件工工程的的根基基與目目標(biāo)b)過程———建建造一一個高高質(zhì)量量軟件件所需需完成成任務(wù)務(wù)的框框架c)方法———提提供了了如何何建造造軟件件的技技術(shù)手手段d)工具———為為過程程和方方法提提供自自動或或半自自動化化的支支持((CASE))工具方法過程質(zhì)量焦焦點二、軟軟件工工程2、軟軟件工工程一一般視視圖工程::對技技術(shù)((或社社會))實體體的分分析、、設(shè)計計、構(gòu)構(gòu)造、、驗證證和管管理。。首先先要問問題的的問題題:要解決決什么么問題題?實體的的什么么特征征能解解決這這個問問題??如何設(shè)設(shè)計該該實體體?如何構(gòu)構(gòu)建該該實體體?如何控控制和和避免免構(gòu)建建過程程中的的錯誤誤?如何在在用戶戶要求求修改改、適適應(yīng)和和增強強時長長期地地支持持這些些實體體?定義階階段::做什什么開發(fā)階階段::如何何做支持階階段::應(yīng)對對變化化項目跟跟蹤與與控制制技術(shù)評審質(zhì)量保證軟件配置管管理文檔管理復(fù)用管理測試管理風(fēng)險管理支持活動軟件工程框框架可用性性性確正合算選取適宜的的開發(fā)模型型采用合適的的設(shè)計方法法提供高質(zhì)量量的工程支支持重視軟件工工程的管理理基本過程原則目標(biāo)過程支持過程組織過程軟件過程評評估軟件能力成成熟度CMM1-初始級級:沒有過過程定義,,個人能力力。2-可重復(fù)復(fù)級:基本本項目管理理過程,跟跟蹤費用與與進度,有有必要的規(guī)規(guī)范以重復(fù)復(fù)類似項目目的成功。。3-定義級級:過程管管理文檔化化、標(biāo)準(zhǔn)化化、集成化化。使用統(tǒng)統(tǒng)一的文檔檔化的組織織過程認(rèn)可可的方法開開發(fā)和維護護軟件。4-管理級級:對軟件件過程與產(chǎn)產(chǎn)品質(zhì)量進進行詳細(xì)地地定量地收收集與評估估5-優(yōu)化級級:通過定定量反饋不不斷進行過過程優(yōu)化與與改進。二、軟件工工程3、軟件開開發(fā)過程———軟件生生命周期軟件產(chǎn)品品或軟件件系統(tǒng)從從設(shè)計、、投入使使用到被被淘汰的的全過程程。軟件生存存期的階階段劃分分(1)可可行性研研究與計計劃(2)需需求分析析(3)總總體設(shè)計計(4)詳詳細(xì)設(shè)計計(5)實實現(xiàn)(6)集集成測試試(7)確確認(rèn)測試試(8)使使用和維維護二、軟件件工程3、軟件件開發(fā)過過程———軟件開開發(fā)模型型軟件開發(fā)發(fā)模型是是軟件開開發(fā)全部部過程、、活動和和任務(wù)的的結(jié)構(gòu)框架架。它能直直觀表達達軟件開開發(fā)全過過程,明明確規(guī)定定要完成成的主要要活動、、任務(wù)和和開發(fā)策策略。軟件開發(fā)發(fā)模型也也常稱為為:軟件過程程模型軟件生存存期模型型軟件工程程范型二、軟件件工程2、軟件件開發(fā)過過程———瀑布模模型可行性研研究與計計劃需求分析析設(shè)計編碼運行維護護測試定義階段開發(fā)階段維護階段段按照傳統(tǒng)統(tǒng)瀑布模模型開發(fā)發(fā)軟件的的特點1.階段段間具有有順序性性和依賴賴性。2.推遲遲實現(xiàn)的的觀點。。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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 泰州防水涂裝施工方案
- 2025年中考語文滿分作文的精彩構(gòu)思:標(biāo)題+開頭段+主體段+結(jié)尾段
- 廣東省深圳實驗學(xué)校高中部2024-2025學(xué)年高二上學(xué)期期末考試英語試題【含答案】
- 回填基坑施工方案范本
- 樹木粉碎施工方案
- 2025年液晶電視維修試題及答案
- 6年級科學(xué)小發(fā)明
- coqh2-細(xì)胞色素c還原酶
- cia年檢繼續(xù)教育積分填報流程
- cascode電流鏡環(huán)路增益
- GB/T 10895-2004離心機分離機機械振動測試方法
- 805不讀書-不吃苦-你要青春干嘛
- 研究生實驗報告模板(word可修改)
- 部編版語文市級公開教學(xué)講座《口語交際》培訓(xùn)課件
- 高中英語-新外研版必修一unit5-The-Monarchs-Journey-公開課reading課件
- 建設(shè)項目用地預(yù)審與選址意見課件講解
- DB44∕T 1049-2012 物業(yè)服務(wù) 綠化養(yǎng)護檢查規(guī)范
- 腹膜透析治療的護理-課件資料
- 國家開放大學(xué)《調(diào)劑學(xué)(本)》形考任務(wù)1-4參考答案
- 幼兒園小班繪本:《一步一步_走啊走》 PPT課件
- 《基礎(chǔ)和聲學(xué)》試習(xí)題庫(6套答案)
評論
0/150
提交評論