軟件工程試題及參考答案_第1頁
軟件工程試題及參考答案_第2頁
軟件工程試題及參考答案_第3頁
軟件工程試題及參考答案_第4頁
軟件工程試題及參考答案_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

軟件工程試題及參考答案?一、單項選擇題(每題2分,共20分)1.軟件生命周期中花費費用最多的階段是()A.詳細設計B.軟件編碼C.軟件測試D.軟件維護答案:D解析:軟件維護階段是軟件生命周期中花費費用最多的階段,因為在軟件交付使用后,需要不斷進行維護以修正錯誤、改進性能、適應環境變化等。2.軟件可行性研究一般不考慮()A.是否有足夠的人員和相關技術來支持系統開發B.是否有足夠的工具和相關技術來支持系統開發C.待開發軟件是否有市場、經濟上是否合算D.待開發的軟件是否會有質量問題答案:D解析:可行性研究主要關注技術可行性、經濟可行性和操作可行性等方面,一般不考慮軟件未來的質量問題,質量問題是在開發過程中通過各種質量保證措施來保障的。3.下列選項中不屬于總體設計階段任務的是()A.確定軟件的功能需求B.確定軟件的總體結構C.確定模塊之間的接口D.設計數據庫的邏輯結構答案:A解析:確定軟件的功能需求是需求分析階段的任務,總體設計階段主要進行軟件總體結構設計、模塊劃分及接口設計等。4.詳細設計階段的任務是確定每個模塊的()A.功能B.調用關系C.算法和數據結構D.輸入輸出數據答案:C解析:詳細設計階段要為每個模塊確定具體的算法和數據結構,以實現模塊的功能。5.結構化程序設計主要強調的是()A.程序的規模B.程序的效率C.程序設計語言的先進性D.程序的易讀性答案:D解析:結構化程序設計強調程序的易讀性,通過采用自頂向下、逐步求精等方法,使程序結構清晰,易于理解和維護。6.軟件測試的目的是()A.證明軟件的正確性B.發現軟件中的錯誤C.排除軟件中的錯誤D.改善軟件的性能答案:B解析:軟件測試的目的是發現軟件中的錯誤,而不是證明軟件的正確性或排除所有錯誤,軟件測試可以幫助發現問題以便進行修復和改進。7.軟件調試的目的是()A.找出錯誤所在并改正之B.排除存在錯誤的可能性C.對錯誤性質進行分類D.統計出錯的次數答案:A解析:軟件調試的目的是找出軟件中的錯誤并改正,通過調試手段定位和解決問題。8.下列關于軟件質量保證的敘述中,不正確的是()A.質量保證活動應貫穿軟件開發的全過程B.質量保證活動的目的是盡量預防錯誤,防患于未然C.質量保證活動就是對軟件進行測試D.質量保證活動的主要任務是檢查和評審答案:C解析:軟件質量保證活動貫穿軟件開發全過程,目的是預防錯誤,主要任務是檢查和評審等,而軟件測試只是質量保證活動中的一部分,不能將質量保證等同于軟件測試。9.軟件維護工作的最主要部分是()A.校正性維護B.適應性維護C.完善性維護D.預防性維護答案:C解析:完善性維護是軟件維護工作中最主要的部分,它主要是為了改進軟件性能、增加功能等,以滿足用戶不斷變化的需求。10.面向對象方法中,對象是類的()A.實例B.抽象C.子類D.父類答案:A解析:在面向對象方法中,對象是類的實例,類是對象的抽象模板,通過類可以創建多個對象。二、填空題(每題2分,共20分)1.軟件工程三要素包括方法、工具和__________。答案:過程解析:軟件工程三要素是方法、工具和過程,方法用于指導軟件開發,工具輔助軟件開發,過程規定了軟件開發的步驟和流程。2.軟件生存周期可分為可行性研究、需求分析、__________、詳細設計、編碼、測試、維護等階段。答案:總體設計解析:軟件生存周期的階段包括可行性研究、需求分析、總體設計、詳細設計、編碼、測試、維護等,總體設計在需求分析之后,進一步確定軟件的總體結構。3.結構化分析方法的常用工具包括數據流圖、數據字典、__________等。答案:判定表和判定樹解析:結構化分析方法常用工具除了數據流圖和數據字典外,判定表和判定樹用于描述復雜的邏輯關系,幫助分析系統的功能需求。4.模塊獨立性的兩個定性度量標準是耦合性和__________。答案:內聚性解析:模塊獨立性通過耦合性和內聚性來衡量,耦合性描述模塊之間的聯系緊密程度,內聚性描述模塊內部各元素之間的聯系緊密程度。5.程序流程圖中的菱形框表示__________。答案:判斷條件解析:程序流程圖中菱形框用于表示判斷條件,根據條件的成立與否決定程序的流向。6.黑盒測試又稱為功能測試,白盒測試又稱為__________。答案:結構測試解析:黑盒測試基于功能需求進行測試,不考慮內部結構;白盒測試基于內部結構進行測試,所以又稱為結構測試。7.軟件維護的內容包括校正性維護、適應性維護、__________和預防性維護。答案:完善性維護解析:軟件維護包含校正性維護、適應性維護、完善性維護和預防性維護,完善性維護是最主要的維護類型。8.面向對象分析的主要任務是建立系統的__________模型、動態模型和功能模型。答案:對象解析:面向對象分析主要建立系統的對象模型、動態模型和功能模型,對象模型描述系統中的對象及關系,動態模型描述系統的動態行為,功能模型描述系統的功能。9.在面向對象方法中,類之間共享屬性和操作的機制稱為__________。答案:繼承解析:繼承是面向對象方法中類之間共享屬性和操作的機制,通過繼承可以實現代碼復用和層次結構的構建。10.軟件項目管理的主要內容包括人員管理、__________、成本管理、質量管理、風險管理等。答案:進度管理解析:軟件項目管理主要內容涵蓋人員管理、進度管理、成本管理、質量管理、風險管理等,進度管理對于確保項目按時交付至關重要。三、簡答題(每題10分,共30分)1.簡述軟件危機產生的原因。答案:軟件危機產生的原因主要有以下幾點:軟件自身特點:軟件是邏輯產品,缺乏可見性,難以準確把握其質量和進度。軟件的規模和復雜度不斷增加,開發難度增大。軟件開發和維護方法不當:缺乏科學的軟件開發方法和工具,開發過程隨意性大。對軟件維護的重視不夠,維護成本高且效果不佳。人員因素:軟件開發人員對用戶需求理解不準確,導致開發出的軟件不符合用戶期望。軟件開發團隊成員之間溝通不暢,協作困難,影響開發效率和質量。用戶需求變化:用戶需求在軟件開發過程中不斷變化,導致軟件需要頻繁修改,增加了開發難度和成本。2.什么是軟件測試?軟件測試的基本原則有哪些?答案:軟件測試是對軟件產品進行驗證和確認的過程,其目的是發現軟件中的錯誤。軟件測試的基本原則如下:盡早并不斷進行測試:測試應在軟件開發的早期階段介入,并貫穿整個開發過程,以便盡早發現和解決問題。全面測試:要對軟件的所有功能、性能、接口等方面進行全面測試,確保軟件質量。重點測試:對關鍵功能、容易出錯的部分等進行重點測試,提高測試效率。避免測試自己的代碼:開發人員應避免測試自己編寫的代碼,以減少主觀因素的影響,發現更多潛在問題。及時反饋測試結果:測試人員應及時將測試中發現的問題反饋給開發人員,以便及時進行修復。妥善保存測試文檔:測試過程中產生的文檔如測試計劃、測試用例、測試報告等應妥善保存,以便后續參考和維護。3.簡述面向對象方法的優點。答案:面向對象方法具有以下優點:提高軟件的可維護性:采用封裝技術,將數據和操作封裝在一起,使得代碼結構清晰,易于維護。繼承機制便于代碼復用和擴展,當需求變化時,只需在子類中進行修改,而不影響父類和其他相關類,降低了維護成本。提高軟件的可擴展性:通過繼承可以方便地創建新的類,擴展系統功能。多態性使得同一操作可以作用于不同類型的對象,為軟件的擴展提供了靈活性。提高軟件的可復用性:類庫和組件的存在使得開發過程中可以復用已有的代碼,減少重復開發。面向對象的設計原則鼓勵代碼的復用,提高了軟件的開發效率。更好地反映問題域:面向對象方法以對象為核心,能夠更自然地模擬現實世界中的事物和關系,使軟件系統更符合用戶需求和實際應用場景。增強軟件的可靠性:封裝和信息隱藏機制減少了外界對內部數據的干擾,提高了軟件的穩定性和可靠性。嚴格的面向對象設計和開發過程有助于發現和避免潛在的錯誤,提高軟件質量。四、綜合應用題(每題15分,共30分)1.某高校要開發一個學生成績管理系統,該系統應具備以下功能:錄入學生的基本信息(包括學號、姓名、性別、年齡等)。錄入學生的課程成績(包括課程號、課程名、成績等)。計算學生的平均成績。查詢學生的成績信息(可以按學號、課程號等條件查詢)。統計各課程的平均分。請用結構化分析方法畫出該系統的數據流圖。答案:學生成績管理系統的數據流圖如下:頂層數據流圖:```++|學生成績||管理系統|++||++++|錄入||查詢||信息||成績|++++||||||++++|計算||統計||平均||課程||成績||平均|++++```第一層數據流圖:```++|學生成績||管理系統|++||++++|錄入||查詢||信息||成績|++++||||||++++|計算||統計||平均||課程||成績||平均|++++||||||++++|學生基本||課程號||信息|||++++||||||++++|課程成||課程平||績||均分|++++```說明:頂層數據流圖描述了系統的總體功能和數據流向。第一層數據流圖進一步細化了各個功能模塊及其輸入輸出數據流。"錄入信息"模塊接收學生基本信息和課程成績信息。"計算平均成績"模塊根據錄入的課程成績計算學生平均成績。"查詢成績"模塊根據輸入的條件查詢學生成績信息。"統計課程平均分"模塊統計各課程的平均分。2.假設一個簡單的圖形系統,包含圓形、矩形和三角形三種圖形。請用面向對象方法設計該圖形系統,要求包括圖形類的層次結構、各圖形類的屬性和方法。答案:圖形系統的面向對象設計如下:圖形類的層次結構:```Shape/|\CircleRectangleTriangle```Shape類:```javaabstractclassShape{privateStringcolor;publicShape(Stringcolor){this.color=color;}publicStringgetColor(){returncolor;}publicabstractdoublearea();}```Circle類:```javaclassCircleextendsShape{privatedoubleradius;publicCircle(Stringcolor,doubleradius){super(color);this.radius=radius;}@Overridepublicdoublearea(){returnMath.PI*radius*radius;}}```Rectangle類:```javaclassRectangleextendsShape{privatedoublelength;privatedoublewidth;publicRectangle(Stringcolor,doublelength,doublewidth){super(color);this.length=length;this.width=width;}@Overridepublicdoublearea(){returnlength*width;}}```Triangle類:```javaclassTriangleextendsShape{privatedoublebase;privatedoubleheight;publicTriangle(Stringcolor,doublebase,doubleheight){super(color);this.base=base;this.height=height;}@Overridepublicdoublearea(){

溫馨提示

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

評論

0/150

提交評論