資源描述:
《軟件工程+張海藩+課后習(xí)題答案》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、《軟件工程導(dǎo)論》課后習(xí)題答案第一章?軟件工程概論1.什么是軟件危機? 軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。這些問題表現(xiàn)在以下幾個方面: (1)用戶對開發(fā)出的軟件很難滿意?! ?2)軟件產(chǎn)品的質(zhì)量往往靠不住?! ?3)一般軟件很難維護。 (4)軟件生產(chǎn)效率很低?! ?5)軟件開發(fā)成本越來越大。 (6)軟件成本與開發(fā)進度難以估計?! ?7)軟件技術(shù)的發(fā)展遠遠滿足不了計算機應(yīng)用的普及與深入的需要。2.為什么會產(chǎn)生軟件危機? (1)?開發(fā)人員方面,對軟件產(chǎn)
2、品缺乏正確認識,沒有真正理解軟件產(chǎn)品是一個完整的配置組成。造成開發(fā)中制定計劃盲目、編程草率,不考慮維護工作的必要性。? (2)?軟件本身方面,對于計算機系統(tǒng)來說,軟件是邏輯部件,軟件開發(fā)過程沒有統(tǒng)一的、公認的方法論和規(guī)范指導(dǎo),造成軟件維護困難。 (3)?尤其是隨著軟件規(guī)模越來越大,復(fù)雜程度越來越高,原有軟件開發(fā)方式效率不高、質(zhì)量不能保證、成本過高、研制周期不易估計、維護困難等一系列問題更為突出,技術(shù)的發(fā)展已經(jīng)遠遠不能適應(yīng)社會需求。3.怎樣克服軟件危機? (1)?充分吸收和借鑒人類長期以來從事各種
3、工程項目中積累的行之有效的有效原理、概念、技術(shù)與方法,特別是吸取幾十年來人類從事計算機硬件研究和開發(fā)的經(jīng)驗教訓(xùn)。在開發(fā)軟件的過程中努力作到良好的組織,嚴格的管理,相互友好的協(xié)作?! ?2)?推廣在實踐中總結(jié)出來的開發(fā)軟件的成功的技術(shù)和方法,并研究更好、更有效的技術(shù)和方法,盡快克服在計算機系統(tǒng)早期發(fā)展階段形成的一些錯誤概念和作法?! ?3)?根據(jù)不同的應(yīng)用領(lǐng)域,開發(fā)更好的軟件工具并使用這些工具。將軟件開發(fā)各個階段使用的軟件工具集合成一個整體,形成一個很好的軟件開發(fā)支環(huán)環(huán)境??傊疄榱私鉀Q軟件危機,既要有技
4、術(shù)措施(方法和工具),又要有必要的組織管理措施。4.構(gòu)成軟件項目的最終產(chǎn)品: 應(yīng)用程序、系統(tǒng)程序、面向用戶的文檔資料和面向開發(fā)者的文檔資料。5.什么是軟件生存周期? 軟件生存周期是指從軟件定義、開發(fā)、使用、維護到淘汰的全過程。6.軟件生存周期為什么劃分成階段?? (1)?任何一個階段的具體任務(wù)不僅獨立,而且簡單,便于不同人員分工協(xié)作,從而降低整個軟件開發(fā)工作的困難程度?! ?2)?可以降低每個階段任務(wù)的復(fù)雜程度,簡化不同階段的聯(lián)系,有利于工程的組織管理,也便于采用良好的技術(shù)方法?! ?3)?使軟
5、件開發(fā)的全過程以一種有條不紊的方式進行,保證軟件的質(zhì)量,特別是提高了軟件的可維護性。7.應(yīng)該怎樣來劃分階段? (1)每一個階段的任務(wù)盡可能獨立; (2)同一階段內(nèi)的任務(wù)性質(zhì)盡可能相同; (3)每一個階段任務(wù)的開始和結(jié)束有嚴格的標準。8.軟件開發(fā)模型有幾種?它們的開發(fā)方法有可特點? 軟件開發(fā)模型有瀑布型、漸增型和變換型?! ∑俨夹烷_發(fā)方法是按照軟件生存周期的劃分依次實施,每一個階段有明確規(guī)定的任務(wù)。它的特點: (1)各個階段的順序性和依賴性; (2)劃分邏輯設(shè)計與物理設(shè)計,盡可能推遲程序
6、的物理實現(xiàn); (3)每個階段必須完成規(guī)定的文檔,對其中問題通過復(fù)審及早發(fā)現(xiàn),及早解決。 漸增型開發(fā)方法及特點: (1)?從部分需求出發(fā),先建立一個不完全的系統(tǒng),通過測試運行該系統(tǒng)取得經(jīng)驗和信息反饋,加深對軟件需求的理解,進一步使系統(tǒng)擴充和完善。如此反復(fù),直至軟件人員和用戶對所設(shè)計完成的軟件系統(tǒng)滿意為止?! ?2)?在漸增型開發(fā)下的軟件是隨軟件開發(fā)的過程而逐漸形成的。 (3)?漸增型開發(fā)方法適合于知識型軟件的開發(fā),設(shè)計系統(tǒng)時對用戶需求的認識開始不是很清楚的,需要在開發(fā)過程中不斷認識、不斷
7、獲得新的知識去豐富和完善系統(tǒng)。多數(shù)研究性質(zhì)的試驗軟件,一般采用此方法。 變換型開發(fā)方法及特點: (1)從軟件需求的形式化規(guī)格說明出發(fā),經(jīng)過一系列的程序變換,得到最終的程序系統(tǒng)?! ?2)該方法必須有嚴格的數(shù)學(xué)理論和形式化技術(shù)的支持。9.什么是軟件工程? 軟件工程是指導(dǎo)計算機軟件開發(fā)和維護的工程學(xué)科。 (1)?它采用工程的概念、原理、技術(shù)和方法來開發(fā)和維護軟件; (2)?它將管理技術(shù)與當(dāng)前經(jīng)過時間考驗的而證明是正確的技術(shù)方法結(jié)合起來; (3)?它強調(diào)使用生存周期方法學(xué)和結(jié)構(gòu)分析和結(jié)
8、構(gòu)技術(shù); (4)?經(jīng)過人們長期的努力和探索,圍繞著實現(xiàn)軟件優(yōu)質(zhì)高產(chǎn)這個目標,從技術(shù)到管理兩個方面做了大量的努力,逐漸形成了"軟件工程學(xué)"這一新的學(xué)科。10.什么是軟件工程環(huán)境:方法與工具的結(jié)合,加上配套的軟、硬件支持稱為軟件工程環(huán)境。它能支持開發(fā)者按照軟件工程的方法,全面完成生存周期中的各項任務(wù)。第二章 可行性研究 習(xí)題答案1.?問題定義的任務(wù)和主要工作? 問題定義的任務(wù):將用戶提出的要求具體化、定量化;確定研制系統(tǒng)的范圍,明確研制的邊界?! 栴}