2017年電大電大軟件工程形成性考核冊答案_第1頁
2017年電大電大軟件工程形成性考核冊答案_第2頁
2017年電大電大軟件工程形成性考核冊答案_第3頁
免費預(yù)覽已結(jié)束,剩余38頁可下載查看

下載本文檔

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

文檔簡介

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

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

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

4、的依據(jù)B 、用戶與開發(fā)人員對軟件要做什么的共同理解C、軟件可行性研究的依據(jù)D、軟件設(shè)計的依據(jù)16. 數(shù)據(jù)字典是用來定義( D)中的各個成份的具體含義的。A、程序流程圖 B、功能結(jié)構(gòu)圖 C、系統(tǒng)結(jié)構(gòu)圖 D、數(shù)據(jù)流程圖17. 數(shù)據(jù)流程圖是( A)方法中用于表示系統(tǒng)邏輯模型的一種圖形工具。A、 SAB、 SDC、 SPD、 SC18. DFD中的每個加工至少有 ( A) 。A、一個輸入流或一個輸出流B、一個輸入流和一個輸出流C、一個輸入流D、一個輸出流19.需求分析階段的關(guān)鍵任務(wù)是確定(D)A、軟件開發(fā)方法B 、軟件開發(fā)工具C、軟件開發(fā)費D、軟件系統(tǒng)的功能20.在 SD方法中全面指導(dǎo)模塊劃分的最重要

5、的原則是(D)。A、程序模塊化B、模塊高內(nèi)聚C、模塊低耦合D、模塊獨立性21. 在模塊的 3 種基本屬性中,反映模塊內(nèi)部特性的是(C)。A、接口B 、功能C、邏輯D 、狀態(tài)22.模塊的耦合性可以按照耦合程度的高低進行排序,以下哪一項符合從低到高的正確次序(D)。A、數(shù)據(jù)結(jié)構(gòu)耦合,公共耦合,控制耦合,內(nèi)容耦合B、數(shù)據(jù)耦合,控制耦合,數(shù)據(jù)結(jié)構(gòu)耦合,公共耦合C、無直接耦合,數(shù)據(jù)結(jié)構(gòu)耦合,內(nèi)容耦合,控制耦合D、無直接耦合,數(shù)據(jù)耦合,控制耦合,內(nèi)容耦合23. PDL是描述處理過程 ( C )A、做什么 B、為什么做 C 、怎么做 D、對誰做24. (D)工具在軟件詳細設(shè)計過程中不采用。A、判定表B、 I

6、PO 圖C、 PDLD、 DFD圖25.為高質(zhì)量地開發(fā)軟件項目,在軟件結(jié)構(gòu)設(shè)計時,必須遵循(A)原則。A. 信息隱蔽 B、質(zhì)量控制C、程序優(yōu)化 D、數(shù)據(jù)共享26.當(dāng)一個模塊直接使用另一個模塊的內(nèi)部數(shù)據(jù),這種模塊之間的耦合為(D)A、數(shù)據(jù)耦合 B、公共耦合 C、標記耦合 D、內(nèi)容耦合27.詳細設(shè)計與概要設(shè)計銜接的圖形工具是( B) 。A、 DFD圖 B 、 SC圖 C 、 PAD圖 D 、程序流程圖28.下列幾種類型中,耦合性最弱的是( D) 。A、內(nèi)容型 B、控制型C、公共型D、數(shù)據(jù)型29.軟件結(jié)構(gòu)使用的圖形工具,一般采用(C)圖。A、 DFD B、 PADC、 SCD、 ER30.在七種偶合

7、中,最低偶合是(D)。A、內(nèi)容偶合B、公共偶合C、數(shù)據(jù)偶合D、非直接偶合二、簡答題1. 什么是軟件工程?軟件工程的目標是什么?答:軟件工程是將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運行和維護過程,即將工程化應(yīng)用于軟件開發(fā)和管理之中,對中所選方法的研究。目標:1 合理預(yù)算開發(fā)成本,付出較低的開發(fā)費用。2 實現(xiàn)預(yù)期的軟件功能,達到較好的軟件性能,滿足用戶的需求。3 提高軟件的可維護性,降低維護費用。4 提高軟件開發(fā)生產(chǎn)率,及時交付使用2. 指出瀑布模型中下列任務(wù)的順序:驗收測試,項目計劃,單元測試,需求評審,成本估計,概要設(shè)計,詳細設(shè)計,系統(tǒng)測試,設(shè)計評審,編碼,需求規(guī)格說明書。答:項目

8、計劃,成本估計,需求規(guī)格說明書,需求評審,概要設(shè)計,詳細設(shè)計,設(shè)計評審,編碼,單元測試,系統(tǒng)測試,驗收測試3. 可行性研究報告的主要內(nèi)容是什么?答:可行性研究主要包括以下幾個部分:( 1)概述( 2)技術(shù)可行性( 3)項目成熟程度( 4)市場需求情況和風(fēng)險分析( 5)投資估算及資金籌措( 6)經(jīng)濟與社會效益( 7)綜合實力和產(chǎn)業(yè)基礎(chǔ)( 8)項目實施進度計劃( 9)其它尚需要說明的必要的方面( 10)結(jié)論4. 什么是需求分析?需求分析階段的基本任務(wù)是什么?答:所謂 "需求分析 ",是指對要解決的問題進行詳細的分析,弄清楚問題的要求,包括需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應(yīng)

9、輸出什么??梢哉f,“需求分析 ”就是確定要計算機“做什么 ”。任務(wù):確定軟件項目的目標和范圍。調(diào)查使用者的要求,分析軟件必須做什么,編寫需求規(guī)格說明書等它相關(guān)文檔,并進行必要的需求審查。除此之外,還包括需求變更控制,需求風(fēng)險控制,需求版本控制等對需求的管理工作5. 什么是結(jié)構(gòu)化分析方法?該方法使用什么描述工具?答:結(jié)構(gòu)化的分析方法是面向數(shù)據(jù)流的方法,因此,此方法研究的核心是數(shù)據(jù)的組成和數(shù)據(jù)流向和對數(shù)據(jù)的加工處理。結(jié)構(gòu)化分析方法用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直至找到滿足功能要求的所有可實現(xiàn)的軟件元素為止描述工具: 1 系統(tǒng)流程圖2數(shù)據(jù)流程圖3 數(shù)據(jù)字典 4

10、 IPO 圖 5 層次方框圖6 實體關(guān)系圖7 狀態(tài)變遷圖6.結(jié)構(gòu)化分析方法通過哪些步驟來實現(xiàn)?答: 1)確定系統(tǒng)的功能要求2)確定系統(tǒng)的數(shù)據(jù)要求3)確定系統(tǒng)的操作要求和界面要求4)確定系統(tǒng)的性能要求5)確定系統(tǒng)的運行要求6)獲得當(dāng)前系統(tǒng)的物理模型7)抽象出當(dāng)前系統(tǒng)的邏輯模型8)建立目標系統(tǒng)的邏輯模型。9)修正開發(fā)計劃10)如果需要則開發(fā)系統(tǒng)原型7. 什么是數(shù)據(jù)流圖 ?其作用是什么 ?其中的基本符號各表示什么含義?答:數(shù)據(jù)流圖:簡稱DFD ,就是采用圖形方式來表達系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達工具及用于表示軟件模型的一種圖示方法。數(shù)據(jù)流圖的

11、基本符號的意思:1. 矩形表示數(shù)據(jù)的外部實體;2. 圓角的矩形表示變換數(shù)據(jù)的處理邏輯;3. 少右面的邊矩形表示數(shù)據(jù)的存儲;4. 箭頭表示數(shù)據(jù)流。8. 什么是數(shù)據(jù)字典?其作用是什么?它有哪些條目?答:數(shù)據(jù)字典,主要用來描述數(shù)據(jù)流程圖中的數(shù)據(jù)流、數(shù)據(jù)存儲、處理過程和和數(shù)據(jù)源點/ 終點。作用: 數(shù)據(jù)流程圖描述了系統(tǒng)的邏輯結(jié)構(gòu),其中的四個基本圖形元素的含義無法在數(shù)據(jù)流程圖中詳細說明,因此數(shù)據(jù)流程圖需要與其他工具配合使用,數(shù)據(jù)字典就是這樣的工具之一。包括的條目:數(shù)據(jù)流詞條數(shù)據(jù)元素詞條數(shù)據(jù)存儲詞條數(shù)據(jù)加工處理詞條數(shù)據(jù)源點及終點詞條9. 什么是概要設(shè)計?有哪些基本任務(wù)?答:概要設(shè)計:根據(jù)用戶的需求先確定軟件

12、系統(tǒng)的總體結(jié)構(gòu)和總的設(shè)計原則基本的任務(wù):設(shè)想供選擇的方案。推薦最佳方案。功能分解,確定軟件結(jié)構(gòu)。設(shè)計軟件結(jié)構(gòu)。制定測試計劃。數(shù)據(jù)設(shè)計。書寫文檔。包括總體設(shè)計規(guī)格說明書。用戶手冊。測試計劃。設(shè)計審查和復(fù)審。10. 詳細設(shè)計的基本任務(wù)是什么?有那幾種描述方法?答:詳細設(shè)計階段的任務(wù)是要為編寫程序代碼設(shè)計“圖紙” ,由程序員按“圖紙”用某種高級程序設(shè)計語言編寫程序代碼。主要方法有設(shè)計程序流程圖,表格設(shè)計符號以及過程設(shè)計語言。11. 什么是變換流?什么是事物流?答:變換型數(shù)據(jù)流可以劃分為明顯的三部分:邏輯輸入,中心變換,邏輯輸出事務(wù)流的特點是數(shù)據(jù)沿某個輸入路徑流動,該路徑將外部信息轉(zhuǎn)換成事務(wù),其中發(fā)射

13、出多條事務(wù)處理路徑的中心處理被稱為中心事務(wù)12. 模塊的內(nèi)聚有哪幾種?模塊間的耦合有哪幾種?答:內(nèi)聚分為七種類型:巧合內(nèi)聚一個模塊執(zhí)行多個完全互不相關(guān)的動作,那么這個模塊就有巧合內(nèi)聚邏輯內(nèi)聚當(dāng)一個模塊執(zhí)行一系列相關(guān)的動作時,稱其有邏輯內(nèi)聚。時間性內(nèi)聚當(dāng)一個模塊內(nèi)的多個任務(wù)是與時間有關(guān)時,這個模塊具有時間性內(nèi)聚。過程內(nèi)聚模塊執(zhí)行的若干動作之間有順序關(guān)系。通信內(nèi)聚模塊執(zhí)行的若干動作之間有順序關(guān)系,并且所有動作是在相同的數(shù)據(jù)上執(zhí)行。信息內(nèi)聚一個模塊中執(zhí)行一系列動作,每個動作都有自己的入口點和處理代碼,所有的動作都作用在相同的數(shù)據(jù)結(jié)構(gòu)上,這樣的模塊叫做信息內(nèi)聚。功能性內(nèi)聚一個模塊中各個部分都是完成某一

14、具體功能必不可少的組成部分耦合分為七類:內(nèi)容耦合如果一個模塊直接參考另一個模塊的內(nèi)容,則這兩個模塊是內(nèi)容耦合。公共耦合如果多個模塊都訪問同一個公共數(shù)據(jù)環(huán)境,則稱它們是公共耦合。外部耦合如果兩個模塊都訪問同一個全局簡單變量而不是同一全局數(shù)據(jù)結(jié)構(gòu),而且,不是通過參數(shù)表傳遞該全局變量的信息,則這兩個模塊屬于外部耦合??刂岂詈先绻KA 向模塊 B 傳遞一個控制信息,則稱這兩個模塊是控制耦合的數(shù)據(jù)結(jié)構(gòu)耦合當(dāng)一個模塊調(diào)用另一個模塊時傳遞了整個數(shù)據(jù)結(jié)構(gòu),這兩個模塊之間具有數(shù)據(jù)結(jié)構(gòu)耦合。數(shù)據(jù)耦合如果兩個模塊傳遞的是數(shù)據(jù)項,則這兩個模塊是數(shù)據(jù)耦合。非直接耦合如果兩個模塊之間沒有直接關(guān)系,它們之間的聯(lián)系完全通過

15、主模塊的控制和調(diào)用來實現(xiàn)的,這就是非直接耦合。三、應(yīng)用題1某旅館的電話服務(wù)如下:可以撥分機號和外線號碼。分機號是從7201 至 7299。外線號碼先撥9,然后是市話號碼或長話號碼。長話號碼是以區(qū)號和市話號碼組成。區(qū)號是從 100 到 300 中任意的數(shù)字串。市話號碼是以局號和分局號組成。局號可以是455, 466,888, 552 中任意一個號碼。分局號是任意長度為4 的數(shù)字串。寫出在數(shù)據(jù)字典中,電話號碼的數(shù)據(jù)條目的定義(即組成 )。名稱簡稱類型長取值范圍度分機號Extension_Number字符47201.7299外線市話Addition_Internumbe字符99+455|466|88

16、8|552+4 數(shù)字 4號r外線長話Addition_Extennumb字符129+100|101|102|.|298|299|300+455|466|888|552+號er4 數(shù)字 42下面是旅客訂飛機票的需求描述,試畫出分層的數(shù)據(jù)流程圖。顧客將訂票單交給預(yù)訂系統(tǒng):( 1)如果是不合法訂票單,則輸出無效訂票信息;( 2)對合法訂票單的預(yù)付款登錄到一個記賬文件中;( 3)系統(tǒng)有航班目錄文件,根據(jù)填寫的旅行時間和目的地為顧客安排航班;( 4)在獲得正確航班信息和確認已交了部分預(yù)付款時發(fā)出取票單,并記錄到取票單文件中。顧客在指定日期內(nèi)用取票單換取機票:(1)系統(tǒng)根據(jù)取票單文件對取票單進行有效性檢查

17、,無效的輸出無效取票信息; ( 2)持有有效取票單的顧客在補交了剩余款后將獲得機票;(3)記賬文件將被更新,機票以及顧客信息將被登錄到機票文件。訂單中有訂票日期、旅行日期、時間要求(上午、下午、晚上)、出發(fā)地、目的地、顧客姓名、身份證號、聯(lián)系電話。DS002航班目錄文件顧客IPO01DS003取票單文件機票預(yù)訂系統(tǒng)DS001記帳文件DS004機票文件0 層流程圖IPO1IPO7顧客提交訂票單有效性檢查IPO3IPO8IPO2DS003取票單文件DS001記帳文件發(fā)取票單安排航班交預(yù)付款DS002航班目錄文件預(yù)定流程圖IPO4IPO7顧客提交取票單有效性檢查IPO6IPO5DS004機票文件DS

18、003取票單文件發(fā)放機票補交剩余款DS001記帳文件取機票流程圖3一個簡化的圖書館信息管理系統(tǒng)有以下功能:(1) 借書:輸入讀者借書證,系統(tǒng)檢查借書證是否有效;查閱借書文件,檢查該讀者所借圖書是否超過10 本,若已達10 本,顯示信息“已經(jīng)超出借書數(shù)量”,拒借;未達10 本,辦理借書(檢查庫存、修改庫存信息并將讀者借書信息登入借書記錄)(2)還書:輸入書號和讀者號,從借書記錄中讀出與讀者有關(guān)的記錄,查閱所借日期,如果超過3 個月,作罰款處理。否則,修改庫存信息與借書記錄。(3) 查詢:可通過借書記錄、庫存信息查詢讀者情況、圖書借閱情況及庫存情況,打印各種統(tǒng)計表。請就以上系統(tǒng)功能畫出分層的DFD

19、圖,并建立重要條目的數(shù)據(jù)字典。辦公室讀者IPO001DS004處罰信息圖書館系統(tǒng)DS002庫存信息DS001讀者信息DS003借還信息0 層數(shù)據(jù)流程圖讀者IPO1DS002庫存信息DS003借還信息還書處理IPO6DS004處罰信息處罰處理還書流程圖DS001讀者信息IPO2讀者有效性檢查IPO7數(shù)量檢查DS003借還信息IPO3DS002庫存信息借書處理借書流程圖DS002庫存信息IPO5IPO4管理員打印報表查詢DS003借還信息查詢流程圖數(shù)據(jù)字典:元素名稱名稱類型說明IPO1還書處理處理根據(jù)書號做還書處理,違規(guī)做處罰IPO2有效性檢查處理檢查讀者號,圖書號的有效性IPO3借書處理處理按讀

20、者號,圖書號進行借書處理IPO4查詢處理管理員對一些基本信息進行查詢IPO5打印報表處理打印查詢到的信息IPO6處罰管理處理根據(jù)規(guī)則對延期給予相應(yīng)的處罰IPO7數(shù)量檢查處理對讀者借出的數(shù)量是否符合規(guī)定進行檢查DS001讀者信息數(shù)據(jù)存儲讀者信息錄入,修改,刪除,保存DS002庫存信息數(shù)據(jù)存儲圖書的基本的情況以及所有圖書的整體情況DS003錯還信息數(shù)據(jù)存儲存儲借還書信息,系統(tǒng)自動處理,不能人工錄入DS004處罰信息數(shù)據(jù)存儲存儲延期的處罰信息軟件工程作業(yè) 2一、選擇題1.從本質(zhì)上說,面向?qū)ο笫恰跋取贝_定(A)后確定執(zhí)行的動作。A. 動作的主體B. 屬性C. 關(guān)系D.方法2. (B)是對象的靜態(tài)特征。

21、A. 方法B. 屬性C.關(guān)系D. 操作3. 對象的( D)使對象的動態(tài)特征A. 特征B. 屬性C.關(guān)系D. 操作4.屬于某個類的一個具體對象稱為該類的(A)。A. 實例B. 虛擬C.繼承D. 多態(tài)5. UML是( A)。A) 一種可視化的建模語言B) 是一種可視化的程序設(shè)計語言C) 是一種過程D) 是一種方法6. 封裝的的作用是( A)。A. 復(fù)用B. 對象C.實例D. 方法8.面向?qū)ο蠓治龅暮诵脑谟诮ⅲ˙)模型。A. 建立正確的模型B. 識別問題域?qū)ο驝. 識別對象之間的關(guān)系D. 上面所有9.面向?qū)ο蠓治鲞^程中建立的模型有(D )。A. 數(shù)據(jù)模型、功能模型、活動模型B. 對象模型、功能模型

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

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

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

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

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

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

28、統(tǒng)靜態(tài)特征或結(jié)構(gòu)組成。( 3)組件視圖( Component view )組件視圖用來描述系統(tǒng)實現(xiàn)的結(jié)構(gòu)和行為特征,反映系統(tǒng)各組成元素之間的關(guān)系。組件視圖由組件圖實現(xiàn),主要供開發(fā)者和管理者使用。(4)并發(fā)視圖(Concurrency View)并發(fā)視圖用來描述系統(tǒng)的動態(tài)和行為特征。并發(fā)視圖將任務(wù)劃分為進程或線程形式,通過任務(wù)劃分引入并發(fā)機制,可以高效地使用資源、并行執(zhí)行和處理異步事件。除了劃分系統(tǒng)為并發(fā)執(zhí)行的進程或線程外,并發(fā)視圖還必須處理通信和同步問題。( 5)配置視圖( Deployment View )配置視圖體現(xiàn)了系統(tǒng)的實現(xiàn)環(huán)境,反映系統(tǒng)的物理架構(gòu)。配置視圖還包括一個映射,該映射顯示在

29、物理架構(gòu)中組件是怎樣分配的。5. 順序圖在分析階段的作用?答:順序圖描述了一組交互對象間的交互方式,它表示完成某項行為的對象和這些對象之間傳遞消息的時間順序6. 活動圖在分析階段的作用?答:活動圖反映系統(tǒng)中從一個活動到另一個活動的流程,強調(diào)對象間的控制流程?;顒訄D特別適合描述工作流和并行處理過程。具體地說活動圖可以描述一個操作過程中需要完成的活動;描述一個對象內(nèi)部的工作;描述如何執(zhí)行一組相關(guān)的動作,以及這些動作如何影響它們周圍的對象;說明一個業(yè)務(wù)活動中角色、工作流、組織和對象是如何工作的。7. 比較結(jié)構(gòu)化設(shè)計和面向?qū)ο笤O(shè)計區(qū)別?答:結(jié)構(gòu)化設(shè)計:系統(tǒng)被劃分成多個模塊,這些模塊被組織成一個樹型結(jié)構(gòu)

30、。根就是主模塊,葉子是最低級的功能模塊。這棵樹也表示調(diào)用結(jié)構(gòu):每個模塊都調(diào)用自己的直接下級模塊,并被自己的直接上級模塊調(diào)用。頂層模塊負責(zé)收集應(yīng)用程序最重要的那些執(zhí)行策略,底層模塊實現(xiàn)處理細節(jié)。在這個體系結(jié)構(gòu)中越靠上層位置,概念的抽象層次就越高。但是,由于上層模塊需要調(diào)用下層模塊,所以這些上層模塊就依賴于下層模塊的處理細節(jié)。也就是說,當(dāng)實現(xiàn)細節(jié)發(fā)生變化時,抽象也會受到影響;如果想復(fù)用某一個抽象的話,就必須把它依賴的細節(jié)都一起拖過去。面向?qū)ο笤O(shè)計:上層創(chuàng)建的抽象不依賴于任何細節(jié),而細節(jié)則高度依賴于上層的抽象。這種依賴關(guān)系的變化正是結(jié)構(gòu)化設(shè)計與面向?qū)ο笤O(shè)計的根本區(qū)別。8. 什么是框架,它與“設(shè)計”有

31、什么關(guān)系?答:框架是一組可用于不同應(yīng)用的類的集合??蚣苤械念愅ǔJ且恍┏橄箢惒⑶蚁嗷ビ新?lián)系,可以通過繼承的方式使用這些類 ,當(dāng)面向?qū)ο笤O(shè)計進行底層設(shè)計時,對每個類進行詳細設(shè)計,設(shè)計類的屬性和操作,優(yōu)化類之間的關(guān)系,就可以設(shè)計成框架來對類的設(shè)計進行構(gòu)架和優(yōu)化。9. 系統(tǒng)的物理構(gòu)架中應(yīng)該包括哪些信息?答:用 UML的配置圖描述系統(tǒng)的物理構(gòu)架, 然后將需求分析階段捕獲的系統(tǒng)功能分配到這些物理節(jié)點上。包括的信息為節(jié)點的拓撲結(jié)構(gòu)、硬件設(shè)備配置、通信路徑、各個節(jié)點上運行的系統(tǒng)軟件配置、應(yīng)用軟件配置。三、應(yīng)用題1.一個多媒體商店系統(tǒng)包含一個由媒體文件構(gòu)成的數(shù)據(jù)庫, 有兩類媒體文件: 圖像文件和聲音文件。每個

32、媒體文件都有名稱和唯一的編碼,而且文件包含作者信息和格式信息,聲音文件還包含聲音文件的時長 ( 以秒為單位 ) 和作者的信息。 假設(shè)每個媒體文件可以由唯一的編碼所識別,系統(tǒng)要提供以下功能:1) 媒體庫中可以添加新的特別媒體文件。2) 通過給定的文件編碼查找需要的媒體文件。3) 從媒體庫中刪除指定的媒體文件。4) 給出媒體庫中媒體文件的數(shù)量??紤]類 imageFile和 audioFile應(yīng)該具有哪些恰當(dāng)?shù)膶傩院头椒ù穑?imageFile類的屬性有 :Name(文件名稱 ) , Code(編碼), AuthorInfo(作者信息) , Format(格式信息); audioFile類除了擁有以

33、上屬性外還有屬性Time(文件時長);imageFile 類的方法: Add( imageFile )(添加圖像文件) ,Delete ( Code)(刪除文件),GetFile(Code)(查找文件), GetNumber()(返回媒體文件的數(shù)量) ;audioFile 類的方法: Add( audioFile )(添加聲音文件) ,Delete (Code)(刪除文件),GetFile(Code)(查找文件), GetNumber()(返回媒體文件的數(shù)量) 。2. 若把學(xué)生看成一個實體,它可以分成多個子實體,如小學(xué)生、中學(xué)生和大學(xué)生等。在面向?qū)ο蟮脑O(shè)計中,可以創(chuàng)建如下 4 個類:類 Stu

34、dent 、類 Elementary Student 、Middle Student ;類 University Student。試給出這 4 個類的屬性以及它們之間的關(guān)系。答: Student類為基類,其他三個類都是Student的子類。Student 類的屬性有:Elementary StudentName(姓名), Sex(性別), Age(年齡), Class (班級)。類的屬性有:IsTeamMember(是否是少先隊員) , IsGoodStudent(是否是三好學(xué)生)。Middle Student類的屬性為: IsMember(是否是團員) , Subject (文科理科)。Un

35、iversityStudent 類的屬性為: IsPartyMember (是否黨員), Department (學(xué)院),Specialty(專業(yè))。三、應(yīng)用題1. 某學(xué)校領(lǐng)書的工作流程為:學(xué)生班長填寫領(lǐng)書單,班主任審查后簽名,然后班長拿領(lǐng)書單到書庫領(lǐng)書。 書庫保管員審查領(lǐng)書單是否有班主任簽名,填寫是否正確等,不正確的領(lǐng)書單退回給班長;如果填寫正確則給予領(lǐng)書并修改庫存清單;當(dāng)某書的庫存量低于臨界值時,登記需訂書的信息。每天下班前為采購部門提供一張訂書單。用活動圖來描述領(lǐng)書的過程。解:班長填寫領(lǐng)書單班主任簽名領(lǐng)書單不正確返回給班長領(lǐng)書庫存充足書庫管理員是否有班主任簽名填寫是否正確正確修改庫存清單

36、檢查庫存庫存不足訂書單登記圖書信息提交采購部2. 使用順序圖描述下面的情景,當(dāng)用戶在自己的計算機上向網(wǎng)絡(luò)打印機發(fā)出一個打印任務(wù)時,他的計算機便向打印機服務(wù)器發(fā)送一條打印命令print(file),打印機服務(wù)器如果發(fā)現(xiàn)網(wǎng)絡(luò)打印機處于空閑狀態(tài),則向打印機發(fā)送打印命令print(file),否則向打印隊列發(fā)送一條保存命令 store(file)。計算機打印服務(wù)器打印機隊列Print()(空閑)打?。Γ┐鎯﹃犃写蛴〈蛴〗Y(jié)束打印結(jié)束解:3. 某報社采用面向?qū)ο蠹夹g(shù)實現(xiàn)報刊征訂的計算機管理系統(tǒng),該系統(tǒng)基本需求如下:( 1)報社發(fā)行多種刊物,每種刊物通過訂單來征訂,訂單中有代碼,名稱,訂期,單價,份數(shù)等項

37、目,訂戶通過填寫訂單來訂閱報刊。( 2)報社下屬多個發(fā)行站,每個站負責(zé)收集登陸訂單、打印收款憑證等事務(wù)。( 3)報社負責(zé)分類并統(tǒng)計各個發(fā)行站送來的報刊訂閱信息。請就此需求建立對象模型。: 訂單信息: 書刊信息- 書號- 書刊代碼nn - 訂期- 書名n- 名稱- 定價- 單價- 份數(shù)1: 發(fā)行站1: 出版社1n11n 1+接受訂單()+ 分類統(tǒng)計訂單信息 (): 客戶信息+打印收款憑據(jù) ()- 客戶名稱- 客戶地址- 客戶電話解:軟件工程作業(yè) 3一、選擇題1.結(jié)構(gòu)化語言是介于自然語言和形式語言之間的一種(D)。A半形式語言B計算機語言C 低級語言D高級語言2.程序設(shè)計語言的技術(shù)特性不應(yīng)包括(C

38、)。A、數(shù)據(jù)結(jié)構(gòu)的描述性B、抽象類型的描述性C、數(shù)據(jù)庫的易操作性D、軟件的可移植性3.程序的三種基本控制結(jié)構(gòu)是(B)。A過程、子程序和分程序B順序、選擇和重復(fù)C遞歸、堆棧和隊列D調(diào)用、返回和轉(zhuǎn)移4.結(jié)構(gòu)化程序設(shè)計主要強調(diào)的是(D)。A程序的規(guī)模 B程序的效率C程序設(shè)計語言的先進性 D 程序易讀性5.下列關(guān)于功能性注釋不正確的說法是( B) 。A. 功能性注釋嵌在源程序中,用于說明程序段或語句的功能以及數(shù)據(jù)的狀態(tài)B. 注釋用來說明程序段,需要在每一行都要加注釋C. 可使用空行或縮進,以便很容易區(qū)分注釋和程序D. 修改程序也應(yīng)修改注釋6. 下列關(guān)于效率的說法不正確的是( D) 。A. 效率是一個性

39、能要求,其目標應(yīng)該在需求分析時給出B. 提高程序效率的根本途徑在于選擇良好的設(shè)計方法,數(shù)據(jù)結(jié)構(gòu)與算法C. 效率主要指處理機時間和存儲器容量兩個方面D. 程序的效率與程序的簡單性無關(guān)7. 結(jié)構(gòu)化維護與非結(jié)構(gòu)化維護的主要區(qū)別在于( B ) 。A. 軟件是否結(jié)構(gòu)化B. 軟件配置是否完整C. 程序的完整性D. 文檔的完整性8. 關(guān)于 JAVA語言下列說法不正確的是( B)。A. 跨平臺的B. 動態(tài)指針C. 解釋型的D.面向?qū)ο蟮?.使用白盒測試方法時,確定測試數(shù)據(jù)應(yīng)根據(jù)(A)和指定的覆蓋標準。A 程序內(nèi)部邏輯B程序復(fù)雜結(jié)構(gòu)C使用說明書D程序的功能10.確認測試主要涉及的文檔是(A)。A、需求規(guī)格說明書

40、B、概要設(shè)計說明書C、詳細設(shè)計說明書D、源程序11. 測試的關(guān)鍵問題是( D)。A. 如何組織對軟件的評審B. 如何驗證程序的正確性C. 如何采用綜合策略D. 如何選擇測試用例12.黑盒測試在設(shè)計測試用例時,主要研究(A)。A. 需求規(guī)格說明B. 詳細設(shè)計說明C. 項目開發(fā)計劃D. 概要設(shè)計說明與詳細設(shè)計說明13.下面哪些測試屬于黑盒測試(B)。A、路徑測試B、等價類劃分C 、條件判斷D、循環(huán)測試14.在下述哪一種測試中,測試人員必須接觸到源程序(B)。A、功能測試B 、結(jié)構(gòu)測試C、功能測試和結(jié)構(gòu)測試D 、性能測試15.檢查軟件產(chǎn)品是否符合需求定義的過程稱為(D)。A、確認測試 B、集成測試

41、C、驗收測試 D、驗證測試16.軟件測試方法中,黑盒、白盒測試法是常用的方法,其中白盒測試主要用于測試(D)。A、 結(jié)構(gòu)合理性 B、軟件外部功能 C、程序正確性 D、程序內(nèi)部邏輯17.軟件維護中,因修改交互輸入的順序,沒有正確的記錄而引起的錯誤是(A)產(chǎn)生的副作用。A、文檔 B、數(shù)據(jù)C、編碼 D、設(shè)計18. 以下屬于軟件維護階段文檔的是( C) 。A、軟件需求說明B、操作手冊C、軟件問題報告D、測試分析報告19.產(chǎn)生軟件維護的副作用,是指(C)。A、開發(fā)時的錯誤B、隱含的錯誤C、因修改軟件而造成的錯誤D、運行時誤操作20.維護中,因誤刪除一個標識符而引起的錯誤是(C)副作用。A、文檔 B 、數(shù)

42、據(jù) C、編碼 D 、設(shè)計21.可維護性的特性中,相互促進的(A)。A、可理解性和可測試性B、效率和可移植性C、效率和可修改性D、效率和結(jié)構(gòu)好22.軟件維護的困難主要原因是(C)A、費用低B、人員少C、開發(fā)方法的缺陷D、用戶不配合23.軟件維護費用高的主要原因是(C)。A、人員少B、人員多C、生產(chǎn)率低D、生產(chǎn)率高24.為了適應(yīng)軟硬件環(huán)境變化而修改軟件的過程是( C)。A、校正性維護B 、完善性維護C、適應(yīng)性維護D、預(yù)防性維護25. 可維護性的特性中,相互矛盾的是( B)A. 可理解性與可測試性 B. 效率與可修改性C.可修改性和可理解性D. 可理解性與可讀性26.各種不同的軟件維護中,以(C)維

43、護所占的維護量最小。A、 糾錯性維護B、代碼維護C、預(yù)防性維護D、文檔維護27. 在變更控制中, ( B)可以用來確保由不同用戶所執(zhí)行的并發(fā)變更。A異步控制 B同步控制 C存取控制 D基線控制28.變更控制是一項最重要的軟件配置任務(wù),其中“檢出”和(A)處理實現(xiàn)了兩個重要的變更控制要素,即存取控制和同步控制。A登入 B管理 C填寫變更要求 D審查29.用圖表示軟件項目進度安排,下列說法中正確的是(B)A. 能夠反映多個任務(wù)之間的復(fù)雜關(guān)系B. 能夠直觀表示任務(wù)之間相互依賴制約關(guān)系C.能夠表示哪些任務(wù)是關(guān)鍵任務(wù)D.能夠表示子任務(wù)之間的并行和串行關(guān)系30.基線可作為軟件生存期中各開發(fā)階段的一個檢查點

44、。當(dāng)采用的基線發(fā)生錯誤時,可以返回到最近和最恰當(dāng)?shù)模–)上A. 配置項 B. 程序 C.基線 D. 過程二、簡答題1. 為建立良好的編程風(fēng)格應(yīng)遵循什么原則?答: 1)節(jié)簡化不使用不必要的變量和函數(shù)避免變量重名,變量重名可導(dǎo)致很難被發(fā)現(xiàn)的錯誤。盡量減小代碼量。盡量減少代碼的執(zhí)行時間,提高執(zhí)行效率。避免功能冗余的模塊。盡量不使用全局變量。2)模塊化確保物理和邏輯功能密切相關(guān)。限定一個模塊完成一個獨立的功能,提高模塊的內(nèi)聚度。檢查代碼的重復(fù)率,重復(fù)多的代碼,要抽出來作為一個單獨的模塊。3)簡單化采用直接了當(dāng)?shù)乃惴ǎ苊馐褂眉记尚愿吆碗y懂的代碼。使用簡單的數(shù)據(jù)結(jié)構(gòu),避免使用多維數(shù)組、指針和復(fù)雜的表。注

45、意對象命名的一致性。以手工的方式簡化算術(shù)和邏輯表達式。4)結(jié)構(gòu)化按標準化的次序說明數(shù)據(jù);按字母順序說明對象名使用讀者明了的結(jié)構(gòu)化程序部件;采用直截了當(dāng)?shù)乃惴?;根?jù)應(yīng)用背景排列程序各個部分;不隨意為效率而犧牲程序的清晰度和可讀性;讓機器多做煩瑣的工作,如重復(fù)、庫函數(shù);用公共函數(shù)調(diào)用代替重復(fù)出現(xiàn)的表達式;避免循環(huán)、分支的嵌套層數(shù)過高;單入口單出口。5)文檔化( documentation )有效、適當(dāng)?shù)厥褂米⑨?。協(xié)調(diào)使用程序塊注釋和程序行注釋。保持文檔和程序的同步。6)格式化( layout)始終采用統(tǒng)一縮進規(guī)則;適當(dāng)插入括號表明運算次序、排除二義性;有效地使用空格符以區(qū)別程序的不同意群。2. 什

46、么是軟件測試?答:軟件測試從廣義上講, 是指軟件產(chǎn)品生存周期內(nèi)所有的檢查、評審和確認活動。從狹義上講,軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程?;蛘哒f, 軟件測試是根據(jù)軟件開發(fā)各個階段的規(guī)格說明和程序內(nèi)部結(jié)構(gòu)而精心設(shè)計一批測試用例,用這些測試用例運行程序,以發(fā)現(xiàn)程序錯誤的過程。3. 軟件測試的原則是什么?答:軟件測試的原則有:1) 應(yīng)該把測試貫穿在整個開發(fā)過程之中。事實上,從需求分析階段開始,每個階段結(jié)束之前都要進行階段審查,目的是盡早發(fā)現(xiàn)和糾正錯誤。2) 每個測試用例都應(yīng)該包括測試輸入數(shù)據(jù)和這組數(shù)據(jù)輸入作用下的預(yù)期輸出結(jié)果。在實際操作中可以列出一張表格,包括每個測試用例的編號、類型、輸入數(shù)據(jù)、預(yù)期輸出結(jié)果、實際輸出結(jié)果、出錯原因分析。3) 要對每個測試結(jié)果進行全面檢查,不要漏掉已經(jīng)出現(xiàn)的錯誤跡象。4) 程序員應(yīng)該盡量避免檢查自己編寫的代碼。測試工作需要嚴格的工作作風(fēng),程序員在測試自己編寫的代碼時往往會帶有一些傾向性,使得他們工作中常常出現(xiàn)一些疏漏。而且,程序員對設(shè)計規(guī)格說明書的理解錯誤而引入的錯誤更是難于發(fā)現(xiàn)。5) 在設(shè)計

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論