南通大學(xué)軟件工程復(fù)習(xí)題選擇題1_第1頁
南通大學(xué)軟件工程復(fù)習(xí)題選擇題1_第2頁
南通大學(xué)軟件工程復(fù)習(xí)題選擇題1_第3頁
南通大學(xué)軟件工程復(fù)習(xí)題選擇題1_第4頁
南通大學(xué)軟件工程復(fù)習(xí)題選擇題1_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

南通大學(xué)軟件工程復(fù)習(xí)題選擇題1?一、單項選擇題

(一)軟件相關(guān)基本概念1.以下關(guān)于軟件的描述,正確的是()A.軟件就是程序B.軟件是程序和數(shù)據(jù)的集合C.軟件是程序、數(shù)據(jù)及相關(guān)文檔的集合D.軟件是可執(zhí)行的程序代碼答案:C解析:軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。程序是按照事先設(shè)計的功能和性能要求執(zhí)行的指令序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā)、維護和使用有關(guān)的圖文資料。A選項只強調(diào)了程序,不全面;B選項缺少文檔;D選項也不完整,所以正確答案是C。

2.軟件危機的主要表現(xiàn)不包括()A.軟件需求增長難以滿足B.軟件開發(fā)成本過高C.軟件質(zhì)量難以保證D.軟件更新?lián)Q代太快答案:D解析:軟件危機主要表現(xiàn)在以下幾個方面:軟件需求的增長得不到滿足;軟件開發(fā)成本和進度無法控制;軟件質(zhì)量難以保證;軟件不可維護或維護程度非常低;軟件的成本不斷提高;軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長。軟件更新?lián)Q代快并不是軟件危機的表現(xiàn),相反,隨著技術(shù)發(fā)展軟件需要不斷更新完善以適應(yīng)新需求,所以答案是D。

3.軟件工程的目的是()A.開發(fā)出功能強大的軟件B.開發(fā)出高質(zhì)量的軟件C.開發(fā)出易于維護的軟件D.用工程化的方法開發(fā)和維護軟件答案:D解析:軟件工程是應(yīng)用于計算機軟件的定義、開發(fā)和維護的一整套方法、工具、文檔、實踐標(biāo)準(zhǔn)和工序。它的目的是用工程化的方法開發(fā)和維護軟件,涵蓋了從軟件定義到維護的整個過程,不僅僅是關(guān)注軟件本身的功能、質(zhì)量或可維護性等單一方面,所以答案是D。

(二)軟件生命周期1.軟件生命周期中花費時間最多的階段是()A.詳細(xì)設(shè)計B.軟件編碼C.軟件測試D.軟件維護答案:D解析:軟件維護是軟件生命周期中持續(xù)時間最長的階段。軟件在交付使用后,由于各種原因,如用戶需求變化、環(huán)境變化、軟件發(fā)現(xiàn)缺陷等,需要不斷進行維護,以保證軟件的正常運行和滿足用戶新的需求。詳細(xì)設(shè)計、軟件編碼和軟件測試階段在整個軟件生命周期中所占時間相對較短,所以答案是D。

2.軟件生命周期的瀑布模型,典型地刻畫了軟件生命周期的階段劃分,它將軟件生命周期劃分為()A.可行性研究、需求分析、設(shè)計、編碼、測試、維護等階段B.計劃、需求分析、設(shè)計、編程、測試、運行維護等階段C.需求調(diào)研、設(shè)計、編碼、測試、維護等階段D.計劃、需求分析、編程、測試、維護等階段答案:B解析:瀑布模型將軟件生命周期劃分為計劃、需求分析、設(shè)計、編程、測試、運行維護等階段。每個階段都有明確的輸入和輸出,前一個階段完成后才進入下一個階段,如同瀑布流水一樣。可行性研究包含在計劃階段中,需求調(diào)研也屬于需求分析階段的一部分,所以更準(zhǔn)確的是B選項。

3.軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()A.概要設(shè)計B.詳細(xì)設(shè)計C.可行性研究D.需求分析答案:D解析:需求分析是軟件定義時期的最后一個階段,它的基本任務(wù)是準(zhǔn)確地回答"系統(tǒng)必須做什么"這個問題,也就是確定軟件系統(tǒng)的功能、性能、數(shù)據(jù)、界面等方面的要求。概要設(shè)計主要是設(shè)計軟件的總體結(jié)構(gòu);詳細(xì)設(shè)計是對概要設(shè)計的進一步細(xì)化;可行性研究是確定項目是否值得開發(fā),所以答案是D。

(三)軟件開發(fā)方法1.結(jié)構(gòu)化程序設(shè)計主要強調(diào)的是()A.程序的規(guī)模B.程序的效率C.程序設(shè)計語言的先進性D.程序的易讀性答案:D解析:結(jié)構(gòu)化程序設(shè)計強調(diào)程序設(shè)計語言的易讀性。它采用自頂向下、逐步求精的設(shè)計方法和單入口單出口的控制結(jié)構(gòu),使得程序結(jié)構(gòu)清晰,易于理解和維護,而不是主要關(guān)注程序的規(guī)模、效率或語言的先進性,所以答案是D。

2.面向?qū)ο蠓椒ㄖ校瑢ο笫穷惖膶嵗?,對象具有以下特性()A.封裝性、繼承性、多態(tài)性B.封裝性、模塊化、多態(tài)性C.抽象性、繼承性、模塊化D.抽象性、封裝性、模塊化答案:A解析:面向?qū)ο蠓椒ㄖ袑ο缶哂蟹庋b性、繼承性和多態(tài)性。封裝是將數(shù)據(jù)和操作數(shù)據(jù)的方法封裝在一起;繼承是子類繼承父類的屬性和方法;多態(tài)是指同一個操作作用于不同的對象可以有不同的解釋,產(chǎn)生不同的執(zhí)行結(jié)果。模塊化不屬于對象的特性,抽象性是面向?qū)ο蠓椒ǖ囊粋€重要概念,但不是對象本身的特性,所以答案是A。

3.以下不屬于面向?qū)ο笤O(shè)計原則的是()A.單一職責(zé)原則B.開閉原則C.依賴倒置原則D.過程調(diào)用原則答案:D解析:面向?qū)ο笤O(shè)計原則包括單一職責(zé)原則、開閉原則、依賴倒置原則、里氏替換原則、接口隔離原則、合成復(fù)用原則等。過程調(diào)用原則不屬于面向?qū)ο笤O(shè)計原則,所以答案是D。

(四)軟件需求分析1.軟件需求規(guī)格說明書的作用不包括()A.軟件設(shè)計的依據(jù)B.用戶與開發(fā)人員對軟件要做什么的共同理解C.軟件驗收的依據(jù)D.軟件可行性研究的依據(jù)答案:D解析:軟件需求規(guī)格說明書是需求分析階段的最后成果,它是軟件設(shè)計的依據(jù),明確了用戶與開發(fā)人員對軟件要做什么的共同理解,也是軟件驗收的依據(jù)。軟件可行性研究是在需求分析之前進行的,主要是確定項目是否可行,所以軟件需求規(guī)格說明書不是軟件可行性研究的依據(jù),答案是D。

2.在需求分析中,描述系統(tǒng)功能的工具不包括()A.數(shù)據(jù)流圖B.數(shù)據(jù)字典C.狀態(tài)轉(zhuǎn)換圖D.程序流程圖答案:D解析:數(shù)據(jù)流圖用于描述系統(tǒng)中數(shù)據(jù)的流動和處理過程;數(shù)據(jù)字典對數(shù)據(jù)流圖中出現(xiàn)的所有數(shù)據(jù)元素給出定義;狀態(tài)轉(zhuǎn)換圖用于描述系統(tǒng)的狀態(tài)變化。程序流程圖是用于描述程序邏輯結(jié)構(gòu)的工具,不屬于需求分析中描述系統(tǒng)功能的工具,所以答案是D。

3.需求分析階段的任務(wù)是確定()A.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件系統(tǒng)的功能D.軟件系統(tǒng)的性能答案:C解析:需求分析階段的主要任務(wù)是確定軟件系統(tǒng)的功能,明確系統(tǒng)要做什么,包括功能需求、性能需求、數(shù)據(jù)需求、界面需求等。軟件開發(fā)方法和工具是在后續(xù)的設(shè)計和開發(fā)階段考慮的;軟件系統(tǒng)的性能是需求分析中需要考慮的一部分,但更核心的是確定功能,所以答案是C。

(五)軟件設(shè)計1.軟件設(shè)計中劃分模塊的一個準(zhǔn)則是()A.低內(nèi)聚低耦合B.高內(nèi)聚低耦合C.低內(nèi)聚高耦合D.高內(nèi)聚高耦合答案:B解析:高內(nèi)聚低耦合是軟件設(shè)計中劃分模塊的重要準(zhǔn)則。高內(nèi)聚意味著模塊內(nèi)部各元素之間聯(lián)系緊密,完成單一的功能;低耦合表示模塊之間的聯(lián)系松散,相互依賴程度低。這樣的模塊結(jié)構(gòu)有利于軟件的維護和擴展,所以答案是B。

2.軟件概要設(shè)計階段的主要任務(wù)不包括()A.軟件結(jié)構(gòu)設(shè)計B.數(shù)據(jù)庫設(shè)計C.算法設(shè)計D.用戶界面設(shè)計答案:C解析:軟件概要設(shè)計階段的主要任務(wù)包括軟件結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫設(shè)計、用戶界面設(shè)計等,確定軟件的總體框架和各部分之間的關(guān)系。算法設(shè)計是詳細(xì)設(shè)計階段的任務(wù),所以答案是C。

3.以下關(guān)于軟件設(shè)計模式的描述,錯誤的是()A.設(shè)計模式可以提高軟件的可維護性和可擴展性B.常見的設(shè)計模式有創(chuàng)建型、結(jié)構(gòu)型和行為型C.設(shè)計模式是一種復(fù)用設(shè)計經(jīng)驗的方法D.設(shè)計模式只適用于面向?qū)ο缶幊檀鸢福篋解析:設(shè)計模式可以提高軟件的可維護性和可擴展性,是一種復(fù)用設(shè)計經(jīng)驗的方法。常見的設(shè)計模式分為創(chuàng)建型、結(jié)構(gòu)型和行為型。設(shè)計模式不僅適用于面向?qū)ο缶幊?,在其他編程范式中也有類似的概念和?yīng)用,所以答案是D。

(六)軟件編碼1.以下編程語言中,屬于面向?qū)ο缶幊陶Z言的是()A.C語言B.JavaC.FortranD.Pascal答案:B解析:Java是一種面向?qū)ο缶幊陶Z言,具有封裝、繼承、多態(tài)等面向?qū)ο蟮奶匦浴語言是結(jié)構(gòu)化編程語言;Fortran主要用于科學(xué)計算,是一種傳統(tǒng)的編程語言;Pascal也是結(jié)構(gòu)化編程語言,所以答案是B。

2.程序設(shè)計語言的選擇不需要考慮的因素是()A.項目的應(yīng)用領(lǐng)域B.算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性C.程序員的編程習(xí)慣D.程序的開發(fā)成本答案:D解析:選擇程序設(shè)計語言時需要考慮項目的應(yīng)用領(lǐng)域,不同領(lǐng)域可能有更適合的語言;算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性也會影響語言的選擇;程序員的編程習(xí)慣也很重要,熟悉的語言能提高開發(fā)效率。程序的開發(fā)成本不是選擇語言時首要考慮的因素,雖然可能會在一定程度上受到影響,但不是關(guān)鍵因素,所以答案是D。

3.代碼審查屬于軟件編碼階段的()A.前期準(zhǔn)備工作B.過程質(zhì)量控制C.后期完善工作D.測試工作答案:B解析:代碼審查是對代碼進行檢查和評審,發(fā)現(xiàn)其中的錯誤和問題,屬于軟件編碼階段的過程質(zhì)量控制手段,能及時發(fā)現(xiàn)編碼過程中的缺陷,提高代碼質(zhì)量,而不是前期準(zhǔn)備、后期完善或測試工作,所以答案是B。

(七)軟件測試1.軟件測試的目的是()A.發(fā)現(xiàn)軟件中的錯誤B.證明軟件的正確性C.評估軟件的性能D.改進軟件的質(zhì)量答案:A解析:軟件測試的目的是發(fā)現(xiàn)軟件中的錯誤,而不是證明軟件的正確性。雖然通過測試可以評估軟件的性能等方面,但發(fā)現(xiàn)錯誤是最主要的目的。改進軟件質(zhì)量是軟件測試后的一個結(jié)果,而不是測試的直接目的,所以答案是A。

2.黑盒測試方法不包括()A.等價類劃分法B.邊界值分析法C.基本路徑測試法D.決策表法答案:C解析:等價類劃分法、邊界值分析法、決策表法都屬于黑盒測試方法,它們是基于軟件需求規(guī)格說明書,不考慮軟件內(nèi)部結(jié)構(gòu)。基本路徑測試法屬于白盒測試方法,需要考慮軟件的內(nèi)部邏輯結(jié)構(gòu),所以答案是C。

3.軟件測試過程中,集成測試的主要目的是()A.發(fā)現(xiàn)各模塊內(nèi)部的錯誤B.驗證軟件的功能是否滿足需求C.檢查各個模塊之間的接口是否正確D.評估軟件的可靠性答案:C解析:集成測試主要目的是檢查各個模塊之間的接口是否正確,把經(jīng)過單元測試的模塊組裝起來,測試模塊之間的協(xié)作和通信情況。發(fā)現(xiàn)各模塊內(nèi)部的錯誤是單元測試的任務(wù);驗證軟件功能是否滿足需求是系統(tǒng)測試的內(nèi)容;評估軟件可靠性不是集成測試的主要目的,所以答案是C。

(八)軟件維護1.軟件維護的類型不包括()A.改正性維護B.適應(yīng)性維護C.完善性維護D.預(yù)防性維護答案:D解析:軟件維護的類型包括改正性維護(改正軟件中存在的錯誤)、適應(yīng)性維護(使軟件適應(yīng)環(huán)境變化)、完善性維護(增加軟件功能、改進性能等)。預(yù)防性維護不屬于軟件維護的標(biāo)準(zhǔn)類型,所以答案是D。

2.軟件維護工作中,最主要的部分是()A.完善性維護B.適應(yīng)性維護C.改正性維護D.預(yù)防性維護答案:A解析:在軟件維護工作中,完善性維護占比最大,因為隨著用戶需求的變化和技術(shù)的發(fā)展,需要不斷增加軟件功能、改進性能等,以提升軟件的競爭力和用戶滿意度。適應(yīng)性維護和改正性維護也會經(jīng)常進行,但相對完善性維護來說占比小一些,預(yù)防性維護不是主要部分,所以答案是A。

3.軟件維護的困難主要原因不包括()A.讀懂別人的代碼困難B.文檔不完整C.開發(fā)方法的缺陷D.軟件維護的代價高答案:D解析:軟件維護困難的主要原因包括讀懂別人的代碼困難,因為代碼可能是由不同人編寫且缺乏清晰注釋;文檔不完整,導(dǎo)致維護人員難以全面了解軟件;開發(fā)方法的缺陷,如代碼結(jié)構(gòu)不合理等。軟件維護代價高是軟件維護困難帶來的結(jié)果,而不是原因,所以答案是D。

二、總結(jié)

溫馨提示

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

評論

0/150

提交評論