軟件工程復習題_第1頁
軟件工程復習題_第2頁
軟件工程復習題_第3頁
軟件工程復習題_第4頁
軟件工程復習題_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件工程課程復習題一、單項選擇題1、軟件生存周期模型有多種,下列選項中,(C)不是軟件生存周期模型。

A.螺旋模型B.增量模型C.功能模型D.瀑布模型

2、檢查軟件產品與否符合需求定義的過程稱為(D)。

A.集成測試B.確認測試 C.驗證測試D.驗收測試3、黑盒測試是從(C)觀點出發(fā)的測試,白盒測試是從(A)觀點出發(fā)的測試。

A.開發(fā)人員B.管理人員C.顧客4、可行性研究要進行一次(D)需求分析。A.深入的B.詳盡的C.徹底的D.簡化的、壓縮了的

5、回歸測試是(A)中最常用的措施。A.校正性維護 B.適應性維護 C.完善性維護 D.防止性維護6、與選擇編程語言無關的原因是(C)。A.軟件開發(fā)的措施B.軟件執(zhí)行的環(huán)境C.程序設計風格D.軟件開發(fā)人員的知識7、面向對象程序設計將數據與(A)放在一起,作為一種互相依存、不可分割的整體來處理。A.對數據的操作 B.信息 C.數據隱藏 D.數據抽象8、軟件生存周期的(D)工作和軟件可維護性有親密的關系。A.編碼階段B.設計階段C.測試階段D.每個階段9、好的軟件構造應當是(C)。A.高耦合,高內聚B.高耦合,低內聚C.低耦合,高內聚D.低耦合,低內聚10、在迅速原型模型的開發(fā)過程中,僅作為需求闡明的補充形式的原型是(A)

A.探索型模型B.演化型模型C.試驗型模型D.提交型模型

11、軟件構造圖的形態(tài)特性能反應程序重用率的是(C)

A.深度B.寬度 C.扇入D.扇出12、需求分析最終止果是產生(B)

A.項目開發(fā)計劃B.需求規(guī)格闡明書C.設計闡明書D.可行性分析匯報

13、分層數據流圖是一種比較嚴格又易于理解的描述方式,它的頂層描繪了系統的(C)。A.總體 B.細節(jié) C.抽象 D.分解14.可行性研究要進行一次需求分析。答案為:DA.深入的B.詳盡的C.徹底的D.簡化的、壓縮了的

2.開發(fā)軟件所需高成本和產品的低質量之間有著鋒利的矛盾,這種現象稱作B。答A.軟件投機B.軟件危機C.軟件工程D.軟件現象15.產生軟件維護的副作用,是指。答案為:CA.開發(fā)時的錯誤B.隱含的錯誤C.因修改軟件而導致的錯誤D.運行時誤操作16.維護中,因誤刪除一種標識符而引起的錯誤是_________副作用。答案為:CA.文檔B.數據C.編碼D.設計17.可維護性的特性中互相增進的是答案為:AA.可理解性和可測試性B.效率和可移植性C.效率和可修改性D.效率和構造好18.需求分析最終止果是產生答案:BA.項目開發(fā)計劃B.需求規(guī)格闡明書C.設計闡明書D.可行性分析匯報

7._____是以提高軟件質量為目的的技術活動。答案為:DA.技術創(chuàng)新B.測試C.技術發(fā)明D.技術評審19.面向對象措施學的出發(fā)點和基本原則是盡量模擬人類習慣的思維方式,分析、設計和實現一種軟件系統的措施和過程,盡量靠近于人類認識世界處理問題的措施和過程。因此面向對象措施有許多特性,如軟件系統是由對象構成的________;對象彼此之間僅能通過傳遞消息互相聯絡;層次構造的繼承。答案為:CA.開發(fā)過程基于功能分析和功能分解B.強調需求分析重要性C.把對象劃提成類,每個對象類都定義一組數據和措施D.對既存類進行調整20.原型化措施是顧客和設計者之間執(zhí)行的一種交互構成,合用于______系統。答案為:AA.需求不確定性高的B.需求確定的C.管理信息D.實時21.為了提高測試的效率,應當。答案為:DA.隨機地選用測試數據B.取一切也許的輸入數據作為測試數據C.在完畢編碼后來制定軟件的測試計劃D.選擇發(fā)現錯誤也許性大的數據作為測試數據二、填空題1、.需求分析階段階段決定了系統做什么,軟件設計階段階段決定系統怎樣詳細實現的方案,編碼階段是系統實現的過程,軟件測試階段階段是對實現的系統與否對的的檢查,軟件維護階段階段是找出開發(fā)階段遺留下來的錯誤,并且伴隨顧客規(guī)定的增長,環(huán)境的變化,對系統進行改造。2、設計分為概要設計和詳細設計兩大環(huán)節(jié)。3、集成測試的措施重要有漸增式測試和非漸增式測試兩種。4、軟件設計要遵守“抽象,分解,低藕合高內聚,封裝,接口和實現分離”的設計原理。5、測試階段是在代碼編寫完畢后來,先作單元測試,然后是集成測試、系統測試和驗收測試。7、軟件維護的內容有:糾正性維護、適應性維護、完善性維護和防止性維護。8、一般而言,在面向對象建模過程中,人們最常用的是建立系統的用例圖、類圖和次序圖。9、“四種開發(fā)措施”是指“面向過程的措施、面向對象的措施、面向數據的措施、形式化措施”10、“五個面向理論”是指“面向流程分析、面向數據設計、面向對象實現、面向功能測試、面向過程管理”。11、構造化分析措施是需求分析中使用最多的措施之一,合用于數據處理類型軟件的需求分析?;舅枷胧遣捎米皂斚蛳拢饘臃纸獾拇胧┓治稣麄€系統,有效地控制系統開發(fā)的復雜性。12、內聚性是模塊獨立性的衡量原則之一,它是指模塊的功能強度的度量,即一種模塊內部各個元素彼此結合的緊密程度的度量。13、在構造化分析中,用于描述加工邏輯的重要工具有三種,即:構造化語言、鑒定表、鑒定樹。14、構造化語言是介于自然語言和形式語言之間的一種半形式語言。15、模塊設計的基本原則是要盡量使用數據耦合,減少控制耦合,限制外部耦合和公共耦合,不使用內容耦合。16.系統流程圖是描述物理模型的老式工具,用圖形符號表達系統中各個元素體現了系統中多種元素之間的(信息流動)狀況。17.自頂向下結合的漸增式測試法,在組合模塊時有兩種組合方略:深度優(yōu)先方略和(寬度優(yōu)先方略)。18.詳細設計的任務是確定每個模塊的內部特性,即模塊的算法、(使用的數據)。19.有兩類維護技術:在開發(fā)階段使用來減少錯誤、提高軟件可維護性的面向維護的技術;在維護階段用來提高維護的效率和質量的(維護支援)技術。20.科學工程計算需要大量的原則庫函數,以便處理復雜的數值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。三、名詞解釋1.經濟可行性答:進行開發(fā)成本的估算以及理解獲得效益的評估,確定要開發(fā)的項目與否值得投資開發(fā)。2.社會可行性答:要開發(fā)的項目與否存在任何侵犯、阻礙等責任問題,要開發(fā)項目目的運行方式在顧客組織內與否行得通,既有管理制度、人員素質、操作方式與否可行。3.元數據、實體、中間數據答:元數據是組織數據的數據,描述數據的數據,有關數據的數據。實體(指實體集或實體型),是一組有關元數據的集合。中間數據是組織記錄數據的數據,描述記錄數據的數據,有關記錄數據的數據。4.軟件維護定義:答:所謂軟件維護,就是在軟件產品安裝、實行并交付給顧客使用后,在新版本產品升級之前,這段時間里軟件廠商向客戶提供的服務工作,稱為該軟件產品的軟件維護。四、判斷題某軟件企業(yè)擬采用下述措施提高他們開發(fā)出的軟件產品的可維護性。請判斷哪些措施是對的的,哪能些是不對的的,并簡樸闡明理由。1、在分析顧客需求時同步考慮維護問題。2、測試完程序后,刪去程序中的注解以縮短源程序長度。3、在軟件開發(fā)過程中保證各階段文檔的對的性。4、編碼時多用全局變量。5、選用時間效率和空間效率盡量高的算法。6、盡量運用硬件特點以提高程序效率。7、盡量使用高級語言編寫程序。8、進行總體設計時加強模塊間的聯絡。9、盡量減少程序模塊的規(guī)模。10、用數據庫系統替代文獻系統來存儲需要長期保留的信息。11、用CASE環(huán)境或程序自動生成工具來自動生成一部分程序。12、盡量用可重用的軟件構件來組裝程序。13、使用先進的軟件開發(fā)技術。14、采用防錯程序設計技術,在程序中引入自檢能力。答:1、對的。在分析顧客需要的同步考慮維護問題,列出未來也許變更或增長的需求,就可以在設計時為未來也許做的修改預先做某些準備,使得在顧客確實提出這些維護規(guī)定期,實現起來比較輕易某些。2、不對的。程序中的注解是提高程序可理解性的關鍵的內部文檔,刪去文檔的注解必然會減少程序的可讀性和可理解性,從而減少軟件的可維護性。3、對的。完整精確的文檔對提高軟件的可理解性有重要奉獻,保證文檔的對的性是提高軟件可維護性的關鍵。4、不對的。程序中使用的全局變量多,不僅違反局部化原理并且會使得具有公共環(huán)境耦合的模塊數量增多,從而減少程序的可理解性、可修改性和可測試性,因此,這樣的軟件可維護性較差。5、不對的。一般說來,效率高的算法的可理解性較差,選用效率盡量高的算法將減少軟件的可維護性。實際上,程序的效率可以滿足顧客的需求就可以了,沒有必要盲目地追求盡量高的效率。6、不對的。程序對硬件特點依賴越多,運行程序的硬件變更時適應性維護的工件量也就越大。7、對的。用高級語言編程時,顧客可以給程序變量和程序模塊賦予含義鮮明的名字,通過名字可以比較輕易地把程序對象和它們所代表的實體聯絡起來。此外,高級語言使用的概念和符號更符合人的習慣。上述事實都使得用高級語言編寫的程序更輕易理解,因此也就更輕易維護。8、不對的。模塊間耦合越緊密,程序就越難理解和修改,修改后測試也比較困難。因此,加強模塊間的聯絡將減少軟件的可維護性。9、不對的。程序模塊的規(guī)模很小,就會使程序中包括的模塊諸多,這將使模塊間的接口數量大大增長,從而增長了理解、修改和測試程序的難度,減少了軟件的可維護性。10、對的。數據庫系統比文獻系統使用起來更以便、更安全,用數據庫系統替代文獻系統來存儲需要長期保留的信息,可減少差錯,減少改正性維護需求的數量。此外,使用數據庫系統的程序比使用文獻系統的程序更輕易修改。上述事實表明,用數據庫系統替代文獻系統來存儲需要長期保留的信息,將提高軟件的可維護性。11、對的。自動生成的程序段沒有差錯,對軟件的改正性維護需求自然減少。當因顧客的需求變更而需要修改程序時,可以先修改對應部分的規(guī)格闡明,然后用CASE環(huán)境或程序自動生成工具自動生成需改動的程序,顯然,這樣做可以減少維護的工作量。12、對的??芍赜玫能浖嫾旧蠜]有錯誤,用這樣的構件組裝成的程序可靠性高,改正性維護需求自然就比較少。此外,可重用的軟件構件適應性強,應用范圍廣,輕易使它適應新需求,因此,用這樣的構件組裝成的程序也較輕易實現適應性或完善性維護。13、對的。用先進的軟件技術開發(fā)出來的軟件輕易理解、輕易修改、輕易重用,因此,可維護性很好。14、對的。在程序中引入自檢能力可以明顯提高軟件的可靠性,因此將明顯減少改正性維護需求的數量。五、簡答題1、什么是軟件過程?它與軟件工程措施學有何關系?答:軟件過程是為了開發(fā)出高質量的軟件產品所需完畢的一系列任務的框架,它規(guī)定了完畢各項任務的工作環(huán)節(jié)。軟件過程定義了運用技術措施的次序、應當交付的文檔資料、為保證軟件質量和協調軟件變化必須采用的管理措施,以及標志完畢了對應開發(fā)活動的里程碑。軟件過程是軟件工程措施學的3個重要構成部分之一。2、什么是軟件生命周期模型?試比較瀑布模型、迅速原型模型、增量模型和螺旋模型的優(yōu)缺陷,闡明每種模型的合用范圍。答:軟件生命周期模型規(guī)定了把生命周期劃提成哪些階段及各個階段的執(zhí)行次序,因此,也稱為過程模型。四種模型的優(yōu)缺陷在于:瀑布模型歷史悠久、廣為人知,它的優(yōu)勢在于它是規(guī)范的、文擋驅動的措施;這種模型的問題是,最終開發(fā)出的軟件產品也許并不是顧客真正需要的。迅速原型模型正是為了克服瀑布模型的缺陷而提出來的。它通過迅速構建起一種可在計算機上運行的原型系統,讓顧客試用原型并搜集顧客反饋意見的措施,獲取顧客的真實需求。增量模型具有可在軟件開發(fā)的初期階段使投資獲得明顯回報和教易維護的長處,不過,規(guī)定軟件具有開放的構造是使用這種模型時固有的困難。風險驅動的螺旋模型合用于內部開發(fā)的大型軟件項目,不過,只有在開發(fā)人員具有風險分析和排除風險的經驗及專門知識時,使用這種模型才會獲得成功。3、在軟件開發(fā)的初期階段為何要進行可行性研究?應當從哪些方面研究目的系統的可行性?答:可行性研究的目的不是處理問題,而是確定問題與否值得去處理。實質上是要進行一次大大壓縮簡化了的系統分析和設計的過程,也就是在較高層次上以較抽象的方式進行的系統分析和設計的過程。應當從如下的方面研究目的系統的可行性:技術可行性:使用既有的技術能實現這個系統嗎?經濟可行性:這個系統的經濟效益能超過它的開發(fā)成本嗎?操作可行性:這個系統的操作方式在該客戶組織內行得能工通嗎?4、怎樣與顧客有效地溝通以獲取顧客的真實需求?答:分析員與顧客溝通進行需求分析的經典措施如下所述:訪談:它有兩種基本形式,分別是正式的和非正式的訪談。面向數據流自頂向下求精。簡易的應用規(guī)格闡明技術。迅速建立軟件原型。5、什么是功能模型?建立功能模型時重要使用哪些圖形符號?答:功能模型表達變化的系統的“功能”性質,它指明了系統應當“做什么”,因此更直接地反應了顧客對目的系統的需求。一般,功能模型由一組數據流圖構成。建立功能模型時重要使用的圖形符號如下所示:或數據的源點/終點或變換數據的處理或數據存儲數據流6、為何要選擇軟件開發(fā)模型?軟件開發(fā)模型與軟件生存周期有什么關系?答:由于軟件開發(fā)模型是軟件工程研究的四大內容之一,它雖然不是軟件工程研究的重點,不過在宏觀上尤其重要。軟件企業(yè)的項目組在開發(fā)一種大項目或產品時,首先在技術上必須選擇一種開發(fā)模型,使開發(fā)模型非常適合這個項目或產品的生存周期;隨即通過對生存周期的淘汰,來給出適合與本項目或產品的軟件生存周期定義。軟件的開發(fā)模型與軟件生存周期有關:不一樣的開發(fā)模型,也許對應著不一樣的生存周期。生存周期不一樣,該軟件的開發(fā)階段劃分、評審次數、基線原則均有所不一樣,甚至維護措施均有所區(qū)別。7、請闡明“三個模型”的定義,以及三者之間的關系。答:功能模型是描述系統能做什么,即對系統的功能、性能、接口和界面進行定義。業(yè)務模型是描述系統在何時、何地、由何角色、按什么業(yè)務規(guī)則去做,以及做的環(huán)節(jié)或流程,即對系統的操作流程進行定義。數據模型是描述系統工作前的數據來自何處,工作中的數據存什么地方,工作后的數據放到何處,以及這些數據之間的關聯,即對系統的數據構造進行定義。功能模型和業(yè)務模型是在需求分析時建模,是兩個基本點。數據模型是一種中心,在設計時建模。功能模型和業(yè)務模型給數據模型提供數據與維護數據,數據模型支持功能模型和業(yè)務模型的正常運行。8、需求分析的目的是什么?需求分析的難點在哪?答:軟件需求分析,其目的是用于闡明軟件產品或軟件項目需要滿足的條件和限制。在軟件工程項目中首先要獲取顧客的需求,通過對軟件需求的提取、分析、文檔化及驗證,為深入的設計和實現提供根據。需求分析的難點是:在系統的功能、性能和接口方面,開發(fā)者與客戶到達完全一致的需求,讓客戶最終簽字確認,并保證在項目驗收前,需求相對穩(wěn)定不變。萬一需求有一點變化,雙方必須履行“需求變更管理程序”,而變更管理程序在簽訂協議步已經做了規(guī)定。要懂得,協議是具有法律效力的。9.可行性研究匯報的重要內容有哪些?答:一種可行性研究匯報的重要內容如下:(1)引言:闡明編寫本文檔的目的;項目的名稱、背景;本文檔用到的專門術語和參照資料。(2)可行性研究前提:闡明開發(fā)項目的功能、性能和基本規(guī)定;到達的目的;多種限制條件;可行性研究措施和決定可行性的重要原因。(3)對既有系統的分析。(4)所提議系統的技術可行性分析。(5)所提議系統的經濟可行性分析。(6)社會原因可行性分析。(7)其他可供選擇方案。(8)結論意見。10.系統設計的內容是什么?答:系統設計階段先從高層入手,然后細化。系統設計要決定整個構造及風格,這種構造為背面設計階段的更詳細方略的設計提供了基礎。重要內容為:(1)系統分解。(2)確定并發(fā)性。(3)處理器及任務分派。(4)數據存儲管理。(5)全局資源的處理。(6)選擇軟件控制機制。(7)人機交互接口設計。11.什么是軟件危機?軟件危機的體現是什么?其產生的原因是什么?答:軟件開發(fā)技術的進步一直未能滿足發(fā)展的需要。在軟件開發(fā)中碰到的問題找不到處理措施,使問題積累起來,形成了鋒利的矛盾,因而導致了軟件危機。軟件危機表目前如下四個方面:(1)經費預算常常突破,完畢時間一再遲延。(2)開發(fā)的軟件不能滿足顧客規(guī)定。(3)開發(fā)的軟件可維護性差。(4)開發(fā)的軟件可靠性差。導致軟件危機的原因是:(1)軟件的規(guī)模越來越大,構造越來越復雜。(2)軟件開發(fā)管理困難而復雜。(3)軟件開發(fā)費用不停增長。(4)軟件開發(fā)技術落后。(5)生產方式落后。(6)開發(fā)工具落后,生產率提高緩慢。12.軟件質量保證應做好哪幾方面的工作?答:軟件質量保證是軟件工程管理的重要內容,軟件質量保證應做好如下幾方面的工作:(1)采用技術手段和工具。(2)組織正式技術評審。(3)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論