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

下載本文檔

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

文檔簡介

軟件工程復(fù)習(xí)題[1]?一、選擇題

1.軟件危機(jī)的主要表現(xiàn)是()A.軟件需求增長難以滿足B.軟件開發(fā)成本提高C.軟件質(zhì)量難以保證D.以上都是

答案:D

解析:軟件危機(jī)主要表現(xiàn)在軟件需求增長難以滿足,軟件開發(fā)成本提高,軟件質(zhì)量難以保證,軟件維護(hù)困難等方面。

2.軟件工程的三要素是()A.方法、工具和過程B.方法、工具和平臺C.方法、過程和平臺D.工具、過程和平臺

答案:A

解析:軟件工程的三要素包括方法、工具和過程。方法是完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)方法;工具是為運(yùn)用方法而提供的自動的或半自動的軟件工程支撐環(huán)境;過程是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架。

3.瀑布模型的主要特點(diǎn)是()A.階段間具有順序性和依賴性B.推遲實(shí)現(xiàn)C.嚴(yán)格的階段評審D.以上都是

答案:D

解析:瀑布模型的特點(diǎn)包括階段間具有順序性和依賴性,前一個階段完成后才開始后一個階段;推遲實(shí)現(xiàn),即嚴(yán)格按照線性順序進(jìn)行軟件開發(fā);嚴(yán)格的階段評審,以確保每個階段的成果符合要求。

4.快速原型模型的主要特點(diǎn)是()A.快速建立軟件原型B.及早向用戶展示軟件原型C.迭代修改軟件原型D.以上都是

答案:D

解析:快速原型模型快速建立軟件原型,及早向用戶展示,讓用戶對軟件有直觀認(rèn)識,然后根據(jù)用戶反饋迭代修改軟件原型。

5.軟件需求規(guī)格說明書的作用不包括()A.軟件設(shè)計的依據(jù)B.用戶與開發(fā)人員對軟件要做什么的共同理解C.軟件驗(yàn)收的依據(jù)D.軟件可行性研究的依據(jù)

答案:D

解析:軟件需求規(guī)格說明書是軟件設(shè)計的依據(jù),是用戶與開發(fā)人員對軟件要做什么的共同理解,也是軟件驗(yàn)收的依據(jù)。軟件可行性研究在需求規(guī)格說明書之前進(jìn)行。

6.以下不屬于結(jié)構(gòu)化分析方法的是()A.數(shù)據(jù)流圖B.數(shù)據(jù)字典C.判定表D.程序流程圖

答案:D

解析:結(jié)構(gòu)化分析方法包括數(shù)據(jù)流圖、數(shù)據(jù)字典、判定表等,程序流程圖不屬于結(jié)構(gòu)化分析方法。

7.軟件總體設(shè)計階段的主要任務(wù)是()A.確定軟件的總體結(jié)構(gòu)B.進(jìn)行詳細(xì)的算法設(shè)計C.確定每個模塊的具體實(shí)現(xiàn)細(xì)節(jié)D.進(jìn)行軟件測試計劃的制定

答案:A

解析:軟件總體設(shè)計階段主要任務(wù)是確定軟件的總體結(jié)構(gòu),包括模塊劃分、模塊之間的接口等。詳細(xì)算法設(shè)計和確定模塊具體實(shí)現(xiàn)細(xì)節(jié)是詳細(xì)設(shè)計階段的任務(wù),軟件測試計劃制定是測試階段的任務(wù)。

8.模塊獨(dú)立性的兩個定性標(biāo)準(zhǔn)是()A.耦合性和內(nèi)聚性B.數(shù)據(jù)獨(dú)立性和程序獨(dú)立性C.功能獨(dú)立性和數(shù)據(jù)獨(dú)立性D.模塊大小和模塊復(fù)雜度

答案:A

解析:耦合性和內(nèi)聚性是衡量模塊獨(dú)立性的兩個定性標(biāo)準(zhǔn)。耦合性反映模塊之間的依賴程度,內(nèi)聚性反映模塊內(nèi)部的緊密程度。

9.以下哪種耦合度最高()A.數(shù)據(jù)耦合B.控制耦合C.公共耦合D.內(nèi)容耦合

答案:D

解析:內(nèi)容耦合是最高程度的耦合,一個模塊直接訪問另一個模塊的內(nèi)部數(shù)據(jù)或代碼,會嚴(yán)重影響模塊獨(dú)立性和軟件的可維護(hù)性。

10.以下哪種內(nèi)聚性最強(qiáng)()A.偶然內(nèi)聚B.邏輯內(nèi)聚C.功能內(nèi)聚D.過程內(nèi)聚

答案:C

解析:功能內(nèi)聚性最強(qiáng),模塊內(nèi)所有元素共同完成一個功能,聯(lián)系緊密且集中。

11.詳細(xì)設(shè)計階段的主要任務(wù)是()A.確定每個模塊的算法和數(shù)據(jù)結(jié)構(gòu)B.進(jìn)行數(shù)據(jù)庫設(shè)計C.確定軟件的總體結(jié)構(gòu)D.編寫軟件測試用例

答案:A

解析:詳細(xì)設(shè)計階段主要確定每個模塊的算法和數(shù)據(jù)結(jié)構(gòu),為編碼提供具體的指導(dǎo)。

12.程序流程圖中的菱形框表示()A.輸入輸出B.處理C.判斷D.開始或結(jié)束

答案:C

解析:程序流程圖中菱形框表示判斷。

13.軟件測試的目的是()A.發(fā)現(xiàn)軟件中的錯誤B.證明軟件是正確的C.評估軟件的質(zhì)量D.改進(jìn)軟件的性能

答案:A

解析:軟件測試的目的是發(fā)現(xiàn)軟件中的錯誤,而不是證明軟件正確。通過測試發(fā)現(xiàn)錯誤后進(jìn)行修復(fù),從而提高軟件質(zhì)量。

14.黑盒測試方法不包括()A.等價類劃分B.邊界值分析C.基本路徑測試D.決策表測試

答案:C

解析:基本路徑測試屬于白盒測試方法,等價類劃分、邊界值分析、決策表測試屬于黑盒測試方法。

15.以下屬于白盒測試方法的是()A.語句覆蓋B.等價類劃分C.邊界值分析D.因果圖

答案:A

解析:語句覆蓋是白盒測試方法,通過設(shè)計測試用例使程序中的每條可執(zhí)行語句至少執(zhí)行一次。

二、填空題

1.軟件是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括()、()及()的完整集合。

答案:程序、數(shù)據(jù)、相關(guān)文檔

解析:軟件包含程序,用于實(shí)現(xiàn)特定功能;數(shù)據(jù)是程序操作的對象;相關(guān)文檔則對軟件進(jìn)行說明、使用和維護(hù)等提供支持。

2.軟件工程是指導(dǎo)計算機(jī)軟件開發(fā)和()的一門工程學(xué)科。

答案:維護(hù)

解析:軟件工程不僅關(guān)注軟件開發(fā)過程,還包括軟件的維護(hù),確保軟件在其生命周期內(nèi)持續(xù)穩(wěn)定運(yùn)行。

3.瀑布模型將軟件生命周期劃分為()、()、()、()、()、()六個階段。

答案:問題定義、可行性研究、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼和單元測試、綜合測試

解析:瀑布模型嚴(yán)格按照線性順序依次進(jìn)行這些階段,每個階段都有明確的輸入和輸出,前一個階段完成后進(jìn)入下一個階段。

4.需求分析階段的基本任務(wù)是準(zhǔn)確地定義新系統(tǒng)的目標(biāo),回答()的問題。

答案:系統(tǒng)必須做什么

解析:需求分析就是要明確軟件系統(tǒng)需要具備哪些功能,以滿足用戶的需求,即回答系統(tǒng)必須做什么的問題。

5.數(shù)據(jù)流圖的基本符號包括()、()、()和()。

答案:數(shù)據(jù)流、加工、數(shù)據(jù)存儲、數(shù)據(jù)源點(diǎn)或終點(diǎn)

解析:數(shù)據(jù)流表示數(shù)據(jù)的流動方向;加工對數(shù)據(jù)進(jìn)行處理;數(shù)據(jù)存儲用于保存數(shù)據(jù);數(shù)據(jù)源點(diǎn)或終點(diǎn)是數(shù)據(jù)的來源或去向。

6.數(shù)據(jù)字典是對數(shù)據(jù)流圖中出現(xiàn)的每個()、()和()作出的詳細(xì)定義。

答案:數(shù)據(jù)流、數(shù)據(jù)存儲、加工

解析:數(shù)據(jù)字典為數(shù)據(jù)流圖中的這些元素提供詳細(xì)的信息,包括其含義、組成等,幫助理解和準(zhǔn)確描述系統(tǒng)。

7.軟件總體設(shè)計階段的主要任務(wù)是確定軟件的(),進(jìn)行模塊劃分,確定每個模塊的功能、接口及()。

答案:總體結(jié)構(gòu)、模塊之間的調(diào)用關(guān)系

解析:通過總體設(shè)計確定軟件的整體架構(gòu),劃分模塊并明確模塊間的調(diào)用關(guān)系,為后續(xù)詳細(xì)設(shè)計和編碼奠定基礎(chǔ)。

8.模塊的內(nèi)聚性按強(qiáng)度從低到高可分為()、()、()、()、()、()、()。

答案:偶然內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚、過程內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚、功能內(nèi)聚

解析:這是按照模塊內(nèi)部元素的關(guān)聯(lián)緊密程度進(jìn)行的分類,功能內(nèi)聚最為理想,模塊獨(dú)立性最強(qiáng)。

9.耦合性按強(qiáng)度從低到高可分為()、()、()、()、()、()。

答案:無直接耦合、數(shù)據(jù)耦合、標(biāo)記耦合、控制耦合、外部耦合、公共耦合、內(nèi)容耦合

解析:耦合性越低,模塊獨(dú)立性越強(qiáng),軟件的可維護(hù)性和可擴(kuò)展性越好。

10.詳細(xì)設(shè)計階段的工具主要有()、()、()等。

答案:程序流程圖、NS圖、PAD圖

解析:這些工具用于詳細(xì)描述模塊的算法和數(shù)據(jù)結(jié)構(gòu),幫助程序員更好地進(jìn)行編碼。

11.軟件測試過程一般可劃分為()、()、()和()四個階段。

答案:單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試

解析:單元測試針對單個模塊進(jìn)行測試;集成測試測試模塊之間的接口和集成情況;確認(rèn)測試驗(yàn)證軟件是否滿足需求規(guī)格說明書;系統(tǒng)測試在整個系統(tǒng)環(huán)境下進(jìn)行測試。

12.黑盒測試方法包括()、()、()、()等。

答案:等價類劃分、邊界值分析、決策表測試、因果圖測試

解析:這些方法基于軟件的功能需求進(jìn)行測試用例設(shè)計,不考慮軟件內(nèi)部結(jié)構(gòu)。

13.白盒測試方法包括()、()、()等。

答案:語句覆蓋、判定覆蓋、條件覆蓋

解析:白盒測試依據(jù)軟件內(nèi)部結(jié)構(gòu)進(jìn)行測試,通過設(shè)計測試用例覆蓋程序中的語句、判定條件等。

14.軟件維護(hù)的類型有()、()、()和()。

答案:改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)

解析:改正性維護(hù)修復(fù)軟件中的錯誤;適應(yīng)性維護(hù)使軟件適應(yīng)環(huán)境變化;完善性維護(hù)增加軟件功能或改進(jìn)性能;預(yù)防性維護(hù)為防止軟件問題出現(xiàn)而進(jìn)行的維護(hù)。

15.軟件項(xiàng)目管理的主要內(nèi)容包括()、()、()、()、()等。

答案:項(xiàng)目計劃、項(xiàng)目組織、人員管理、質(zhì)量管理、風(fēng)險管理

解析:通過有效的項(xiàng)目管理,確保軟件項(xiàng)目按時、按質(zhì)量要求完成,控制成本和風(fēng)險。

三、簡答題

1.簡述軟件危機(jī)產(chǎn)生的原因。

答案:用戶需求不明確:在軟件開發(fā)過程中,用戶對軟件的功能和性能要求可能不清晰,導(dǎo)致開發(fā)人員與用戶之間的溝通不暢,從而影響軟件的開發(fā)。軟件規(guī)模越來越大:隨著軟件應(yīng)用范圍的擴(kuò)大,軟件規(guī)模不斷增大,使得軟件開發(fā)過程變得更加復(fù)雜,難以管理和控制。軟件復(fù)雜度高:現(xiàn)代軟件往往涉及到多個領(lǐng)域的知識,功能復(fù)雜,算法和數(shù)據(jù)結(jié)構(gòu)也較為復(fù)雜,增加了軟件開發(fā)的難度。缺乏有效的軟件開發(fā)方法和工具:傳統(tǒng)的軟件開發(fā)方法和工具在面對大規(guī)模、復(fù)雜的軟件項(xiàng)目時顯得力不從心,無法保證軟件的質(zhì)量和開發(fā)效率。軟件開發(fā)人員與用戶之間的交流存在障礙:雙方在專業(yè)背景、知識結(jié)構(gòu)等方面存在差異,導(dǎo)致交流困難,容易產(chǎn)生誤解,影響軟件的需求理解和實(shí)現(xiàn)。軟件維護(hù)困難:軟件交付后,由于各種原因需要進(jìn)行維護(hù),但維護(hù)工作往往缺乏有效的計劃和方法,導(dǎo)致維護(hù)成本高、難度大。

2.簡述軟件工程的基本原則。

答案:選取適宜的開發(fā)模型:根據(jù)項(xiàng)目的特點(diǎn)和需求,選擇合適的軟件開發(fā)模型,如瀑布模型、快速原型模型等,以確保項(xiàng)目順利進(jìn)行。采用合適的設(shè)計方法:運(yùn)用結(jié)構(gòu)化設(shè)計、面向?qū)ο笤O(shè)計等方法,提高軟件的可維護(hù)性和可擴(kuò)展性。提供高質(zhì)量的工程支持:包括使用先進(jìn)的軟件開發(fā)工具、建立良好的開發(fā)環(huán)境等,提高開發(fā)效率和軟件質(zhì)量。重視開發(fā)過程的管理:對軟件開發(fā)的各個階段進(jìn)行有效的管理,包括計劃、組織、協(xié)調(diào)和控制等,確保項(xiàng)目按時、按質(zhì)量要求完成。明確軟件質(zhì)量目標(biāo):在軟件開發(fā)過程中,明確軟件的質(zhì)量標(biāo)準(zhǔn)和目標(biāo),并采取相應(yīng)的措施來保證軟件質(zhì)量。強(qiáng)調(diào)軟件復(fù)用:通過復(fù)用已有的軟件構(gòu)件或模塊,減少軟件開發(fā)的工作量,提高軟件的開發(fā)效率和質(zhì)量。關(guān)注用戶需求:始終以用戶需求為導(dǎo)向,確保軟件能夠滿足用戶的實(shí)際需求,提高用戶滿意度。

3.簡述需求分析的任務(wù)。

答案:確定軟件系統(tǒng)的綜合要求:包括功能需求、性能需求、可靠性需求、安全性需求、界面需求等,明確軟件系統(tǒng)需要做什么。分析軟件系統(tǒng)的數(shù)據(jù)要求:確定系統(tǒng)所處理的數(shù)據(jù)及其之間的關(guān)系,包括數(shù)據(jù)的類型、格式、數(shù)量等,為數(shù)據(jù)庫設(shè)計提供依據(jù)。導(dǎo)出系統(tǒng)的邏輯模型:通過對用戶需求的分析和抽象,建立軟件系統(tǒng)的邏輯模型,如數(shù)據(jù)流圖、數(shù)據(jù)字典等,描述系統(tǒng)的功能和數(shù)據(jù)流程。修正系統(tǒng)開發(fā)計劃:根據(jù)需求分析的結(jié)果,對軟件開發(fā)計劃進(jìn)行修正,調(diào)整項(xiàng)目的進(jìn)度、資源分配等,確保項(xiàng)目能夠順利進(jìn)行。編寫軟件需求規(guī)格說明書:將需求分析的結(jié)果以文檔的形式記錄下來,形成軟件需求規(guī)格說明書,作為軟件開發(fā)的依據(jù)和驗(yàn)收標(biāo)準(zhǔn)。

4.簡述總體設(shè)計的任務(wù)和步驟。

答案:任務(wù):確定軟件的總體結(jié)構(gòu):包括模塊劃分、模塊之間的層次結(jié)構(gòu)和調(diào)用關(guān)系等,將軟件系統(tǒng)劃分為若干個功能模塊,每個模塊完成特定的功能。進(jìn)行模塊的功能設(shè)計:確定每個模塊的功能,明確模塊的輸入、輸出和處理邏輯,為詳細(xì)設(shè)計提供基礎(chǔ)。確定模塊之間的接口:定義模塊之間的通信方式和數(shù)據(jù)傳遞格式,確保模塊之間能夠正確地交互。評估軟件結(jié)構(gòu)的質(zhì)量:對軟件結(jié)構(gòu)的合理性、模塊獨(dú)立性等進(jìn)行評估,優(yōu)化軟件結(jié)構(gòu),提高軟件的可維護(hù)性和可擴(kuò)展性。步驟:設(shè)想可能的軟件結(jié)構(gòu):根據(jù)軟件的功能需求和性能要求,設(shè)想出多種可能的軟件結(jié)構(gòu)方案。選取合理的軟件結(jié)構(gòu):從設(shè)想的方案中選取一種較為合理的軟件結(jié)構(gòu),考慮因素包括模塊獨(dú)立性、可維護(hù)性、可擴(kuò)展性等。進(jìn)行模塊劃分:將軟件系統(tǒng)按照功能劃分為若干個模塊,每個模塊具有相對獨(dú)立的功能。確定模塊之間的調(diào)用關(guān)系:明確模塊之間的調(diào)用順序和方式,形成軟件的層次結(jié)構(gòu)。定義模塊的接口:確定模塊之間傳遞的數(shù)據(jù)和控制信息,設(shè)計接口的規(guī)格說明。對軟件結(jié)構(gòu)進(jìn)行優(yōu)化:檢查軟件結(jié)構(gòu)是否滿足設(shè)計要求,對不合理的地方進(jìn)行調(diào)整和優(yōu)化。

5.簡述詳細(xì)設(shè)計的任務(wù)和工具。

答案:任務(wù):為每個模塊確定實(shí)現(xiàn)算法和數(shù)據(jù)結(jié)構(gòu):根據(jù)總體設(shè)計的要求,為每個模塊設(shè)計具體的實(shí)現(xiàn)算法和數(shù)據(jù)結(jié)構(gòu),確保模塊功能的實(shí)現(xiàn)。確定模塊內(nèi)部的局部數(shù)據(jù)結(jié)構(gòu):定義模塊內(nèi)部使用的局部變量、數(shù)組、記錄等數(shù)據(jù)結(jié)構(gòu),以及它們的作用域和生存期。設(shè)計模塊的接口細(xì)節(jié):包括模塊的輸入?yún)?shù)、輸出參數(shù)、返回值等,確保模塊之間能夠正確地交互。編寫詳細(xì)設(shè)計說明書:將詳細(xì)設(shè)計的結(jié)果以文檔的形式記錄下來,形成詳細(xì)設(shè)計說明書,作為編碼的依據(jù)。進(jìn)行必要的算法和數(shù)據(jù)結(jié)構(gòu)的優(yōu)化:對設(shè)計的算法和數(shù)據(jù)結(jié)構(gòu)進(jìn)行分析和優(yōu)化,提高模塊的性能和效率。工具:程序流程圖:用圖形符號表示程序的執(zhí)行流程,直觀地展示程序的邏輯結(jié)構(gòu)。NS圖:一種結(jié)構(gòu)化的程序流程圖,避免了程序流程圖中容易出現(xiàn)的隨意轉(zhuǎn)移控制的問題。PAD圖:一種用二維樹形結(jié)構(gòu)表示程序邏輯的圖形工具,具有清晰的層次結(jié)構(gòu)和良好的可讀性。判定表:用于描述復(fù)雜條件下的邏輯判斷和執(zhí)行動作,適用于具有多個條件和多個動作的情況。判定樹:以樹型結(jié)構(gòu)表示條件判斷和執(zhí)行動作,形

溫馨提示

  • 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

提交評論