電大軟件工程形成性考核冊參考復習資料_第1頁
電大軟件工程形成性考核冊參考復習資料_第2頁
電大軟件工程形成性考核冊參考復習資料_第3頁
電大軟件工程形成性考核冊參考復習資料_第4頁
電大軟件工程形成性考核冊參考復習資料_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件工程作業(yè)1(第14章)一、選擇題:1. 開發(fā)軟件所需高成本和產品的低質量之間有著尖銳的矛盾,這種現象稱做(C)。A.軟件工程B.軟件周期C.軟件危機D.軟件產生2. 瀑布模型本質上是一種(A )模型。A.線性順序B.順序迭代C.線性迭代D.早期產品3. 瀑布模型存在的問題是(B )。A用戶容易參與開發(fā)B缺乏靈活性C用戶與開發(fā)者易溝通D適用可變需求4. 螺旋模型是一種將瀑布模型和(A)結合起來的軟件開發(fā)模型。A增量模型B專家系統(tǒng)C噴泉模型D變換模型5. 原型化方法是用戶和設計者之間執(zhí)行的一種交互構成,適用于(A)系統(tǒng)。A需求不確定性高的B需求確定的C管理信息D實時6. 下列有關軟件工程的標準

2、,屬于國際標準的是(D)A.GBB.DINC.ISOD.IEEE7. 結構化方法是一種基于(D)的方法。A.數據結構 B.程序結構C.算法 D.數據流8. 軟件可行性研究實質上是要進行一次(A)需求分析、設計過程。A、簡化、壓縮的 B、詳細的C、徹底的D、深入的9. 可行性研究的目的是(D)A、分析開發(fā)系統(tǒng)的必要性B、確定系統(tǒng)建設的方案C、分析系統(tǒng)風險D、確定是否值得開發(fā)系統(tǒng)10. 設年利率為i,現存入p元,不計復利,n年后可得錢數為(C)。A、P×(1+i*n)B、P× (i+1)*nC、p×(1+i)nD、p×(i+n)11. 可行性研究是在(A)之

3、前A、系統(tǒng)開發(fā)B、測試C、試運行D、集成測試12. 可行性研究需要的時間長短取決于系統(tǒng)的規(guī)模,一般來說,可行性研究的成本只是預期總成本的(C)。A、1%B、20%C、8%D、50%13. 我國正式頒布實施的(B)對計算機病毒的定義具有法律性、權威性。A計算機軟件保護條例B中華人民共和國計算機信息系統(tǒng)安全保護條例C中華人民共和國著作權法D計算機病毒防治管理辦法14. 效率是一個性能要求,因此應當在以下哪個階段規(guī)定?BA、可行性分析B、需求分析C、概要設計D、詳細設計15. 需求規(guī)格說明書的作用不包括(D)A、軟件驗收的依據B、用戶與開發(fā)人員對軟件要做什么的共同理解C、軟件可行性研究的依據D、軟件

4、設計的依據16. 數據字典是用來定義(D)中的各個成份的具體含義的。A、程序流程圖B、功能結構圖C、系統(tǒng)結構圖D、數據流程圖17. 數據流程圖是(A)方法中用于表示系統(tǒng)邏輯模型的一種圖形工具。A、SAB、SDC、SPD、SC18. DFD中的每個加工至少有(A)。A、一個輸入流或一個輸出流 B、一個輸入流和一個輸出流C、一個輸入流D、一個輸出流19. 需求分析階段的關鍵任務是確定(D)A、軟件開發(fā)方法B、軟件開發(fā)工具C、軟件開發(fā)費D、軟件系統(tǒng)的功能20. 在SD方法中全面指導模塊劃分的最重要的原則是(D)。A、程序模塊化B、模塊高內聚C、模塊低耦合D、模塊獨立性21. 在模塊的3種基本屬性中,

5、反映模塊內部特性的是(C)。A、接口B、功能C、邏輯D、狀態(tài)22. 模塊的耦合性可以按照耦合程度的高低進行排序,以下哪一項符合從低到高的正確次序(D)。A、數據結構耦合,公共耦合,控制耦合,內容耦合B、數據耦合,控制耦合,數據結構耦合,公共耦合C、無直接耦合,數據結構耦合,內容耦合,控制耦合D、無直接耦合,數據耦合,控制耦合,內容耦合23. PDL是描述處理過程(C)A、做什么B、為什么做C、怎么做D、對誰做24. (D)工具在軟件詳細設計過程中不采用。A、判定表B、IPO圖C、PDLD、DFD圖25. 為高質量地開發(fā)軟件項目,在軟件結構設計時,必須遵循(A)原則。A.信息隱蔽B、質量控制C、

6、程序優(yōu)化D、數據共享26. 當一個模塊直接使用另一個模塊的內部數據,這種模塊之間的耦合為(D)A、數據耦合B、公共耦合C、標記耦合D、內容耦合27. 詳細設計與概要設計銜接的圖形工具是(B)。A、DFD圖 B、SC圖 C、PAD圖 D、程序流程圖28. 下列幾種類型中,耦合性最弱的是(D)。A、內容型B、控制型C、公共型D、數據型29. 軟件結構使用的圖形工具,一般采用(C)圖。A、DFDB、PADC、SCD、ER30. 在七種偶合中,最低偶合是(D)。A、內容偶合B、公共偶合C、數據偶合D、非直接偶合二、簡答題1. 什么是軟件工程?軟件工程的目標是什么?答:軟件工程是將系統(tǒng)化的、規(guī)范的、可度

7、量的方法應用于軟件的開發(fā)、運行和維護過程,即將工程化應用于軟件開發(fā)和管理之中,對中所選方法的研究。目標:1 合理預算開發(fā)成本,付出較低的開發(fā)費用。2 實現預期的軟件功能,達到較好的軟件性能,滿足用戶的需求。3 提高軟件的可維護性,降低維護費用。4 提高軟件開發(fā)生產率,及時交付使用2. 指出瀑布模型中下列任務的順序:驗收測試,項目計劃,單元測試,需求評審,成本估計,概要設計,詳細設計,系統(tǒng)測試,設計評審,編碼,需求規(guī)格說明書。答:項目計劃,成本估計,需求規(guī)格說明書,需求評審,概要設計,詳細設計,設計評審,編碼,單元測試,系統(tǒng)測試,驗收測試3. 可行性研究報告的主要內容是什么?答:可行性研究主要包

8、括以下幾個部分: (1)概述(2)技術可行性(3)項目成熟程度(4)市場需求情況和風險分析(5)投資估算及資金籌措(6)經濟與社會效益(7)綜合實力和產業(yè)基礎(8)項目實施進度計劃(9)其它尚需要說明的必要的方面(10)結論4. 什么是需求分析?需求分析階段的基本任務是什么?答:所謂"需求分析",是指對要解決的問題進行詳細的分析,弄清楚問題的要求,包括需要輸入什么數據,要得到什么結果,最后應輸出什么。可以說,“需求分析”就是確定要計算機“做什么”。任務:確定軟件項目的目標和范圍。調查使用者的要求,分析軟件必須做什么,編寫需求規(guī)格說明書等它相關文檔,并進行必要的需求審查。除此

9、之外,還包括需求變更控制,需求風險控制,需求版本控制等對需求的管理工作5. 什么是結構化分析方法?該方法使用什么描述工具?答:結構化的分析方法是面向數據流的方法,因此,此方法研究的核心是數據的組成和數據流向和對數據的加工處理。結構化分析方法用抽象模型的概念,按照軟件內部數據傳遞、變換的關系,自頂向下逐層分解,直至找到滿足功能要求的所有可實現的軟件元素為止描述工具:1系統(tǒng)流程圖 2 數據流程圖3數據字典4 IPO圖 5層次方框圖6實體關系圖7狀態(tài)變遷圖6. 結構化分析方法通過哪些步驟來實現?答:1)    確定系統(tǒng)的功能要求 2)  &

10、#160;  確定系統(tǒng)的數據要求3)     確定系統(tǒng)的操作要求和界面要求4)     確定系統(tǒng)的性能要求5)     確定系統(tǒng)的運行要求6)     獲得當前系統(tǒng)的物理模型7)     抽象出當前系統(tǒng)的邏輯模型8)     建立目標系統(tǒng)的邏輯模型。9)     修正開發(fā)計劃10)如果需要則開發(fā)系統(tǒng)原型7.

11、什么是數據流圖?其作用是什么?其中的基本符號各表示什么含義?答:數據流圖:簡稱DFD,就是采用圖形方式來表達系統(tǒng)的邏輯功能、數據在系統(tǒng)內部的邏輯流向和邏輯變換過程,是結構化系統(tǒng)分析方法的主要表達工具及用于表示軟件模型的一種圖示方法。數據流圖的基本符號的意思: 1.矩形表示數據的外部實體;2.圓角的矩形表示變換數據的處理邏輯; 3.少右面的邊矩形表示數據的存儲; 4.箭頭表示數據流。8. 什么是數據字典?其作用是什么?它有哪些條目?答:數據字典,主要用來描述數據流程圖中的數據流、數據存儲、處理過程和和數據源點/終點。作用:數據流程圖描述了系統(tǒng)的邏輯結構,其中的四個基本圖形元素的含義無法在數據流程

12、圖中詳細說明,因此數據流程圖需要與其他工具配合使用,數據字典就是這樣的工具之一。包括的條目:數據流詞條數據元素詞條數據存儲詞條數據加工處理詞條數據源點及終點詞條9. 什么是概要設計?有哪些基本任務?答:概要設計:根據用戶的需求先確定軟件系統(tǒng)的總體結構和總的設計原則基本的任務:設想供選擇的方案。推薦最佳方案。功能分解,確定軟件結構。設計軟件結構。制定測試計劃。數據設計。書寫文檔。包括總體設計規(guī)格說明書。用戶手冊。測試計劃。設計審查和復審。10. 詳細設計的基本任務是什么?有那幾種描述方法?答:詳細設計階段的任務是要為編寫程序代碼設計“圖紙”,由程序員按“圖紙”用某種高級程序設計語言編寫程序代碼。

13、主要方法有設計程序流程圖,表格設計符號以及過程設計語言。11. 什么是變換流?什么是事物流?答:變換型數據流可以劃分為明顯的三部分:邏輯輸入,中心變換,邏輯輸出 事務流的特點是數據沿某個輸入路徑流動,該路徑將外部信息轉換成事務,其中發(fā)射出多條事務處理路徑的中心處理被稱為中心事務12. 模塊的內聚有哪幾種?模塊間的耦合有哪幾種?答:內聚分為七種類型:巧合內聚一個模塊執(zhí)行多個完全互不相關的動作,那么這個模塊就有巧合內聚邏輯內聚當一個模塊執(zhí)行一系列相關的動作時,稱其有邏輯內聚。時間性內聚當一個模塊內的多個任務是與時間有關時,這個模塊具有時間性內聚。過程內聚模塊執(zhí)行的若干動作之間有順序關系。通信內聚模

14、塊執(zhí)行的若干動作之間有順序關系,并且所有動作是在相同的數據上執(zhí)行。信息內聚一個模塊中執(zhí)行一系列動作,每個動作都有自己的入口點和處理代碼,所有的動作都作用在相同的數據結構上,這樣的模塊叫做信息內聚。功能性內聚一個模塊中各個部分都是完成某一具體功能必不可少的組成部分耦合分為七類:內容耦合如果一個模塊直接參考另一個模塊的內容,則這兩個模塊是內容耦合。公共耦合如果多個模塊都訪問同一個公共數據環(huán)境,則稱它們是公共耦合。外部耦合如果兩個模塊都訪問同一個全局簡單變量而不是同一全局數據結構,而且,不是通過參數表傳遞該全局變量的信息,則這兩個模塊屬于外部耦合??刂岂詈先绻KA向模塊B傳遞一個控制信息,則稱這兩

15、個模塊是控制耦合的數據結構耦合當一個模塊調用另一個模塊時傳遞了整個數據結構,這兩個模塊之間具有數據結構耦合。數據耦合如果兩個模塊傳遞的是數據項,則這兩個模塊是數據耦合。非直接耦合如果兩個模塊之間沒有直接關系,它們之間的聯系完全通過主模塊的控制和調用來實現的,這就是非直接耦合。三、應用題 1某旅館的電話服務如下:可以撥分機號和外線號碼。分機號是從7201至7299。外線號碼先撥9,然后是市話號碼或長話號碼。長話號碼是以區(qū)號和市話號碼組成。區(qū)號是從100到300中任意的數字串。市話號碼是以局號和分局號組成。局號可以是455,466,888,552中任意一個號碼。分局號是任意長度為4的數字串。寫出在

16、數據字典中,電話號碼的數據條目的定義(即組成)。名稱簡稱類型長度取值范圍分機號Extension_Number字符47201.7299外線市話號Addition_Internumber字符99+455|466|888|552+4數字4外線長話號Addition_Extennumber字符129+100|101|102|.|298|299|300+455|466|888|552+4數字42下面是旅客訂飛機票的需求描述,試畫出分層的數據流程圖。顧客將訂票單交給預訂系統(tǒng):(1)如果是不合法訂票單,則輸出無效訂票信息;(2)對合法訂票單的預付款登錄到一個記賬文件中;(3)系統(tǒng)有航班目錄文件,根據填寫的

17、旅行時間和目的地為顧客安排航班;(4)在獲得正確航班信息和確認已交了部分預付款時發(fā)出取票單,并記錄到取票單文件中。顧客在指定日期內用取票單換取機票:(1)系統(tǒng)根據取票單文件對取票單進行有效性檢查,無效的輸出無效取票信息;(2)持有有效取票單的顧客在補交了剩余款后將獲得機票;(3)記賬文件將被更新,機票以及顧客信息將被登錄到機票文件。訂單中有訂票日期、旅行日期、時間要求(上午、下午、晚上)、出發(fā)地、目的地、顧客姓名、身份證號、聯系電話。 0層流程圖 預定流程圖 取機票流程圖3一個簡化的圖書館信息管理系統(tǒng)有以下功能:(1)借書:輸入讀者借書證,系統(tǒng)檢查借書證是否有效;查閱借書文件,檢查該讀者所借圖

18、書是否超過10本,若已達10本,顯示信息“已經超出借書數量”,拒借;未達10本,辦理借書(檢查庫存、修改庫存信息并將讀者借書信息登入借書記錄)(2)還書:輸入書號和讀者號,從借書記錄中讀出與讀者有關的記錄,查閱所借日期,如果超過3個月,作罰款處理。否則,修改庫存信息與借書記錄。(3)查詢:可通過借書記錄、庫存信息查詢讀者情況、圖書借閱情況及庫存情況,打印各種統(tǒng)計表。請就以上系統(tǒng)功能畫出分層的DFD圖,并建立重要條目的數據字典。 0層數據流程圖 還書流程圖借書流程圖查詢流程圖數據字典:元素名稱名稱類型說明IPO1還書處理處理根據書號做還書處理,違規(guī)做處罰IPO2有效性檢查處理檢查讀者號,圖書號的

19、有效性IPO3借書處理處理按讀者號,圖書號進行借書處理IPO4查詢處理管理員對一些基本信息進行查詢IPO5打印報表處理打印查詢到的信息IPO6處罰管理處理根據規(guī)則對延期給予相應的處罰IPO7數量檢查處理對讀者借出的數量是否符合規(guī)定進行檢查DS001讀者信息數據存儲讀者信息錄入,修改,刪除,保存DS002庫存信息數據存儲圖書的基本的情況以及所有圖書的整體情況DS003錯還信息數據存儲存儲借還書信息,系統(tǒng)自動處理,不能人工錄入DS004處罰信息數據存儲存儲延期的處罰信息軟件工程作業(yè)2(第57章)一、選擇題1. 從本質上說,面向對象是“先”確定(A)后確定執(zhí)行的動作。A.動作的主體B.屬性C.關系D

20、.方法2. (B)是對象的靜態(tài)特征。A.方法B.屬性C.關系D.操作3. 對象的(D)使對象的動態(tài)特征A.特征B.屬性C.關系D.操作4. 屬于某個類的一個具體對象稱為該類的(A)。A.實例B.虛擬C.繼承D.多態(tài)5. UML是(A)。A) 一種可視化的建模語言B) 是一種可視化的程序設計語言C) 是一種過程D) 是一種方法6. 封裝的的作用是(A)。A.復用B.對象C.實例D.方法8.面向對象分析的核心在于建立(B)模型。A. 建立正確的模型B.識別問題域對象C.識別對象之間的關系D.上面所有9. 面向對象分析過程中建立的模型有(D)。A. 數據模型、功能模型、活動模型B. 對象模型、功能模

21、型、測試模型C. 屬性模型、功能模型、對象模型D. 對象模型、功能模型、動態(tài)模型10. 下列的(C)不是分析建模的目的。A. 定義可驗證的軟件需求B. 描述客戶需求C. 開發(fā)一個簡單的問題解決方案D. 建立軟件設計的基礎11. 下列的(C)不屬于面向對象分析模型。A. 用例圖B. 類圖C. 實體關系圖D. 順序圖12. (A)用于描述系統(tǒng)中概念層次的對象。A.分析類B. 界面類C.實體類D.控制類13. 在基于用例的面向對象分析過程中,定義交互行為的關鍵在于通過描述分析類實例之間的(A)將用例的職責分配到分析類中。A. 消息傳遞B 關聯關系C 繼承關系D 上下文關系14.用例的實現細節(jié)不會在(

22、B)描述。A. 用例說明B.用例圖C.活動圖D.順序圖15.用例的職責通常分配給(D)的對象。A. 發(fā)送消息B.接收消息C.發(fā)送和接收雙方D.分析類16.組織機構圖是(C)。A. UML的一個最新圖B. 類圖的一種C.用于識別角色的輔助圖D.用例圖的一種17.在圖書館系統(tǒng)中,假如已經構造了一個一般借書者類,后來發(fā)現圖書館的學生和教師在借書中有不同要求。請問在面向對象設計中用(B)方法可以方便地設計這兩個類? A.信息隱藏 B.繼承 C.動態(tài)聯編 D.代碼復制 18框架是一組可用于不同應用的(A)集合A. 類 B.對象 C.模塊 D.代碼19下面哪個選項不能描述子系統(tǒng)之間的關系。(D)A. 請求

23、服務關系 B.繼承關系 C.依賴關系 D.數據關系20每個子系統(tǒng)的接口上定義了若干(B),體現了子系統(tǒng)的功能。A. 說明 B.操作 C.屬性 D.關系21通常將具有共性的非功能要求設計在(B),以減少重新開發(fā)的工作量。A. 接口層 B.中間層 C.最低層 D.最高層22.每個用例至少應該有一個(C),它通常沒有屬性而只有方法,只是起協調和控制作用。A. 接口類 B.實體類 C.控制類 D.界面類23.類有三種類型即(A)。A. 邊界類、實體類、控制類B. 實體類、數據類、界面類C. 控制類、實體類、數據類D. 界面類、控制類、公共類24.下面那個選項不是正確的面向對象設計思想。(C)A.對接口

24、進行設計B.發(fā)現變化并且封裝它C.先繼承后組合D.先組合后繼承25.定義類的屬性類型時盡量使用已有的類型,太多的自定義類型會降低系統(tǒng)的(A)指標。A.可維護性 B.安全性 C.開發(fā)效率 D.可移植性二、簡答題1. 舉例說明類和對象的關系。答:學生可作為一個類-學生類,每個學生就是這個學生類的一個實例,例如,學生張三就是學生類的一個實例。2. 面向對象分析的關鍵步驟有哪些?應建立哪幾個模型?答:關鍵步驟有識別問題域的對象并分析它們相互之間的關系,建立簡潔、精確、可理解的正確模型;應建立的模型有功能模型,對象模型,動態(tài)模型。3. 什么是實體類、邊界類和控制類?為什么將分析類劃分成這三種類型?答:(

25、1)實體類保存要存入永久存儲體的信息。實體類通常在事件流或交互圖中,是對用戶最有意義的類。邊界類位于系統(tǒng)與外界的交界處,包括所有的窗體、報表、系統(tǒng)硬件接口、與其他系統(tǒng)的接口。控制類負責協調其他類的工作。每個用例中至少應該有一個控制類,它控制用況中的事件順序。(2)分為三種類型是因為它們各自的功能不同。界面類描述系統(tǒng)與角色之間的接口??刂祁愒诜治瞿P蛢缺硎緟f調、順序、事務處理以及控制其他對象的類。實體類為需要長久保存的信息進行建模的類。4. UML中有哪幾類個視圖,它們的作用分別是什么?答:(1)用例視圖(Use-Case view)用例視圖用于描述系統(tǒng)的功能集。它是從系統(tǒng)外部以用戶角度,對系統(tǒng)

26、做的抽象表示。用例視圖所描述的系統(tǒng)功能依靠于外部用戶或另一個系統(tǒng)觸發(fā)激活,為用戶或另一個系統(tǒng)提供服務,實現與用戶或另一個系統(tǒng)之間的交互。用例視圖中可以包含若干個用例,用例表示系統(tǒng)能夠提供的功能,用例視圖是其他視圖的核心和基礎。其他視圖的構造依賴于用例視圖中所描述的內容,因為系統(tǒng)的最終目標是實現用例視圖中描述的功能,同時附帶一些非功能性的特性,因此用例視圖影響著所有其他的視圖。(2)邏輯視圖(Logical view)如果說用例視圖描述系統(tǒng)“做什么”,那么邏輯視圖就是描述“怎么做”。系統(tǒng)的靜態(tài)結構描述類、對象和它們之間的關系,反映的是系統(tǒng)靜態(tài)特征或結構組成。(3)組件視圖(Component v

27、iew)組件視圖用來描述系統(tǒng)實現的結構和行為特征,反映系統(tǒng)各組成元素之間的關系。組件視圖由組件圖實現,主要供開發(fā)者和管理者使用。(4)并發(fā)視圖(Concurrency View)并發(fā)視圖用來描述系統(tǒng)的動態(tài)和行為特征。并發(fā)視圖將任務劃分為進程或線程形式,通過任務劃分引入并發(fā)機制,可以高效地使用資源、并行執(zhí)行和處理異步事件。除了劃分系統(tǒng)為并發(fā)執(zhí)行的進程或線程外,并發(fā)視圖還必須處理通信和同步問題。(5)配置視圖(Deployment View)配置視圖體現了系統(tǒng)的實現環(huán)境,反映系統(tǒng)的物理架構。配置視圖還包括一個映射,該映射顯示在物理架構中組件是怎樣分配的。5. 順序圖在分析階段的作用?答:順序圖描述

28、了一組交互對象間的交互方式,它表示完成某項行為的對象和這些對象之間傳遞消息的時間順序6. 活動圖在分析階段的作用?答:活動圖反映系統(tǒng)中從一個活動到另一個活動的流程,強調對象間的控制流程?;顒訄D特別適合描述工作流和并行處理過程。具體地說活動圖可以描述一個操作過程中需要完成的活動;描述一個對象內部的工作;描述如何執(zhí)行一組相關的動作,以及這些動作如何影響它們周圍的對象;說明一個業(yè)務活動中角色、工作流、組織和對象是如何工作的。7.比較結構化設計和面向對象設計區(qū)別?答:結構化設計:系統(tǒng)被劃分成多個模塊,這些模塊被組織成一個樹型結構。根就是主模塊,葉子是最低級的功能模塊。這棵樹也表示調用結構:每個模塊都調

29、用自己的直接下級模塊,并被自己的直接上級模塊調用。頂層模塊負責收集應用程序最重要的那些執(zhí)行策略,底層模塊實現處理細節(jié)。在這個體系結構中越靠上層位置,概念的抽象層次就越高。但是,由于上層模塊需要調用下層模塊,所以這些上層模塊就依賴于下層模塊的處理細節(jié)。也就是說,當實現細節(jié)發(fā)生變化時,抽象也會受到影響;如果想復用某一個抽象的話,就必須把它依賴的細節(jié)都一起拖過去。面向對象設計:上層創(chuàng)建的抽象不依賴于任何細節(jié),而細節(jié)則高度依賴于上層的抽象。這種依賴關系的變化正是結構化設計與面向對象設計的根本區(qū)別。8.什么是框架,它與“設計”有什么關系?答:框架是一組可用于不同應用的類的集合??蚣苤械念愅ǔJ且恍┏橄箢?/p>

30、并且相互有聯系,可以通過繼承的方式使用這些類,當面向對象設計進行底層設計時,對每個類進行詳細設計,設計類的屬性和操作,優(yōu)化類之間的關系,就可以設計成框架來對類的設計進行構架和優(yōu)化。9.系統(tǒng)的物理構架中應該包括哪些信息?答:用UML的配置圖描述系統(tǒng)的物理構架,然后將需求分析階段捕獲的系統(tǒng)功能分配到這些物理節(jié)點上。包括的信息為節(jié)點的拓撲結構、硬件設備配置、通信路徑、各個節(jié)點上運行的系統(tǒng)軟件配置、應用軟件配置。三、應用題1. 一個多媒體商店系統(tǒng)包含一個由媒體文件構成的數據庫,有兩類媒體文件:圖像文件和聲音文件。每個媒體文件都有名稱和唯一的編碼,而且文件包含作者信息和格式信息,聲音文件還包含聲音文件的

31、時長(以秒為單位)和作者的信息。假設每個媒體文件可以由唯一的編碼所識別,系統(tǒng)要提供以下功能:1) 媒體庫中可以添加新的特別媒體文件。2) 通過給定的文件編碼查找需要的媒體文件。3) 從媒體庫中刪除指定的媒體文件。4) 給出媒體庫中媒體文件的數量??紤]類image應該具有哪些恰當的屬性和方法答:imageFile類的屬性有:Name(文件名稱),Code(編碼),AuthorInfo(作者信息),Format(格式信息);audioFile類除了擁有以上屬性外還有屬性Time(文件時長); imageFile類的方法:Add(imageFile)(添加圖像文件),Delete(Code)(刪除文

32、件),Get)(查找文件),GetNumber()(返回媒體文件的數量);audioFile類的方法:Add(audioFile)(添加聲音文件),Delete(Code)(刪除文件),Get)(查找文件),GetNumber()(返回媒體文件的數量)。2. 若把學生看成一個實體,它可以分成多個子實體,如小學生、中學生和大學生等。在面向對象的設計中,可以創(chuàng)建如下4個類:類Student、類Elementary Student、Middle Student;類University Student。試給出這4個類的屬性以及它們之間的關系。答:Student類為基類,其他三個類都是Student的子

33、類。Student類的屬性有:Name(姓名),Sex(性別),Age(年齡),Class(班級)。Elementary Student類的屬性有:IsTeamMember(是否是少先隊員),IsGoodStudent(是否是三好學生)。Middle Student類的屬性為:IsMember(是否是團員),Subject(文科理科)。University Student類的屬性為:IsPartyMember(是否黨員),Department(學院),Specialty(專業(yè))。三、應用題1. 某學校領書的工作流程為:學生班長填寫領書單,班主任審查后簽名,然后班長拿領書單到書庫領書。 書庫保管

34、員審查領書單是否有班主任簽名,填寫是否正確等,不正確的領書單退回給班長;如果填寫正確則給予領書并修改庫存清單;當某書的庫存量低于臨界值時,登記需訂書的信息。每天下班前為采購部門提供一張訂書單。 用活動圖來描述領書的過程。解:2. 使用順序圖描述下面的情景,當用戶在自己的計算機上向網絡打印機發(fā)出一個打印任務時,他的計算機便向打印機服務器發(fā)送一條打印命令print(file),打印機服務器如果發(fā)現網絡打印機處于空閑狀態(tài),則向打印機發(fā)送打印命令print(file),否則向打印隊列發(fā)送一條保存命令store(file)。 解:3. 某報社采用面向對象技術實現報刊征訂的計算機管理系統(tǒng),該系統(tǒng)基本需求如

35、下:(1)報社發(fā)行多種刊物,每種刊物通過訂單來征訂,訂單中有代碼,名稱,訂期,單價,份數等項目,訂戶通過填寫訂單來訂閱報刊。(2)報社下屬多個發(fā)行站,每個站負責收集登陸訂單、打印收款憑證等事務。(3)報社負責分類并統(tǒng)計各個發(fā)行站送來的報刊訂閱信息。請就此需求建立對象模型。解:軟件工程作業(yè)3(第811章)一、 選擇題1. 結構化語言是介于自然語言和形式語言之間的一種(D)。A半形式語言B計算機語言 C低級語言D高級語言2. 程序設計語言的技術特性不應包括(C)。A、數據結構的描述性B、抽象類型的描述性C、數據庫的易操作性D、軟件的可移植性3. 程序的三種基本控制結構是(B)。A過程、子程序和分程

36、序B順序、選擇和重復C遞歸、堆棧和隊列D調用、返回和轉移4. 結構化程序設計主要強調的是(D)。A程序的規(guī)模B程序的效率C程序設計語言的先進性D程序易讀性5. 下列關于功能性注釋不正確的說法是(B)。A.功能性注釋嵌在源程序中,用于說明程序段或語句的功能以及數據的狀態(tài)B.注釋用來說明程序段,需要在每一行都要加注釋C.可使用空行或縮進,以便很容易區(qū)分注釋和程序D.修改程序也應修改注釋6. 下列關于效率的說法不正確的是(D)。A.效率是一個性能要求,其目標應該在需求分析時給出B.提高程序效率的根本途徑在于選擇良好的設計方法,數據結構與算法C.效率主要指處理機時間和存儲器容量兩個方面D.程序的效率與

37、程序的簡單性無關7. 結構化維護與非結構化維護的主要區(qū)別在于(B )。A.軟件是否結構化B.軟件配置是否完整C.程序的完整性D.文檔的完整性8. 關于JAVA語言下列說法不正確的是(B)。A.跨平臺的B.動態(tài)指針C.解釋型的D.面向對象的9. 使用白盒測試方法時,確定測試數據應根據(A)和指定的覆蓋標準。A程序內部邏輯B程序復雜結構C使用說明書D程序的功能10. 確認測試主要涉及的文檔是(A)。A、需求規(guī)格說明書B、概要設計說明書C、詳細設計說明書D、源程序11. 測試的關鍵問題是(D)。A.如何組織對軟件的評審B.如何驗證程序的正確性C.如何采用綜合策略D.如何選擇測試用例12. 黑盒測試在

38、設計測試用例時,主要研究(A)。A.需求規(guī)格說明B.詳細設計說明C.項目開發(fā)計劃D.概要設計說明與詳細設計說明13. 下面哪些測試屬于黑盒測試(B)。A、路徑測試B、等價類劃分 C、條件判斷 D、循環(huán)測試14. 在下述哪一種測試中,測試人員必須接觸到源程序(B)。A、功能測試B、結構測試C、功能測試和結構測試 D、性能測試15. 檢查軟件產品是否符合需求定義的過程稱為(D)。A、確認測試B、集成測試C、驗收測試D、驗證測試16. 軟件測試方法中,黑盒、白盒測試法是常用的方法,其中白盒測試主要用于測試(D)。A、 結構合理性B、軟件外部功能C、程序正確性D、程序內部邏輯17. 軟件維護中,因修改

39、交互輸入的順序,沒有正確的記錄而引起的錯誤是(A)產生的副作用。A、文檔B、數據C、編碼D、設計18. 以下屬于軟件維護階段文檔的是(C)。A、軟件需求說明B、操作手冊C、軟件問題報告D、測試分析報告19. 產生軟件維護的副作用,是指(C)。A、開發(fā)時的錯誤B、隱含的錯誤C、因修改軟件而造成的錯誤D、運行時誤操作20. 維護中,因誤刪除一個標識符而引起的錯誤是(C)副作用。A、文檔B、數據C、編碼D、設計21. 可維護性的特性中,相互促進的(A)。A、可理解性和可測試性B、效率和可移植性C、效率和可修改性D、效率和結構好22. 軟件維護的困難主要原因是(C)A、費用低B、人員少C、開發(fā)方法的缺

40、陷D、用戶不配合23. 軟件維護費用高的主要原因是(C)。A、人員少B、人員多C、生產率低D、生產率高24. 為了適應軟硬件環(huán)境變化而修改軟件的過程是(C)。A、校正性維護 B、完善性維護C、適應性維護D、預防性維護25. 可維護性的特性中,相互矛盾的是(B)A.可理解性與可測試性B.效率與可修改性C.可修改性和可理解性D.可理解性與可讀性26. 各種不同的軟件維護中,以(C)維護所占的維護量最小。A、 糾錯性維護B、代碼維護C、預防性維護D、文檔維護27. 在變更控制中,(B)可以用來確保由不同用戶所執(zhí)行的并發(fā)變更。A異步控制B同步控制C存取控制D基線控制28. 變更控制是一項最重要的軟件配

41、置任務,其中“檢出”和(A)處理實現了兩個重要的變更控制要素,即存取控制和同步控制。A登入B管理C填寫變更要求D審查29. 用Gantt圖表示軟件項目進度安排,下列說法中正確的是(B)A.能夠反映多個任務之間的復雜關系B.能夠直觀表示任務之間相互依賴制約關系C.能夠表示哪些任務是關鍵任務D.能夠表示子任務之間的并行和串行關系30. 基線可作為軟件生存期中各開發(fā)階段的一個檢查點。當采用的基線發(fā)生錯誤時,可以返回到最近和最恰當的(C)上A.配置項B.程序C.基線D.過程二、 簡答題1. 為建立良好的編程風格應遵循什么原則?答:1)節(jié)簡化不使用不必要的變量和函數避免變量重名,變量重名可導致很難被發(fā)現

42、的錯誤。盡量減小代碼量。盡量減少代碼的執(zhí)行時間,提高執(zhí)行效率。避免功能冗余的模塊。盡量不使用全局變量。2)模塊化確保物理和邏輯功能密切相關。限定一個模塊完成一個獨立的功能,提高模塊的內聚度。檢查代碼的重復率,重復多的代碼,要抽出來作為一個單獨的模塊。3)簡單化采用直接了當的算法,避免使用技巧性高和難懂的代碼。使用簡單的數據結構,避免使用多維數組、指針和復雜的表。注意對象命名的一致性。以手工的方式簡化算術和邏輯表達式。4)結構化按標準化的次序說明數據;按字母順序說明對象名使用讀者明了的結構化程序部件;采用直截了當的算法;根據應用背景排列程序各個部分;不隨意為效率而犧牲程序的清晰度和可讀性;讓機器

43、多做煩瑣的工作,如重復、庫函數;用公共函數調用代替重復出現的表達式;避免循環(huán)、分支的嵌套層數過高;單入口單出口。5)文檔化(documentation)有效、適當地使用注釋。協調使用程序塊注釋和程序行注釋。保持文檔和程序的同步。6)格式化(layout)始終采用統(tǒng)一縮進規(guī)則;適當插入括號表明運算次序、排除二義性;有效地使用空格符以區(qū)別程序的不同意群。2. 什么是軟件測試?答:軟件測試從廣義上講,是指軟件產品生存周期內所有的檢查、評審和確認活動。從狹義上講,軟件測試是為了發(fā)現錯誤而執(zhí)行程序的過程。或者說,軟件測試是根據軟件開發(fā)各個階段的規(guī)格說明和程序內部結構而精心設計一批測試用例,用這些測試用例

44、運行程序,以發(fā)現程序錯誤的過程。3. 軟件測試的原則是什么?答:軟件測試的原則有:1) 應該把測試貫穿在整個開發(fā)過程之中。事實上,從需求分析階段開始,每個階段結束之前都要進行階段審查,目的是盡早發(fā)現和糾正錯誤。2) 每個測試用例都應該包括測試輸入數據和這組數據輸入作用下的預期輸出結果。在實際操作中可以列出一張表格,包括每個測試用例的編號、類型、輸入數據、預期輸出結果、實際輸出結果、出錯原因分析。3) 要對每個測試結果進行全面檢查,不要漏掉已經出現的錯誤跡象。4) 程序員應該盡量避免檢查自己編寫的代碼。測試工作需要嚴格的工作作風,程序員在測試自己編寫的代碼時往往會帶有一些傾向性,使得他們工作中常

45、常出現一些疏漏。而且,程序員對設計規(guī)格說明書的理解錯誤而引入的錯誤更是難于發(fā)現。5) 在設計測試用例時,應該包括有效的、期望的輸入情況,也要包括無效的和不期望的輸入情況。既能夠驗證程序正常運行的合理輸入,也能夠驗證對異常情況處理的不合理輸入數據以及臨界數據。在測試程序時,人們常常過多地考慮合法的和期望的輸入條件,以檢查程序是否做了它應該做的事情,而忽視了不合法的和預想不到的輸入條件。事實上,用戶在使用系統(tǒng)時,輸入一些錯誤指令和參數是經常發(fā)生的,如果軟件遇到這種情況不能做出適當的反應,給出相應的提示信息,就可能會誤導用戶,甚至造成嚴重損失。6) 軟件中遺留的錯誤數量與已經發(fā)現的錯誤數量成正比。根

46、據這個規(guī)律,對測試中發(fā)現錯誤成堆的模塊更要仔細測試。例如,在某個著名的操作系統(tǒng)中,44%的錯誤僅與4%的模塊有關。7) 回歸測試的關聯性要特別引起注意,修改一個錯誤而引起更多錯誤的現象并不少見。8) 測試程序時不僅要檢查程序是否做了它應該做的事情,還要檢查它是否做了不該做的事情。例如,工資軟件中,軟件只完成在編職工的工資計算和輸出,不在編人員的工資是不進行計算和輸出的。如果軟件將不在編人員的工資信息也輸出顯然是不合適的。9) 嚴格執(zhí)行測試計劃。在測試之前應該有明確的測試計劃,內容包括:要測試的軟件功能和內容、測試用例和預期結果、測試的進度安排、需要的工具和資源、測試控制方式和過程等。10)做好

47、測試記錄,為統(tǒng)計和維護提供基礎數據。4. 請說明集成測試、系統(tǒng)測試和驗收測試有什么不同?答:集成測試界于單元測試和系統(tǒng)測試之間,起到“橋梁作用”,一般由開發(fā)小組采用白盒加黑盒的方式來測試,既驗證“設計”,又驗證“需求”。系統(tǒng)測試的粒度最大,一般由獨立測試小組采用黑盒方式來測試,主要測試系統(tǒng)是否符合“需求規(guī)格說明書”。驗收測試與系統(tǒng)測試相似,主要區(qū)別是測試人員不同,驗收測試由用戶執(zhí)行。5. 簡述單元測試的內容。 答:單元測試的內容有1)模塊接口測試:對通過被測模塊的數據流進行測試。為此,對模塊接口,包括參數表、調用子模塊的參數、全程數據、文件輸入/輸出操作都必須檢查。 2)局部數據結構測試:設計

48、測試用例檢查數據類型說明、初始化、缺省值等方面的問題,還要查清全程數據對模塊的影響。3)路徑測試:選擇適當的測試用例,對模塊中重要的執(zhí)行路徑進行測試。對基本執(zhí)行路徑和循環(huán)進行測試可以發(fā)現大量路徑錯誤。4)錯誤處理測試:檢查模塊的錯誤處理功能是否包含有錯誤或缺陷。例如,是否拒絕不合理的輸入;出錯的描述是否難以理解、是否對錯誤定位有誤、是否出錯原因報告有誤、是否對錯誤條件的處理不正確;在對錯誤處理之前錯誤條件是否已經引起系統(tǒng)的干預等。5)邊界測試:要特別注意數據流、控制流中剛好等于、大于或小于確定的比較值時出錯的可能性。對這些地方要仔細地選擇測試用例,認真加以測試。5) 此外,如果對模塊運行時間有

49、要求的話,還要專門進行關鍵路徑測試,以確定最壞情況下和平均意義下影響模塊運行時間的因素。這類信息對進行性能評價是十分有用的。6. 什么是白盒測試?它適應哪些測試?答:白盒測試也叫結構測試,測試者需要了解被測程序的內部結構。白盒測試通常根據覆蓋準則設計測試用例,有語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋和條件組合覆蓋。 白盒測試適用與單元測試、集成測試、系統(tǒng)測試7. 非漸增式測試與漸增式測試有什么區(qū)別?漸增式測試如何組裝模塊?答:1)漸增式可以較早地發(fā)現模塊界面之間的錯誤,非漸增式則要到最后將所有模塊連接起來時才能發(fā)現此類錯誤。 2)非漸增式需要較多的人工 3)漸增式有利于排錯。如果模塊界面

50、間有錯,如果用非漸增式,這類錯誤到最后聯合測試時才能發(fā)現,此時很難判斷錯誤發(fā)生在哪一部分,但如果用漸增式,這類錯誤就較容易定位,它通常與最新加上去的模塊有關。 4)漸增式比較徹底。 5)漸增式需要較多的機器時間。 6)非漸增式方式,開始時允許幾個測試人員并行工作,對大型系統(tǒng)來說,是很有意義的。8. 采用黑盒技術設計測試用例有哪幾種方法?這些方法各有什么特點?答:黑盒測試設計測試用例的方法有1)等價類劃分法 特點是:a、測試的內容相同 b、一個等價類中的某個測試可以發(fā)現缺陷,那么這個等價類的其他測試也能發(fā)現缺陷 c、一個等價類中的某個測試不能發(fā)現缺陷,那么這個等價類的其它測試也不能發(fā)現缺陷2)邊

51、界值分析法 特點是:用邊界值分析時時常收獲較大,它是在等價類的邊界上選擇測試用例3)錯誤推測法 特點是:沒有確定的步驟,很大程度上是憑借經驗進行的 4)因果圖法 特點是:考慮輸入條件間的組合關系;考慮輸出條件對輸入條件的信賴關系;測試用例發(fā)現錯誤的效率高;能查出功能說明中的某些不一致或遺漏9. 白盒測試法有哪些覆蓋標準?試對它們的檢錯能力進行比較。答:白盒測試的覆蓋標準有:語句覆蓋->判定覆蓋->條件覆蓋->判定/條件覆蓋->條件組合覆蓋->路徑覆蓋 檢錯能力由弱到強10. 根據下面程序代碼,畫出程序流程圖,然后設計滿足條件/判定覆蓋、條件組合覆蓋的測試用例。BE

52、GIN T:=0IF ( X>=80 AND Y>=80 )THEN T:=1ELSE IF ( X>=90 AND Y>=75 ) THEN T:=2ENDIF IF (X>=75 AND Y>=90) THEN T:=3ENDIFENDIF RETURN 測試用例:條件/判定覆蓋:1 X=80 Y=80 2 X=90 Y=753 X=50 Y=50條件組合覆蓋:1 X=80 Y=802 X=80 Y=753 X=75 Y=804 X=75 Y=755 X=90 Y=756 X=90 Y=707 X=80 Y=758 X=80 Y=709 X=75 Y=9

53、010 X=75 Y=9011 X=70 Y=9012 X=70 Y=8511. 軟件的可維護性是軟件設計師最關注的性能,談談為了獲得軟件良好的可維護性,在設計時應該注意哪些問題?答:為獲得軟件的良好可維護性,在設計階段應該做一些變更實驗,檢查系統(tǒng)的可維護性、靈活性和可移植性,設計時應該將今后可能變更的內容與其他部分分離開來,并且遵循高內聚、低偶合的原則。12. 在軟件文檔中,你認為哪些文檔對于軟件的維護最重要?需求分析文檔、設計文檔、程序文檔對軟件維護很重要13. 軟件維護時的源程序修改策略是什么?答:軟件維護時的源程序修改策略是:由于軟件維護最終落實在修改源程序和文檔上。為了正確、有效地修

54、改源程序,通常要先分析和理解源程序,然后才能修改源程序,最后重新測試和驗證源程序。14. 軟件項目計劃包括那些內容?答:軟件項目計劃的內容包括:1.范圍。對該軟件項目的綜合描述,定義起所要做的工作以及性能限制,它包括:(1)項目目標。(2)主要功能。(3)性能限制。(4)系統(tǒng)接口。(5)特殊要求。(6)開發(fā)概述。2.資源。(1)人員資源。(2)硬件資源。(3)軟件資源。(4)其他。 3.進度安排。進度安排的好壞往往會影響整個項目的按期完成,因此這一環(huán)節(jié)是十分重要的。制定軟件進度與其他工程沒有很大的區(qū)別 ,其方法主要有:(1)工程網絡圖。(2)Gantt圖。(3)任務資源表。(4)成本估算。(5

55、)培訓計劃。15.什么是軟件配置管理?什么是基線?答:配置管理能夠系統(tǒng)地處理變更,從而使得軟件系統(tǒng)可以隨時保持其完整性。配置管理又可成為變更控制,可以用來評估提出的變更請求,跟蹤變更,并保持系統(tǒng)在不同時間的狀態(tài)。軟件配置管理是一套規(guī)范、高效的軟件開發(fā)基礎結構?;€是:已經通過正式復審和批準的某規(guī)約或產品,它因此可以作為進一步開發(fā)的基礎,并且只能通過正式的變化控制過程改變。三、 應用題1. 請讀者參考能夠找到的編程規(guī)范,設計一個C語言編程規(guī)范。答:文件結構1.1 版權和版本的聲明版權和版本的聲明位于頭文件和定義文件的開頭(參見示例1-1),主要內容有:(1)版權信息。(2)文件名稱,標識符,摘要。(3)當前版本號,作者/修改者,完成日期。(4)版本歷史信息。/* Copyright (c) 2001,上海貝爾有限公司網絡應用事業(yè)部* All

溫馨提示

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

評論

0/150

提交評論