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

下載本文檔

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

文檔簡介

1、試卷(一) 一、單項選擇題 1、在結構化設計(SD)方法中全面指導模塊劃分的最重要的原則是( ) A、程序模塊化 B、模塊高內聚 C、模塊低耦合 D、模塊獨立性 2、軟件維護產生的副作用,是指( ) A、開發(fā)時的錯誤 B、隱含的錯誤 C、因修改軟件而造成的錯誤 D、運行時誤操作 3、軟件詳細設計的主要任務是確定每個模塊的( ) A、算法和使用的數據結構 B、外部接口 C、功能 D、編程 4、為了提高模塊的獨立性,模塊內部最好是( ) A、邏輯內聚 B、時間內聚 C、功能內聚 D、通信內聚 5、軟件是一種( ) A、程序 B、數據 C、邏輯產品 D、物理產品 6、因計算機硬件和軟件環(huán)境的變化而作

2、出的修改軟件的過程稱為( ) A、糾正性維護 B、適應性維護 C、完善性維護 D、預防性維護 7、只有單重繼承的類層次結構是( )層次結構。 A、網狀型 B、星型 C、樹型 D、環(huán)型 8、下列屬于維護階段的文檔是( ) A、軟件規(guī)格說明 B、用戶操作手冊 C、軟件問題報告 D、軟件測試分析報告 9、不適合作為科學工程計算的語言是( ) A、Pascal B、 C C、Fortran D、 Prolog 10、研究開發(fā)所需要的成本和資源是屬于可行性研究中的( )研究的一方面。 A. 技術可行性 B. 經濟可行性 C. 社會可行性 D. 法律可行性 11、中級結構性成本模型COCOMO是一個( )

3、 A、靜態(tài)單變量模型 B、動態(tài)單變量模型 C、靜態(tài)多變量模型 D、動態(tài)多變量模型 12、PAD圖為( )提供了有力的工具。 A、系統(tǒng)分析 B、軟件的自動化生成 C、自動分析數據 D、測試軟件 ( )方法不正確的說法是JSP、下列關于13 A、JSP方法主要用于規(guī)模不大的數據處理系統(tǒng) B、JSP方法不明確的劃分軟件概要設計和詳細設計的兩個階段 C、JSP方法適用于輸入數據和輸出數據之間有對應關系的問題求解 D、JSP方法根據輸入、輸出的數據結構,按一定的規(guī)則映射成軟件的體系結構。因此它只適用于詳細設計階段 14、在詳細設計階段,經常采用的工具有( ) A、PAD B、SA C、SC D、DFD

4、15、確認軟件的功能是否與需求規(guī)格說明書中所要求的功能相符的測試屬于( ) A、集成測試 B、恢復測試 C、驗收測試 D、單元測試 16、盒圖(N-S圖)為( )提供了有力的工具。 A、系統(tǒng)分析 B、軟件的自動化生成 C、自動分析數據 D、測試軟件 17、( )是比較理想的可重用軟構件。 A.子程序庫 B.源代碼包含文件 C.對象 D.類 18、需求分析階段的任務是確定( ) A、軟件開發(fā)方法 B、軟件開發(fā)工具 C、軟件開發(fā)費 D、軟件系統(tǒng)的功能 19、下列文檔與維護人員有關的有( ) A、軟件需求說明書 B、項目開發(fā)計劃 C、概要設計說明書 D、操作手冊 20、程序的三種基本控制結構是( )

5、 A、過程、子程序和分程序 B、順序、選擇和重復 C、遞歸、堆棧和隊列 D、調用、返回和轉移 21、軟件生存周期中時間最長的是( )階段。 A、總體設計 B、需求分析 C、軟件測試 D、軟件維護 22、為使得開發(fā)人員對軟件產品的各個階段工作都進行周密的思考,從而減少返工,所以( )的編制是很重要的。 A、需求說明 B、概要說明 C、軟件文檔 D、測試計劃 23、軟件部件的內部實現與外部可訪問性的分離,是指軟件的( )。 、抽象性 D、封裝性 C、共享性 B、繼承性A24、單元測試是發(fā)現編碼錯誤,集成測試是發(fā)現模塊的接口錯誤,確認測試是為了發(fā)現功能錯誤,那么系統(tǒng)測試是為了發(fā)現( )的錯誤。 A、

6、接口錯誤 B、編碼錯誤 C、性能、質量不合要求 D、功能錯誤 25、軟件工程管理對軟件項目的開發(fā)管理,即對整個軟件( )的一切活動的管理。 A、軟件項目 B、生存期 C、軟件開發(fā)計劃 D、軟件開發(fā) 二、名詞解釋 1、數據流圖 2、軟件維護 3、軟件測試 4、程序的可維護性 5、軟件生存周期 三、簡答題 1、簡述軟件結構設計的啟發(fā)式原則。 2、簡述結構化程序設計方法的基本要點 3、簡述需求分析的原則。 4、簡述軟件生命周期開發(fā)方法的基本過程及每個階段的任務。 四、論述題 1、你認為“軟件就是程序”這一個觀點正確嗎如果不正確,請批駁之。 2、試論軟件界面友好設計的重要性。 3、試述軟件開發(fā)工具對軟

7、件開發(fā)的影響。 五、應用設計題 1、某圖書出版公司希望每月定期向固定客戶郵寄最近一個月的圖書分類目錄。客戶可在其收到的目錄上圈定自己要買的書。出版公司按照客戶的反饋信息郵寄圖書。要求為出版公司設計軟件,以實現以下功能: (1)自動生成圖書分類目錄; )自動處理客戶反饋信息。2( 試用面向數據流的方法給出系統(tǒng)的數據流圖,并設計出軟件結構圖。 2、現為某銀行開發(fā)一個計算機儲蓄管理系統(tǒng)。要求系統(tǒng)能夠完成:將儲戶填寫的存款單或取款單輸入系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名、住址、存款類型、存款日期、利率等信息,同時要求儲戶輸入口令,并打印出存款單給儲戶;如果是取款,則系統(tǒng)首先要求儲戶輸入口令,儲戶身份

8、確認后,系統(tǒng)計算結算清單給儲戶,結算清單中的信息包括本息金額和利息金額。 試根據要求畫出該系統(tǒng)的數據流程圖。 試卷(二) 一、單項選擇題 1、瀑布模型本質上是一種( ) A、線性順序模型 B、順序迭代模型 C、線性迭代模型 D、及早見產品模型 2、使用程序設計的控制結構導出測試用例的測試方法是( ) A、黑盒測試 B、白盒測試 C、邊界測試 D、系統(tǒng)測試 3、軟件結構圖的形態(tài)特征能反映程序重用率的是( ) A、深度 B、寬度 C、扇入 D、扇出 4、軟件結構圖中,模塊框之間若有直線連接,表示它們之間存在( ) A、調用關系 B、組成關系 C、鏈接關系 D、順序執(zhí)行關系 5、需求分析最終結果是產

9、生( ) A、項目開發(fā)計劃 B、需求規(guī)格說明書 C、設計說明書 D、可行性分析報告 6、快速原型模型的主要特點之一是( ) A、開發(fā)完畢才見到產品 B、及早提供全部完整的軟件產品 D、及早提供工作軟件 C、開發(fā)完畢后才見到工作軟件 7、若有一個計算類型的程序,它的輸入量只有一個X,其范圍是,現從輸入的角度考慮一組測試用例:,。設計這組測試用例的方法是( ) A、條件覆蓋法 B、等價分類法 C、邊界值分析法 D、錯誤推測法 8、軟件詳細設計主要采用的方法是( ) A、模塊設計 B、結構化設計 C、PDL語言 D、結構化程序設計 9、開發(fā)軟件所需高成本和產品的低質量之間有著尖銳的矛盾,這種現象稱做

10、( ) A. 軟件工程 B. 軟件周期 C. 軟件危機 D. 軟件產生 10、按軟件生命周期方法設計軟件的過程中,畫數據流圖屬于下面哪個階段的工作( ) A、需求分析 B、概要設計 C、詳細設計 D、軟件維護 11、在快速原型模型的開發(fā)過程中,僅作為需求說明的補充形式的原型是( ) A、探索型模型 B、演化型模型 C、實驗型模型 D、提交型模型 ( )、程序設計語言的工程特性之一為12A、軟件的可重用性 B、數據結構的描述性 C、抽象類型的描述性 D、數據庫的易操作性 13、軟件按照設計的要求,在規(guī)定時間和條件下達到不出故障,持續(xù)運行的要求的質量特性稱為( ) A.可用性 B.可靠性 C.正確

11、性 D.完整性 14、模塊設計中,最不希望的內聚是( ) A、功能內聚 B、通信內聚 C、過程內聚 D、偶然內聚 15、實施快速原型模型方法開發(fā)軟件的關鍵在于( ) A、CASE工具的支持 B、如何開發(fā)演化型模型 C、項目主管的支持D、開發(fā)人員的素質 16、程序流程圖(框圖)中的箭頭代表( )。 A.數據流 B.控制流 C.調用關系 D.組成關系 17、一個只有順序結構的程序,其環(huán)形復雜度是( )。 D.不確定的 18、可行性分析是在系統(tǒng)開發(fā)的早期所做的一項重要的論證工作,它是決定該系統(tǒng)是否開發(fā)的決策依據, 因此必須給出什么樣的回答。( ) A確定 B行或不行 C正確 D無二義 19、結構化程

12、序設計主要強調的是( ) A、程序的規(guī)模 B、程序的效率 C、程序設計語言的先進性 D、程序易讀性 20、對象實現了數據和操作的結合, 使數據和操作( )于對象的統(tǒng)一體中。 A、結合 B、隱藏 C、封裝 D、抽象 21、軟件概要設計結束后得到( ) A、初始化的軟件結構圖 B、優(yōu)化后的軟件結構圖 C、模塊的接口圖和詳細算法 D、程序編碼 22、軟件需求是度量軟件質量的基礎,不符合需求的軟件就不具備( ) A、軟件的特點 B、質量 C、軟件產品 D、功能 23、軟件特性中,程序能夠滿足規(guī)格說明和完成用戶業(yè)務目標的程度,稱作( ) A、正確性 B、移植性 C、可靠性 D、完整性 24、為使得開發(fā)人

13、員對軟件產品的各個階段工作都進行周密的思考,從而減少返工,所以( )的編制是很重要的。 、測試計劃 D、軟件文檔 C、概要說明 B、需求說明A25、系統(tǒng)因錯誤而發(fā)生故障時,仍然能在一定程度上完成預期的功能,則把該軟件稱為( )。 A、軟件容錯 B、系統(tǒng)軟件 C、測試軟件 D、恢復測試 二、名詞解釋 1、程序的可維護性 2、容錯技術 3、結構化維護 4、軟件生存周期 5、模塊獨立性 三、簡答題 1、簡述軟件測試的任務、目的與類型。 2、簡述軟件工程目標和面臨的主要問題。 3、簡述軟件開發(fā)過程、每個里程碑的提交物。 4、簡述軟件工程的七條基本原理。 四、論述題 1、試論面向對象方法較之結構化方法的

14、先進性。 2、試述軟件開發(fā)工具對軟件開發(fā)的影響。 3、試論文檔在軟件開發(fā)過程中的重要性。 五、應用設計題 1、一個軟件公司有許多部門,分為開發(fā)部門和管理部門兩種。每個開發(fā)部門開發(fā)多個軟件產品。每個部門由部門名字唯一確定。該公司有許多員工,員工分為經理、工作人員和開發(fā)人員。開發(fā)部門有經理和開發(fā)人員,管理部門有經理和工作人員。每個開發(fā)人員可參加多個開發(fā)項目,每個開發(fā)項目需要多個開發(fā)人員,開發(fā)人員使用語言開發(fā)項目。每位經理可主持多個開發(fā)項目。請建立該軟件公司的對象模型。 2、某考務中心準備開發(fā)一個成人自學考試系統(tǒng)考務管理系統(tǒng),經過調研,該系統(tǒng)有如下的 功能:(1)對考生填寫的報名單進行審查,對合格的

15、考生,編好準考證發(fā)給考生,匯總后的報名單送給閱卷站; (2)給合格的考生制作考試通知單,將考試科目、時間、地點安排告訴考生; (3)對閱卷站送來的成績進行登記,按當年標準審查單科合格者,并發(fā)成績單,對所考專業(yè)各科成績全部合格者發(fā)給大專畢業(yè)證書; (4)對成績進行分類(按地區(qū)、年齡、職業(yè)、專業(yè)、科目等分類)產生相應統(tǒng)計表; (5)查詢:考生可按準考證號隨時查詢自己的各科成績。 試根據要求畫出該系統(tǒng)的數據流程圖。 試卷(一)參考答案 一、 1d 2c 3a 4c 5 c 6b 7c 98c d 11 a 12b 10B d b 17B 18d 14a 1615c 13 24. c 23. c 22

16、. c 21. d 19c 20. b 25. b 二、數據流圖:是描述數據處理過程的工具。它從數據傳遞和加工的角度,以圖形的方式刻1 畫數據流從輸入到輸出的移動變換過程。軟件維護是軟件生命周期的最后一個階段,是在軟件已經交付給用戶使用之后,為了改2適應正軟件錯誤或滿足新的需要而修改軟件的過程。它包括四種類型的維護活動:改正型維護、 型維護、預防型維護和完善型維護。目的就是為了發(fā)現軟件中的錯誤。 軟件測試是一個為了尋找軟件錯誤而運行程序的過程。3一個成功的測試是指揭示了一個好的測試用例是指很可能找到迄今為止尚未發(fā)現的錯誤的用例。 迄今為止尚未發(fā)現的錯誤的測試。程序的可維護性:為滿足用戶新的需求

17、,或當環(huán)境發(fā)生了變化,或運行中發(fā)現了新的錯4 誤時,對一個已投入運行的軟件進行相應診斷和修改所需工作量的大小。軟件生存周期是指從提出軟件開發(fā)要求開始,直到該軟件報廢不用為止的整個時期。這5. 使軟件的開發(fā)有相應的模個時期又分為若干個階段,對軟件生產的管理和進度控制有重要作用, 式、流程、工序和步驟。 三、 1 1)改進軟件結構提高模塊獨立性;( (2)模塊規(guī)模要適中; (3)深度、寬度、扇出和扇入都應適當; 4)模塊的作用域應該在控制域內;( )力爭降低模塊接口的復雜度;(5 (6)設計單入口單出口的模塊; )模塊功能應該可以預測。(8 2 采用自頂向下,逐步求精的程序設計方法。(1) (2)

18、使用三種基本控制結構構造程序,分別是順序,選擇和循環(huán) 采用主程序員組的組織形式。(3) (4)采用單入口單出口的模塊形式。需求分析階段的基本過程包括四個方面:對問題的識別,分析與綜合,制定規(guī)格說明以3系統(tǒng)分析人員要研究計劃階段產生的可行性分析報告和軟件項目實施計)1(及評審。問題識別,劃。然后進行功能需求、性能需求、環(huán)境需求、可靠性需求安全保密需求、用戶界面需求、資源)分析與綜合,分析員需從數據流和數據結構出發(fā),逐步細化所有的2(使用需求等方面的工作。軟件功能,找出系統(tǒng)各元素之間的聯系、接口特性和設計上的限制,分析他們是否滿足功能需求,是否合理。(3)制定規(guī)格說明,編寫需求分析的文檔。(4)需

19、求分析評審。為保證軟件需求定義的質量,評審應以專門指定的人員負責,并按規(guī)程嚴格執(zhí)行。 4、簡述軟件生命周期開發(fā)方法的基本過程及每個階段的任務。 (1) 問題定義階段,盡可能清楚地描述問題,搞清楚要解決的問題是什么; (2) 可行性研究階段,主要是確定待解的問題是否有可行的解決辦法。需要做經濟可行性分析、技術可行性分析、操作可行性分析和法律可行性分析; (3) 需求分析階段,主要是確定目標系統(tǒng)必須具備的功能。通常用數據流圖、數據字典和簡要的算法表示系統(tǒng)的邏輯模型。 (4) 總體設計階段,從總體上解決問題,確定可實現的方案,并設計出軟件的層次結構圖; (5) 詳細設計,把解法具體化,確定如何具體地

20、實現這個系統(tǒng)。針對每個模塊設計相應的算法; (6) 編碼和單元測試階段,把詳細設計的結果翻譯成選定的語言所寫的程序,并對每個模塊進行單元測試。 (7) 測試階段,系統(tǒng)地設計測試用例,盡可能多地發(fā)現軟件中的錯誤,并調試改正軟件中的錯誤; (8) 軟件維護階段,主要目的是通過修改軟件使所開發(fā)的軟件能夠持久地滿足用戶的需要。 四、 1. 請從以下幾個方面結合自己的經驗實例加以論述。 軟件就是程序的觀點是不正確的,因為軟件等于程序加文檔加數據。 (1) 文檔是軟件的一個非常重要的組成部分,在軟件的開發(fā)過程中起著非常重要的作用。 (2) 在軟件開發(fā)的每一個階段都應有相應的文檔。它是開發(fā)人員與用戶以及開發(fā)

21、人員與項目管理人員之間交流的媒介 (3) 文檔是軟件在不同階段的表現形式。 (4) 程序與文檔必須一致,文檔才有價值。 (5) 文檔質量直接決定軟件質量的高低。 (6) 文檔也是軟件測試和維護的依據。在沒有文檔或文檔不全的情況下對大型軟件進行測試與維護是不可思議的事情。 (7) 文檔是軟件可重用的依據。 2最終用戶能夠看到的是軟件界面,軟件界面是用戶與計算機交互的接口。如果界面不友好,用戶不愿意使用,那么軟件的功能再強,也是沒有用的。這就要求軟件界面應以用戶為中心進行設計。設計應遵循以下的原則:(1)一致性,菜單選擇、命令輸入、數據顯示等功能應使用一致的風格。(2)提供有意義的反饋。(3)允許

22、取消大多數操作。(4)減少在動作間必須記憶的信息量。(5)在對話、移動和思考中提高效率。(6)允許錯誤。(7)按功能對動作分類,并據此安排屏幕布局。(8)提供上下文相關的幫組機制。(9)命令用簡單的動詞或動詞短語命名。只有用戶愿意使用的軟件才是好的軟件,所以軟件界面設計的好壞直接影響軟件的質量。 3軟件開發(fā)工具應用于軟件開發(fā)可以大幅度地提高軟件生產率,提高軟件質量。方便軟件管理,便于軟件重用,減少低級重復勞動,支持快速原型設計,便于用戶和開發(fā)人員的交流。降 低大型復雜軟件的開發(fā)難度。 五、1、 新書籍信錄書庫文書庫清書籍信書籍信修定書信書定書信書籍信圖書出版公顯示定書圖書息錄錄生定書信讀者信書

23、籍信讀者讀者信息錄讀者文件 讀者信息 書籍管理系統(tǒng) 數據錄入 圖書目錄生成 目錄打印 查詢顯示 讀者錄入 新書錄入 、2 原始存款單 儲戶取款單取/檢驗取款處取款打印款原始存款存存存款處帳口儲帳取款信口接結算清儲戶帳儲帳口取帳口口校打印結計算結清清合法帳結算清銀行利 試卷(二)參考答案 一、 1c 2b 3c 4a 5. b 6d 13a 8c 9B 11a 7c 12 c 15D 16a 17 18 b b 22. b 21. b c 2023. a d 19 24. c 二、程序的可維護性:為滿足用戶新的需求,或當環(huán)境發(fā)生了變化,或運行中發(fā)現了新的錯1 誤時,對一個已投入運行的軟件進行相應

24、診斷和修改所需工作量的大小。 容錯技術:對那些無法避開的差錯,使其影響減少至最小的技術。也就是說,當錯誤發(fā)2 生時,盡可能地不影響其它的系統(tǒng)元素,或是把用戶的影響限制在某些容許的范圍內。 如果維護工作是從評價完整的軟件配置開始入手,確定軟件的重要結構特: 結構化維護3. 點、性能特點以及接口特點;估量要求的改動將帶來的影響,并且計劃實施途徑。然后首先修改使用在測試說明書中包含設計并且對所做的修改進行仔細審查。接下來編寫相應的源程序代碼; 的信息進行回歸測試;最后,把修改后的軟件再次交付使用。 軟件生存周期是指從提出軟件開發(fā)要求開始,直到該軟件報廢不用為止的整個時期。這4. 使軟件的開發(fā)有相應的

25、模個時期又分為若干個階段,對軟件生產的管理和進度控制有重要作用, 式、流程、工序和步驟。 是模塊化、抽象和信息隱蔽的直接產物。每個模塊只要完成獨立的功能,模塊獨立性5. : 通過模塊與模塊之間的耦合性和模塊內部的內聚與其它模塊聯系越少,則模塊的獨立性就越強。 性來衡量模塊的獨立性。 三、 1一目的就是為了發(fā)現軟件中的錯誤。軟件測試是一個為了尋找軟件錯誤而運行程序的過程。一個成功的測試是指揭示了迄個好的測試用例是指很可能找到迄今為止尚未發(fā)現的錯誤的用例。 今為止尚未發(fā)現的錯誤的測試。軟件測試主要分為白盒測試和黑盒測試兩大類。 2軟件工程的目標就是建造高質量的軟件。但是目前的軟件開發(fā)面臨著許多問題

26、:(1)對軟件開發(fā)成本和進度的估計常常很不準確。(2)用戶常對“已完成的”軟件系統(tǒng)不滿意。(3)軟件產品的質量往往靠不住。(4)軟件常常很難維護。(5)軟件常常缺乏適當的文檔資料。(6)軟件開發(fā)生產率提高的速度,遠遠跟不上計算機應用迅速普及深入的趨勢。(7)軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升。 3軟件開發(fā)的基本過程:(1)可行性研究,做初步的需求分析工作,決定項目可行與否(2)軟件需求分析,軟件工程師必須了解軟件的信息領域,以及需求的功能、行為、性能和接口。系統(tǒng)需求和軟件需求均需文檔化,并與用戶一起復審。并提交需求分析報告。(3)設計,包括概要設計和詳細設計,軟件設計是一個多步驟的

27、過程,主要是對軟件的數據結構、軟件體系結構、界面表示及過程細節(jié)進行設計。設計過程將需求轉換為軟件表示,在編碼之前可以評估其質量,所有設計均要文檔化,它是軟件配置的重要組成部分,經復審后提交相應的概要設計和詳細設計報告。(4)編碼,把設計轉化為機器可執(zhí)行的程序。提交源程序清單。(5)測試,提交測試報告。(6)維護,提交維護報告。 4、簡述軟件工程的七條基本原理。 (1) 用分階段的生命的生命周期計劃嚴格管理; (2) 堅持進行階段評審; (3) 實行嚴格的產品控制; (4) 采用現代程序設計技術; (5) 結果應能清楚地審查; (6) 開發(fā)小組的人員應該少而精; (7) 承認不斷改進軟件工程實踐的必要性。 【評分標準】 答出任5條

溫馨提示

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

評論

0/150

提交評論