軟件工程習(xí)題答案_第1頁
軟件工程習(xí)題答案_第2頁
軟件工程習(xí)題答案_第3頁
軟件工程習(xí)題答案_第4頁
軟件工程習(xí)題答案_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、?軟件工程?習(xí)題參考答案周兵1.1 教材:?軟件工程?方木云主編,清華大學(xué)出版社,20211.2 參考書目:1 .«Softwareengineering»8thEditionIanSommervile,PearsonEducation,機(jī)械工業(yè)出版社,20062 .?軟件工程?,王忠群主編,中國科學(xué)技術(shù)大學(xué)出版社,20213 .?軟件工程導(dǎo)論?第4版,張海藩編著,清華大學(xué)出版社,20074 、«Softwareengineering:apractitioner'sapproach»Roger5 .Pressman.6thed.Pressman,

2、RogerS.ChinaMachinePress,20211.3說明:斜體局部是可選講授內(nèi)容,帶星號的習(xí)題為可選.第1章軟件工程學(xué)概述1.1習(xí)題A.1什么是軟件?軟件可以分為哪些類?p11答:軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合.軟件可分為通用軟件和定制軟件.A.2*什么是軟件危機(jī)及其表現(xiàn)?p11答:軟件危機(jī)是指在計算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題.軟件危機(jī)包含下述兩方面的問題:如何開發(fā)軟件,以滿足對軟件日益增長的需求;如何維護(hù)數(shù)量不斷膨脹的已有軟件.具體地說,軟件危機(jī)主要有以下一些典型表現(xiàn).(1)對軟件開發(fā)本錢和進(jìn)度的估計常常很不準(zhǔn)確.(2)用戶對“已完成的軟件系統(tǒng)不滿意的現(xiàn)

3、象經(jīng)常發(fā)生.(3)軟件產(chǎn)品的質(zhì)量往往靠不住.(4)軟件常常是不可維護(hù)的.(5)軟件通常沒有適當(dāng)?shù)奈臋n資料.(6)軟件本錢在計算機(jī)系統(tǒng)總本錢中所占的比例逐年上升.(7)軟件開發(fā)生產(chǎn)率提升的速度,遠(yuǎn)遠(yuǎn)跟不上計算機(jī)應(yīng)用迅速普及深入的趨勢.A.3什么是軟件工程?p11答:軟件工程是指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科.采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時間考驗而證實正確的治理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程.A.4什么是軟彳爺過程?p20答:軟件過程由軟件定義、軟件開發(fā)和運(yùn)行維護(hù)(也稱為軟件維護(hù))3個時期組成,

4、每個時期又進(jìn)一步劃分成假設(shè)干個階段.第2章軟件過程模型2.1習(xí)題A.1什么是瀑布型方法?p20答:根據(jù)時間順序依次進(jìn)行可行性分析、工程方案、需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼與單元測試、集成測試、確認(rèn)驗證、運(yùn)行與維護(hù)等幾個階段進(jìn)行軟件開發(fā).A.2什么是快速原型方法?p28答:所謂快速原型是快速建立起來的可以在計算機(jī)上運(yùn)行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個子集.強(qiáng)調(diào)過程的屢次反復(fù),對文檔的要求不高.A.3什么是增量方法?說說它產(chǎn)生的原因和適用的范圍.P43答:增量模型也稱為漸增模型,是快速原型法的一種;使用增量模型開發(fā)軟件時,把軟件產(chǎn)品作為一系列的增量構(gòu)件來設(shè)計、編碼、集成

5、和測試.使用增量模型可以:在較短時間內(nèi)向用戶提交可完成局部工作的產(chǎn)品;客戶可以將早期的增量作為原型,從中獲得對后面系統(tǒng)增量的需求經(jīng)驗;工程總體性失敗的風(fēng)險比擬低.A.4什么是面向復(fù)用方法?說說它產(chǎn)生的原因和適用的范圍.P43答:面向復(fù)用的方法使用可復(fù)用軟件組件以及能集成這些組件的框架來構(gòu)建和開發(fā)新的軟件;有時,這些組件本身就是一個獨(dú)立的能滿足某種需要的系統(tǒng).使用這種方法可以節(jié)省大量的重復(fù)勞動,加快開發(fā)速度.存在大量可以重用的構(gòu)件的時候,可以使用這種方法.A.5什么是形式化方法?說說它產(chǎn)生的原因和適用的范圍.P43答:形式化系統(tǒng)開發(fā)是一個類似瀑布模型的軟件開發(fā)方法,但其開發(fā)過程基于的是用形式化數(shù)

6、學(xué)轉(zhuǎn)換來將系統(tǒng)描述轉(zhuǎn)換成一個可執(zhí)行程序.由于使用這種方法可以大大提升軟件的可靠性,以及節(jié)省測試本錢;這種方法主要用于可靠性要求很高的軟件.第3章可行性研究第4章需求分析4.1習(xí)題A.1為什么要進(jìn)行軟件需求分析?請表達(dá)軟件需求分析的主要過程.P66答:軟件需求分析在軟件開發(fā)過程中具有舉足輕重的地位,它是開發(fā)出正確的、高質(zhì)量的軟件系統(tǒng)的重要保證.有數(shù)據(jù)說明,更正需求分析階段的一個錯誤所花費(fèi)的工作量是更正測試階段的一個錯誤的一百倍.軟件需求分析的主要過程:獲取用戶需求、分析用戶需求、編寫需求文檔、進(jìn)行需求評審A.2軟件需求規(guī)格說明書由哪些局部組成?p66答:軟件需求規(guī)格說明書由引言、任務(wù)概述、需求規(guī)

7、定、運(yùn)行環(huán)境規(guī)定四個局部組成.第5章概要設(shè)計總體5.1習(xí)題A.1什么是模塊?什么是模塊化?.P75答:模塊是由邊界元素限定的相鄰程序元素例如,數(shù)據(jù)說明,可執(zhí)行的語句的序列,而且有一個總體標(biāo)識符代表它.過程、函數(shù)、子程序和宏等,都可作為模塊.面向?qū)ο蠓椒▽W(xué)中的對象是模塊,對象內(nèi)的方法或稱為效勞也是模塊.模塊是構(gòu)成程序的根本構(gòu)件.模塊化就是把程序劃分成獨(dú)立命名且可獨(dú)立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求.模塊化是為了使一個復(fù)雜的大型程序能被人的智力所治理.A.2衡量模塊獨(dú)立性的兩個標(biāo)準(zhǔn)是什么?它們各表示什么含義?P75答:模塊的獨(dú)立程

8、度可以由兩個定性標(biāo)準(zhǔn)度量,這兩個標(biāo)準(zhǔn)分別稱為內(nèi)聚和耦合.耦合是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量.內(nèi)聚標(biāo)志一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,它是信息隱藏和局部化概念的自然擴(kuò)展.6.1第6章界面設(shè)計習(xí)題A.1界面設(shè)計的原那么是什么?P88答:用戶界面設(shè)計原那么原那么描述用戶熟悉界面所使用的術(shù)語和概念應(yīng)該是來自于用戶的經(jīng)驗,這些用戶是使用系統(tǒng)最多的人一致性界面應(yīng)該是一致的,即盡可能地讓相似的操作有同樣的觸發(fā)方式意外最小化永遠(yuǎn)不要讓用戶對系統(tǒng)的行為感到吃驚可恢復(fù)性界面應(yīng)該有一種機(jī)制來允許用戶從錯誤中恢復(fù)用戶指南在錯誤發(fā)生時界面應(yīng)該提供有意義的反響,并有上下文感知水平的用戶幫助功能用戶差異

9、性界面應(yīng)該為不同類型用戶提供適宜的交互功能第7章詳細(xì)設(shè)計7.1習(xí)題A.1*畫出以下偽碼程序的程序流程圖:STARTIFpTHENWHILEqDOfENDDOELSEBLOCKgnENDBLOCKENDIFSTOP答:開始nf結(jié)束k>A.2*以下圖給出的程序流程圖代表一個非結(jié)構(gòu)化的程序,請問:(1)為什么說它是非結(jié)構(gòu)化的?(2)設(shè)計一個等價的結(jié)構(gòu)化程序.(3)在(2)題的設(shè)計中你使用附加的標(biāo)志變量flag了嗎?假設(shè)沒用,請再設(shè)計一個使用flag的程序;假設(shè)用了,再設(shè)計一個不用flag的程序.圖一個非結(jié)構(gòu)化程序答:(1)由于它不是單出口的程序.(2)第8章實現(xiàn)8.1 習(xí)題A.1p101A.2

10、什么是軟件測試,軟件測試的根本準(zhǔn)那么是什么?答:測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程,測試是保證軟件質(zhì)量的重要手段之一.軟件測t那么(經(jīng)驗)(1) 所有測試都應(yīng)該能追溯到用戶需求.(2) 應(yīng)該遠(yuǎn)在測試開始之前就制定出測試方案.(3) 把Pareto原理應(yīng)用到軟件測試中.Pareto原理說明,測試發(fā)現(xiàn)的錯誤中的80%艮可能是由程序中20%勺模塊造成的.(4) 應(yīng)該從“小規(guī)模測試開始,并逐步進(jìn)行“大規(guī)模測試.(5) 窮舉測試是不可能的.(6) 為了到達(dá)最正確的測試效果,應(yīng)該由獨(dú)立的第三方從事測試工作.A.3軟件測試的目的是什么,為什么把軟件測試的目的定義為只是發(fā)現(xiàn)錯誤?答:測試的目的是找出整

11、個軟件開發(fā)周期中各個階段的錯誤,如果測試是為了發(fā)現(xiàn)程序中的錯誤,就會力求設(shè)計出最能暴露錯誤的測試方案,從而提升測試效率.A.4黑盒測試方法有哪些?答:黑盒測試方法有等價劃分、邊界值分析、錯誤推測法.A.5白盒測試方法有哪些?答:白盒測試方法有邏輯覆蓋,邏輯覆蓋又可分為:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋.第9章演化(維護(hù))9.1習(xí)題A.1P105維護(hù)分為哪幾類?答:維護(hù)分為:改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù).第10章面向?qū)ο蠓椒▽W(xué)10.1習(xí)題A.1P115什么是UML答:UML(UnifiedModelingLanguage)是一種定義良好、易于

12、表達(dá)、功能強(qiáng)大且普遍適用的建模語言.它融入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù).它的作用域不僅僅限于支持面向?qū)ο蟮姆治雠c設(shè)計,而是全面支持從需求分析開始的軟件開發(fā)的全過程.A.2P115一般從哪幾種常用的視角來描述一個系統(tǒng)?答:用面向?qū)ο蠓椒ㄩ_發(fā)軟件,通常需要建立3種形式的模型,它們分別是描述系統(tǒng)靜態(tài)結(jié)構(gòu)的對象模型,描述系統(tǒng)動態(tài)行為的動態(tài)模型和描述系統(tǒng)功能的功能模型.第11章基于其它粒度的構(gòu)造方法11.1習(xí)題A.1P131什么是軟件體系結(jié)構(gòu)?答:HayesRoth認(rèn)為軟件體系結(jié)構(gòu)是一個抽象的系統(tǒng)標(biāo)準(zhǔn),主要包括用其行為來描述的功能構(gòu)件和構(gòu)件之間的相互連接、接口和關(guān)系.A.2P131軟件體系結(jié)構(gòu)

13、的組成要素是什么?答:軟件體系結(jié)構(gòu)包含構(gòu)件、連接件和約束3個最根本的組成元素.A.3P149Agent概念的幾個主要特征是什么?答:與Agent概念相關(guān)的幾個主要特性:自治性、異構(gòu)性、動態(tài)性、通信、協(xié)議、承諾.A.4P149Agent的組織類型有哪些?答:Agent的組織類型有:層次、組合、團(tuán)隊、市場.A.5P171如何理解SOA構(gòu)?請畫圖給出面向效勞體系結(jié)構(gòu)中的協(xié)作是怎樣進(jìn)行的過程.答:SOA的定義為“客戶端/效勞器的軟件設(shè)計方法,一項應(yīng)用由軟件效勞和軟件效勞使用者組成.SO躲構(gòu)的實質(zhì)就是將系統(tǒng)模型與系統(tǒng)實現(xiàn)別離.第12章面向云計算方法12.1習(xí)題A.1P207從研究現(xiàn)狀上看,云計算具有什么

14、特點?答:云計算具有以下特點:超大規(guī)模、虛擬化、高可靠性、通用性、高可擴(kuò)展性、按需效勞、極其廉價.A.2P207Google云計算技術(shù)具體包括哪些?答:Google云計算技術(shù)具體包括:Google文件系統(tǒng)GFS分布式計算編程模型MapReduce分布式鎖效勞Chubby和分布式結(jié)構(gòu)化數(shù)據(jù)存儲系統(tǒng)Bigtable等.其中,GF限供了海量數(shù)據(jù)的存儲和訪問的水平,MapReduce使得海量信息的并行處理變得簡單易行,Chubby保證了分布式環(huán)境下并發(fā)操作的同步問題,Bigtable使得海量數(shù)據(jù)的治理和組織十分方便.第13章CASE:具13.1習(xí)題P207CASE勺定義是什么?答:CASE即Compu

15、terAidedSoftwareEngineering,中文意思是計算機(jī)輔助軟件工程.CAS既一套方法和工具.CASE的一個根本思想就是提供一組能夠自動覆蓋軟件開發(fā)生命周期各個階段的集成的、減少勞動力的工具.第14章軟件工程14.1習(xí)題A.1P233什么是工程,軟件工程有哪些特點?答:工程是為完成一個獨(dú)特的產(chǎn)品、效勞或者任務(wù)而進(jìn)行的一次性努力.軟件工程是一種特殊的工程,軟件工程除了具有一般工程的根本特征外,還具有以下特征:(l)軟件工程是知識密集型工程.(2)軟件工程采用以用戶為中央的理念.(3)軟件工程的風(fēng)險較大.(4)軟件工程的治理嚴(yán)格.(5)軟件產(chǎn)品需要屢次完善.(6)軟件工程的文檔編寫量較大.A.2P233軟件工程立項的一般過程包括哪些?工程的審核階答:軟件工程立項的一般過程包括:軟件工程的發(fā)起階段、工程的論證階段、段、工程的立項.第15章人員治理15.1習(xí)題P245小組協(xié)作方式有哪些?答:小組協(xié)作方式有兩種:民主制程序員組、主程序員組.第16章進(jìn)度治理16.1習(xí)題P250表達(dá)工程進(jìn)度的圖形工具有那兩種?、Gantt圖(條形圖)答:表達(dá)工程進(jìn)度的圖形工具有兩種:工程網(wǎng)絡(luò)圖(活動網(wǎng)絡(luò)圖)第17章本錢治理17.1習(xí)題P258軟件本錢的組成因素有哪些?答:軟件本錢的組成因素有:包括維護(hù)在內(nèi)的硬件

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論