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

下載本文檔

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

文檔簡介

1、常熟理工學院20132014學年第二學期軟件工程復習題參考答案(0925121、0903121、0903122)一、填空題1、工具,過程2、可行性研究,需求分析,編碼,測試3、軟件工程,人機工程4、建立軟件模型,數(shù)據(jù)流圖,數(shù)據(jù)字典,主要處理算法5、結(jié)構語言,專用語言6、數(shù)據(jù)流,模塊調(diào)用7、加工8、OOD,OOP9、可行性研究10、功能11、偶然性內(nèi)聚 邏輯性內(nèi)聚 時間性內(nèi)聚 過程性內(nèi)聚 通信性內(nèi)聚度順序性內(nèi)聚 功能性內(nèi)聚12、黑盒測試白盒測試13、軟件從定義開始,經(jīng)過開發(fā)、使用和維護,直到最終退役的全過程稱為軟件生存周期。一、選擇題1d 2c 3a 4c 5c 6b 7c 8c 9d 10b1

2、1a 12b 13b 14a 15c 16b 17d 18d 19c 20. b21. d 22. c23. c24. c 25. b 26c 27b28c 29a 30. b31d 32c 33c 34b 35.c 36a 37c 38a 39.c 40d 41a 42b 43b 44d 45c 46. b 47. b 48. a 49. c 50.a二、名詞解釋1數(shù)據(jù)流圖:是描述數(shù)據(jù)處理過程的工具。它從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。2軟件維護是軟件生命周期的最后一個階段,是在軟件已經(jīng)交付給用戶使用之后,為了改正軟件錯誤或滿足新的需要而修改軟件的過程

3、。它包括四種類型的維護活動:改正型維護、適應型維護、預防型維護和完善型維護。3 軟件測試是一個為了尋找軟件錯誤而運行程序的過程。目的就是為了發(fā)現(xiàn)軟件中的錯誤。一個好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯誤的用例。一個成功的測試是指揭示了迄今為止尚未發(fā)現(xiàn)的錯誤的測試。4程序的可維護性:為滿足用戶新的需求,或當環(huán)境發(fā)生了變化,或運行中發(fā)現(xiàn)了新的錯誤時,對一個已投入運行的軟件進行相應診斷和修改所需工作量的大小。5. 軟件生存周期是指從提出軟件開發(fā)要求開始,直到該軟件報廢不用為止的整個時期。這個時期又分為若干個階段,對軟件生產(chǎn)的管理和進度控制有重要作用,使軟件的開發(fā)有相應的模式、流程、工序和步驟

4、。6程序的可維護性:為滿足用戶新的需求,或當環(huán)境發(fā)生了變化,或運行中發(fā)現(xiàn)了新的錯誤時,對一個已投入運行的軟件進行相應診斷和修改所需工作量的大小。7容錯技術:對那些無法避開的差錯,使其影響減少至最小的技術。也就是說,當錯誤發(fā)生時,盡可能地不影響其它的系統(tǒng)元素,或是把用戶的影響限制在某些容許的范圍內(nèi)。8. 結(jié)構化維護: 如果維護工作是從評價完整的軟件配置開始入手,確定軟件的重要結(jié)構特點、性能特點以及接口特點;估量要求的改動將帶來的影響,并且計劃實施途徑。然后首先修改設計并且對所做的修改進行仔細審查。接下來編寫相應的源程序代碼;使用在測試說明書中包含的信息進行回歸測試;最后,把修改后的軟件再次交付使

5、用。9. 軟件生存周期是指從提出軟件開發(fā)要求開始,直到該軟件報廢不用為止的整個時期。這個時期又分為若干個階段,對軟件生產(chǎn)的管理和進度控制有重要作用,使軟件的開發(fā)有相應的模式、流程、工序和步驟。10. 模塊獨立性: 是模塊化、抽象和信息隱蔽的直接產(chǎn)物。每個模塊只要完成獨立的功能,與其它模塊聯(lián)系越少,則模塊的獨立性就越強。通過模塊與模塊之間的耦合性和模塊內(nèi)部的內(nèi)聚性來衡量模塊的獨立性。三、簡答題1、(1)改進軟件結(jié)構提高模塊獨立性;(2)模塊規(guī)模要適中; (3)深度、寬度、扇出和扇入都應適當;(4)模塊的作用域應該在控制域內(nèi);(5)力爭降低模塊接口的復雜度;(6)設計單入口單出口的模塊;(8)模塊

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

7、足功能需求,是否合理。(3)制定規(guī)格說明,編寫需求分析的文檔。(4)需求分析評審。為保證軟件需求定義的質(zhì)量,評審應以專門指定的人員負責,并按規(guī)程嚴格執(zhí)行。4、(1) 問題定義階段,盡可能清楚地描述問題,搞清楚要解決的問題是什么;(2) 可行性研究階段,主要是確定待解的問題是否有可行的解決辦法。需要做經(jīng)濟可行性分析、技術可行性分析、操作可行性分析和法律可行性分析;(3) 需求分析階段,主要是確定目標系統(tǒng)必須具備的功能。通常用數(shù)據(jù)流圖、數(shù)據(jù)字典和簡要的算法表示系統(tǒng)的邏輯模型。(4) 總體設計階段,從總體上解決問題,確定可實現(xiàn)的方案,并設計出軟件的層次結(jié)構圖;(5) 詳細設計,把解法具體化,確定如何

8、具體地實現(xiàn)這個系統(tǒng)。針對每個模塊設計相應的算法;(6) 編碼和單元測試階段,把詳細設計的結(jié)果翻譯成選定的語言所寫的程序,并對每個模塊進行單元測試。(7) 測試階段,系統(tǒng)地設計測試用例,盡可能多地發(fā)現(xiàn)軟件中的錯誤,并調(diào)試改正軟件中的錯誤;(8) 軟件維護階段,主要目的是通過修改軟件使所開發(fā)的軟件能夠持久地滿足用戶的需要。5、軟件測試是一個為了尋找軟件錯誤而運行程序的過程。目的就是為了發(fā)現(xiàn)軟件中的錯誤。一個好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯誤的用例。一個成功的測試是指揭示了迄今為止尚未發(fā)現(xiàn)的錯誤的測試。軟件測試主要分為白盒測試和黑盒測試兩大類。6、軟件工程的目標就是建造高質(zhì)量的軟件。但

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

10、細設計,軟件設計是一個多步驟的過程,主要是對軟件的數(shù)據(jù)結(jié)構、軟件體系結(jié)構、界面表示及過程細節(jié)進行設計。設計過程將需求轉(zhuǎn)換為軟件表示,在編碼之前可以評估其質(zhì)量,所有設計均要文檔化,它是軟件配置的重要組成部分,經(jīng)復審后提交相應的概要設計和詳細設計報告。(4)編碼,把設計轉(zhuǎn)化為機器可執(zhí)行的程序。提交源程序清單。(5)測試,提交測試報告。(6)維護,提交維護報告。8、(1) 用分階段的生命的生命周期計劃嚴格管理;(2) 堅持進行階段評審;(3) 實行嚴格的產(chǎn)品控制;(4) 采用現(xiàn)代程序設計技術;(5) 結(jié)果應能清楚地審查;(6) 開發(fā)小組的人員應該少而精;(7) 承認不斷改進軟件工程實踐的必要性?!驹u

11、分標準】 答出任5條可得5分,每少答一條扣1分。四、論述題 1. 請從以下幾個方面結(jié)合自己的經(jīng)驗實例加以論述。軟件就是程序的觀點是不正確的,因為軟件等于程序加文檔加數(shù)據(jù)。(1) 文檔是軟件的一個非常重要的組成部分,在軟件的開發(fā)過程中起著非常重要的作用。(2) 在軟件開發(fā)的每一個階段都應有相應的文檔。它是開發(fā)人員與用戶以及開發(fā)人員與項目管理人員之間交流的媒介(3) 文檔是軟件在不同階段的表現(xiàn)形式。(4) 程序與文檔必須一致,文檔才有價值。(5) 文檔質(zhì)量直接決定軟件質(zhì)量的高低。(6) 文檔也是軟件測試和維護的依據(jù)。在沒有文檔或文檔不全的情況下對大型軟件進行測試與維護是不可思議的事情。(7) 文檔

12、是軟件可重用的依據(jù)。2最終用戶能夠看到的是軟件界面,軟件界面是用戶與計算機交互的接口。如果界面不友好,用戶不愿意使用,那么軟件的功能再強,也是沒有用的。這就要求軟件界面應以用戶為中心進行設計。設計應遵循以下的原則:(1)一致性,菜單選擇、命令輸入、數(shù)據(jù)顯示等功能應使用一致的風格。(2)提供有意義的反饋。(3)允許取消大多數(shù)操作。(4)減少在動作間必須記憶的信息量。(5)在對話、移動和思考中提高效率。(6)允許錯誤。(7)按功能對動作分類,并據(jù)此安排屏幕布局。(8)提供上下文相關的幫組機制。(9)命令用簡單的動詞或動詞短語命名。只有用戶愿意使用的軟件才是好的軟件,所以軟件界面設計的好壞直接影響軟

13、件的質(zhì)量。3軟件開發(fā)工具應用于軟件開發(fā)可以大幅度地提高軟件生產(chǎn)率,提高軟件質(zhì)量。方便軟件管理,便于軟件重用,減少低級重復勞動,支持快速原型設計,便于用戶和開發(fā)人員的交流。降低大型復雜軟件的開發(fā)難度。4(1)面向?qū)ο蠓椒ǜ先说乃季S方式,更容易抓住問題的主干。(2)所開發(fā)出的軟件更符合“高內(nèi)聚、松耦合”的原則。所設計出的類模塊獨立性更強。(3)更適合于開發(fā)大型的軟件,更適合于快速原型法開發(fā)方法。使軟件生產(chǎn)率大大提高。(4)使用面向?qū)ο蠹夹g開發(fā)出的軟件的可測試性和可維護性都較強。(5)面向?qū)ο蠓椒ê图夹g能夠貫徹軟件開發(fā)的全過程。從分析、設計、編碼到測試維護,采用面向?qū)ο蟮姆椒ú淮嬖谡Z義斷層,使人的思維連續(xù),減少各階段之間所采用方法的不向融性。(6)使得軟件的可重用性大幅度提高。5軟件開發(fā)工具應用于軟件開發(fā)可以大幅度地提高軟件生產(chǎn)率,提高軟件質(zhì)量。方便軟件管理,便于軟件重用,減少低級重復勞動,支持快速原型設計,便于用戶和開發(fā)人員的交流。降低大型復雜軟件的開發(fā)難度。6、在軟件的生產(chǎn)過程中,總是伴隨著大量的信息要記錄、要使用。因此,軟件文檔在軟件產(chǎn)品的開發(fā)過程中起著舉足輕重的作用。()提高軟件開發(fā)過程的能見度。把開發(fā)過程中發(fā)生的事件以某種可閱讀的形式記錄在文檔中,管理人員可把這些記錄下來的材料作為檢查軟件開發(fā)進度和開發(fā)質(zhì)量的依據(jù),實現(xiàn)對軟件開發(fā)的工程管理。()提高開發(fā)效率。軟件文檔的編制

溫馨提示

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

評論

0/150

提交評論