![軟件工程習題及解答_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/2/c6451bdf-e7b6-473e-b5ef-051c055f0bcd/c6451bdf-e7b6-473e-b5ef-051c055f0bcd1.gif)
![軟件工程習題及解答_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/2/c6451bdf-e7b6-473e-b5ef-051c055f0bcd/c6451bdf-e7b6-473e-b5ef-051c055f0bcd2.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、軟件工程第一章習題一、選擇題1、軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括(?A?)、(?B?)及(?C?)的完整集合。其中,(?A?)是按事先設計的功能和性能要求執(zhí)行的指令序列。(?B?)是使程序能夠正確操縱信息的數(shù)據(jù)結(jié)構(gòu)。(?C?)是與程序開發(fā)、維護和使用有關(guān)的圖文材料。供選擇的答案:AC.軟件?程序?代碼?硬件文檔?外設?數(shù)據(jù)?圖表2、開發(fā)軟件時對提高軟件開發(fā)人員工作效率至關(guān)重要的是(?A?)。軟件工程中描述生存周期的瀑布模型一般包括計劃、(?B?)、設計、編碼、測試、維護等幾個階段,其中設計階段在管理上又可以依次分成(?C?)和(?D?)兩步。供選擇的答案:A?程序開發(fā)環(huán)境?
2、操作系統(tǒng)的資源管理功能程序人員數(shù)量?計算機的并行處理能力B?需求分析?需求調(diào)查?可行性分析?問題定義C、D方案設計?代碼設計?概要設計?數(shù)據(jù)設計運行設計?詳細設計?故障處理設計?軟件體系結(jié)構(gòu)設計3、從供選擇的答案中選出適當字句填入下列關(guān)于軟件發(fā)展過程的敘述中的(?)內(nèi)。有人將軟件的發(fā)展過程劃分為4個階段:第一階段(19501950年代末)稱為“程序設計的原始時期”,這時既沒有(?A?),也沒有(?B?),程序員只能用機器指令編寫程序。第二階段(1950年代末1960年代末)稱為“基本軟件期”。出現(xiàn)了(?A?),并逐漸普及。隨著(?B?)的發(fā)展,編譯技術(shù)也有較大的發(fā)展。第三階段(1960年代末1
3、970年代中期)稱為“程序設計方法時代”。這一時期,與硬件費用下降相反,軟件開發(fā)費急劇上升。人們提出了(?C?)和(?D?)等程序設計方法,設法降低軟件的開發(fā)費用。第四階段(1970年代中期現(xiàn)在)稱為“軟件工程時期”。軟件開發(fā)技術(shù)不再僅僅是程序設計技術(shù),而是包括了與軟件開發(fā)的各個階段,如(?E?)、(?F?)、編碼、單元測試、綜合測試、(?G?)及其整體有關(guān)的各種管理技術(shù)。供選擇的答案:AD:匯編語言操作系統(tǒng)?虛擬存儲器概念高級語言結(jié)構(gòu)式程序設計?數(shù)據(jù)庫概念?固件模塊化程序設計EG:使用和維護?兼容性的確認?完整性的確認?設計???需求定義?圖象處理二、簡答題1、美國一家公司在1982年計劃用
4、FORTRA語言開發(fā)一個在VAX750計算機上運行的應用程序,估計這個程序的長度為10000條FORTRAN!令。如果平均每人每天可以開發(fā)出10條FORTRAN!令,請問:(1) 開發(fā)這個應用程序?qū)⒂枚嗌偃巳眨?2) 假設程序員的月平均工資為4000美元,每月按20個工作日計算,這個軟件的成本是多少美元?(3) 1982年VAX750計算機硬件價格約為125000美元,在那一年這個軟件的成本在總成本中占多大比例?(4) 20年后,一臺性能遠遠優(yōu)于VAX750的微型計算機的價格約為2000美元,這時軟件開發(fā)生產(chǎn)率已提高到平均每人每天可以開發(fā)出40條!令,而程序員的月平均工資也已漲到8000美元。
5、如果在2002年開發(fā)上述FORTRA應用程序,則該軟件的成本在總成本中占多大比例?2、根據(jù)歷史數(shù)據(jù)可以作出如下的假設。(1)對計算機存儲容量的需求大致按下面公式描述的趨勢逐年增加:M=4080e0.28(Y-1960)(2)存儲器的價格按下面公式描述的趨勢逐年下降:P1=0.3*0.72Y-1974?(美分/位)如果計算機字長為16位,則存儲器價格下降的趨勢為:P2=0.048*0.72Y-1974?(美元/字)在上列公式中Y代表年份,M是存儲容量(字數(shù)),P1和P2代表價格?;谏鲜黾僭O可以比較計算機硬件和軟件成本的變化趨勢。(1) 在1985年對計算機存儲容量的需求估計是多少?如果字長為1
6、6位,這個存儲器的價格是多少?(2) 假設在1985年一名程序員每天可開發(fā)出10條!令,程序員的平均工資是每月4000美元。如果一條!令為一個字長,計算使存儲器裝滿程序所需用的成本。(3)假設在1985年存儲器字長為32位,一名程序員每天可開發(fā)出30條!令,程序員的月平均工資為6000美元,重復(1)(2)題所問。3、美國某科幻電影中有一個描寫計算機軟件錯誤的故事,很富于戲劇性。故事情節(jié)如下:由計算機HAL控制的宇宙飛船在飛往木星的旅途中,飛機指揮員鮑曼和HAL之間有一段對話。鮑曼命令道:“HAL請對備用艙進行故障預報測試?!?0秒鐘后HAL報告:“一切正常?!钡牵孛嫔系娘w行指揮中心在重復
7、做了故障預測報告后,卻得出了相反的結(jié)論:“鮑曼,我是飛行指揮中心,你的計算機在預報故障時可能犯了錯誤,我們的兩臺HAL計算機都得出了和你的計算機相反的結(jié)論?!滨U曼用手指敲著控制臺說:“HAL,是不是有什么東西干擾了你,以致出了這個差錯?”“聽著,鮑曼,我知道你很想幫助我,但是我的信息處理是正常的。不信就查看我的記錄吧,你會看到它是完全正確的。“我看過你的服務記錄,但是誰都可能犯錯誤啊?!薄拔也⒉还虉?zhí)己見,但是,我是不可能犯錯誤的。”“喂,我是飛行指揮中心,我們已經(jīng)徹底分析了你所遇到的麻煩,我們的兩臺計算機得出了完全一致的結(jié)論。問題出在故障預報系統(tǒng)中,我們確信是程序設計有錯誤。你必須斷開你的計算
8、機并改為地面控制模式,我們才能改正這個錯誤.”當鮑曼斷開計算機時,HAL立即又把自己接了上去。最后,鮑曼只好拆下計算機的存儲器,才得以控制他的宇宙飛船。請問:(1)為什么鮑曼拆下存儲器就能擺脫計算機的干擾而獨自控制宇宙飛船?我們現(xiàn)在遇到的軟件問題有這么嚴重嗎?(2)如果不依靠飛行指揮中心,鮑曼怎樣才知道HAL的故障預報有問題?(3)應該怎樣設計計算機系統(tǒng),才能避免出現(xiàn)故事中描述的這類問題?4、什么是軟件工程?它與軟件工程方法學有何關(guān)系?5、為什么說分階段的生命周期模型有助于軟件項目管理?6、什么是里程碑?它應該有哪些特征?7、假設要求你開發(fā)一個軟件,該軟件的功能是把讀入的浮點數(shù)開平方,所得到的
9、結(jié)果應該精確到小數(shù)點后4位。一旦實現(xiàn)并測試完之后,該產(chǎn)品將被拋棄。你打算選用哪些軟件生命周期模型?請說明你作出選擇的理由。8、假設你被任命為一家軟件公司的項目負責人,你的工作是管理該公司已被廣泛應用的字處理軟件的新版本開發(fā)。由于市場競爭激烈,公司規(guī)定了嚴格的完成期限并且已對外公布。你打算采用哪種軟件生命周期模型?為什么?第一章習題解答一、選擇題1、答案:A.,?B.,?C.分析:軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。其中,程序是按事先設計的功能和性能要求執(zhí)行的指令序列。數(shù)據(jù)是使程序能夠正確操縱信息的數(shù)據(jù)結(jié)構(gòu)。文檔是與程序開發(fā)、維護和使用有關(guān)的圖文材
10、料。需要注意的是,程序與算法在含義上有不同:算法的每一條指令必須是最基本的、必須通過有限步做完,而程序沒有這個要求。2、答案:A.,?B.,?C.,?D.分析:有合適的程序開發(fā)環(huán)境可以提供有用的工具,大大提高開發(fā)人員的工作效率。軟件工程中描述軟件生存周期的瀑布模型一般包括計劃、需求分析、設計、編碼、測試和運行維護等六個階段。需求分析完成對軟件產(chǎn)品在功能、性能、用戶接口、運行環(huán)境、可靠性、安全性、開發(fā)資源、開發(fā)進度、開發(fā)成本等方面的需求定義。問題定義、可行性分析、需求調(diào)查都可能是需求分析中要做的一部分工作。軟件設計在管理上劃分為概要設計與詳細設計兩個步驟。概要設計的目標是建立軟件的體系結(jié)構(gòu),完成
11、全局數(shù)據(jù)結(jié)構(gòu)設計,同時進行處理方式設計、運行配置設計、出錯處理設計、故障恢復設計等。詳細設計是對每一個模塊的操作的控制流程和局部數(shù)據(jù)結(jié)構(gòu)進行設計。3、答案:A.,?B.,?C.,?D.,?E.,?F.,?G.。注意,C與D的答案順序可互換。分析:在軟件發(fā)展的早期,匯編語言和高級語言尚未出現(xiàn),人們只能用機器指令來編寫程序。為了好讀,有的指令系統(tǒng)可以用八進制代碼書寫。其后,由于匯編語言的出現(xiàn),人們擺脫了繁重的地址分配等工作,可以用符號編程。隨著高級語言的出現(xiàn)和普及,人們用近似于自然語言的語句編寫程序,大大減輕了程序員的負擔。高級語言的處理,從解釋執(zhí)行到編譯執(zhí)行,處理效率和存儲利用率不斷提高。結(jié)構(gòu)化
12、程序設計和模塊化程序設計是科學家為解決軟件危機,借用其它領域的技術(shù)改進程序設計方法而提出來的。由于這些技術(shù)的使用,提高了程序的可讀性、局部性、抽象性、清晰性、簡單性、確定性、一致性等,降低了程序開發(fā)的費用。后來發(fā)展到軟件工程階段,明確地劃分了軟件開發(fā)階段,規(guī)范了軟件開發(fā)過程,明確了各個階段的任務以及應交付的成果和里程碑,使得軟件開發(fā)逐步達到工程化和標準化。、二、簡答題1. 答:(1)?10000/10=1000(人日)開發(fā)這個應用程序大約需用1000個人日。需要指出的是,上述工作量包括問題定義、可行性研究、需求分析、總體設計、詳細設計、編碼和單元測試、綜合測試等各個開發(fā)階段的工作量,而不僅僅是
13、編寫程序所需的工作量。(2)每月平均工作20天,故開發(fā)這個軟件需要用1000/20=50(人月)每人每月的平均工資為4000美元,因此這個軟件的成本大約為50*4000=200000(美元)(3)軟件成本與硬件成本之和為計算機系統(tǒng)的總成本。這個軟件的成本在總成本中所占的比例為200000/(200000+125000)=61.5%(4)在2002年開發(fā)這個應用程序所需的工作量約為10000/(40*20)=12.5(人月)這個軟件的成本大約為12.5*8000=100000(美元)該軟件的成本在總成本中所占的比例為100000/(100000+2000)=98%2. 答:(1)在1985年對計
14、算機存儲容量的需求,估計是M=4080e0.28(1985-1960)=4080e7=4474263(字)如果字長為16位,這個存儲器的價格是P=0.048*0.721985-1974*4474263=5789(美元)(2)如果一條指令的長度為一個字,則使存儲器裝滿程序共需4474263條指令。在1985年一名程序員每天可開發(fā)出10條指令,如果每月有20個工作日,則每人每月可開發(fā)出10*20=200條指令。為了開發(fā)出4474263條指令以裝滿存儲器,需要的工作量是4474263/20022371(人月)程序員的月平均工資是4000美元,開發(fā)出4474263條指令的成本為(3)在1985年對存儲
15、容量的需求,估計為M=4080e0.28(1995-1960)=4080e9.8如果字長為32位,這個存儲器的價格是=7127(美元)在1995年一名程序員每天可開發(fā)出30條指令,每月可開發(fā)出600條指令,為了開發(fā)出可裝滿整個存儲器的程序,需用的工作量為開發(fā)上述程序的成本為3. 答:(1)計算機通過運行程序來控制宇宙飛船,而程序指令存放在存儲器中。拆下存儲器之后,計算機因取不來指令而無法運行程序,因此也就無法控制宇宙飛船了。我們現(xiàn)在遇到的軟件問題沒有這么嚴重,還沒有出現(xiàn)計算機不服從人的命令的情況。(2)除非鮑曼能親自分析有故障的部件,或者在計算機上還安裝有另外一套故障檢測系統(tǒng),否則不依靠飛行指
16、揮中心他很難知道HAL的故障預報有問題。(3)應該把HAL設計成具有若干個儲存的問題,供周期性測試之用。通過把應有的測試結(jié)果和HAL實際測試結(jié)果加以比較的方法,有可能發(fā)現(xiàn)HAL的故障預報問題。此外,不論怎樣具體設計HAL系統(tǒng),都應該設置一種人工操作模式,并把人工操作模式設置為最高等級的控制模式,在任何情況下計算機控制都不能取消人工操作命令。4. 答:軟件過程是為了開發(fā)出高質(zhì)量的軟件產(chǎn)品所需完成的一系列任務的框架,它規(guī)定了完成各項任務的工作步驟。軟件過程定義了運用技術(shù)方法的順序、應該交付的文檔資料、為保證軟件質(zhì)量和協(xié)調(diào)軟件變化必須采取的管理措施,以及標志完成了相應開發(fā)活動的里程碑。軟件過程是軟件
17、工程方法學的3個重要組成部分之一。5. 答:軟件是計算機系統(tǒng)的邏輯部件而不是物理部件,其固有的特點是缺乏可見性,因此,管理和控制軟件開發(fā)過程相當困難。分階段的生命周期模型提高了軟件項目的可見性。管理者可以把各個階段任務的完成作為里程碑來對軟件開發(fā)過程進行管理。把階段劃分得更細就能夠更密切地監(jiān)控軟件項目的進展情況。6. 答:里程碑是用來說明項目進展情況的事件。通常,把一個開發(fā)活動的結(jié)束或一項開發(fā)任務的完成定義為一個里程碑。里程碑必須與軟件開發(fā)工作的進展情況密切相關(guān),而且里程碑的完成必須非常明顯(也就是說,里程碑應該有很高的可見性)。7. 答:對這個軟件的需求很明確,實現(xiàn)開平方功能的算法也很成熟,因此,既無須通過原型來分析需求也無須用原型來驗證設計方案。此外,一旦實現(xiàn)并測試完之后,該產(chǎn)品將被拋棄,因此也無須使用有助于提高軟件可維護性的增量模型或螺旋模型來開發(fā)該軟件。綜上所述,為了開發(fā)這個簡單的軟件,使用大多數(shù)人所熟悉的瀑布模型就可以了。8. 答:對這個項目的一個重要要求是,嚴格按照已對外公布了的日期完成產(chǎn)品開發(fā)工作,因此,選擇生命周期模型時應該著重考慮哪些模型有助于加快產(chǎn)品開發(fā)的進度。使用增量模型開發(fā)軟件時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 八年級英語下冊 Unit 9 單元綜合測試卷(人教版 2025年春)
- 2024-2025學年河南省周口市商水縣化河鄉(xiāng)等小學四年級(上)期末數(shù)學試卷
- 2024年全國職業(yè)學校技能大賽(養(yǎng)老照護賽項)備考試題庫大全(附答案)
- 2025年個人果園承包合同簡單版(三篇)
- 2025年五金家電買賣合同范文(2篇)
- 2025年個人樓房出租合同標準版本(三篇)
- 2025年中年人自愿離婚協(xié)議范文(2篇)
- 2025年產(chǎn)品加工項目合作協(xié)議(三篇)
- 2025年個人果園承包合同參考模板(三篇)
- 2025年九年級下學期班級教師工作總結(jié)模版(2篇)
- 2025年度院感管理工作計劃(后附表格版)
- 勵志課件-如何做好本職工作
- 化肥銷售工作計劃
- 2024浙江華數(shù)廣電網(wǎng)絡股份限公司招聘精英18人易考易錯模擬試題(共500題)試卷后附參考答案
- 2024年山東省濟南市中考英語試題卷(含答案解析)
- 2024年社區(qū)警務規(guī)范考試題庫
- 2025中考英語作文預測:19個熱點話題及范文
- 第10講 牛頓運動定律的綜合應用(一)(講義)(解析版)-2025年高考物理一輪復習講練測(新教材新高考)
- 班組建設與班組長管理培訓
- 酒店消防安全知識培訓
- 2024-2025學年外研版九年級英語上學期考點 專題03 首字母填空(10篇)【考題猜想】
評論
0/150
提交評論