版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 09軟件工程一、選擇題:1. 開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱做(C)。A.軟件工程 B.軟件周期 C.軟件危機(jī) 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è)
2、計(jì)者之間執(zhí)行的一種交互構(gòu)成,適用于(A)系統(tǒng)。A需求不確定性高的 B需求確定的 C管理信息 D實(shí)時6. 下列有關(guān)軟件工程的標(biāo)準(zhǔn),屬于國際標(biāo)準(zhǔn)的是(D)A.GB B.DIN C.ISO D.IEEE7. 結(jié)構(gòu)化方法是一種基于(D)的方法。A.數(shù)據(jù)結(jié)構(gòu) B.程序結(jié)構(gòu) C.算法 D.數(shù)據(jù)流8. 軟件可行性研究實(shí)質(zhì)上是要進(jìn)行一次(A)需求分析、設(shè)計(jì)過程。A、簡化、壓縮的 B、詳細(xì)的 C、徹底的 D、深入的9. 可行性研究的目的是(D)A、分析開發(fā)系統(tǒng)的必要性 B、確定系統(tǒng)建設(shè)的方案C、分析系統(tǒng)風(fēng)險(xiǎn) D、確定是否值得開發(fā)系統(tǒng)10. 設(shè)年利率為i,現(xiàn)存入p元,不計(jì)復(fù)利,n年后可得錢
3、數(shù)為(C)。A、P×(1+i*n) B、P×(i+1)*n C、p×(1+i)n D、p×(i+n)11. 可行性研究是在(A)之前A、系統(tǒng)開發(fā) B、測試 C、試運(yùn)行 D、集成測試12.可行性研究需要的時間長短取決于系統(tǒng)的規(guī)模,一般來說,可行性研究的成本只是預(yù)期總成本的(C)。A、1% B、20% C、8% D、50%13.我國正式頒布實(shí)施的(B)對計(jì)算機(jī)病毒的定義具有法律性、權(quán)威性。A計(jì)算機(jī)軟件保護(hù)條例B中華人民共和國計(jì)算機(jī)信息系統(tǒng)安全保護(hù)條例C中華人民共和國著作權(quán)法D計(jì)算機(jī)病毒防治管理辦法14. 效率是一個性能要求
4、,因此應(yīng)當(dāng)在以下(B)階段規(guī)定A、可行性分析B、需求分析C、概要設(shè)計(jì)D、詳細(xì)設(shè)計(jì)15. 需求規(guī)格說明書的作用不包括(D)A、軟件驗(yàn)收的依據(jù) B、用戶與開發(fā)人員對軟件要做什么的共同理解C、軟件可行性研究的依據(jù) D、軟件設(shè)計(jì)的依據(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、SA B、SD C、SP D、SC18. DFD中的每個加工至少有(A)。A、一個輸入流或一個輸出流 B、一個輸入流和一個輸出流C、一個輸入流
5、0; D、一個輸出流19. 需求分析階段的關(guān)鍵任務(wù)是確定(D)A、軟件開發(fā)方法 B、軟件開發(fā)工具C、軟件開發(fā)費(fèi)D、軟件系統(tǒng)的功能20. 在SD方法中全面指導(dǎo)模塊劃分的最重要的原則是(D)。A、程序模塊化B、模塊高內(nèi)聚C、模塊低耦合D、模塊獨(dú)立性21. 在模塊的3種基本屬性中,反映模塊內(nèi)部特性的是(C)。A、接口 B、功能 C、邏輯 D、狀態(tài)22. 模塊的耦合性可以按照耦合程度的高低進(jìn)行排序,以下哪一項(xiàng)符合從低到高的正確次序(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、無直接耦合
6、,數(shù)據(jù)耦合,控制耦合,內(nèi)容耦合23. PDL是描述處理過程(C)A、做什么B、為什么做 C、怎么做D、對誰做24. (D)工具在軟件詳細(xì)設(shè)計(jì)過程中不采用。A、判定表 B、IPO圖 C、PDL D、DFD圖25. 為高質(zhì)量地開發(fā)軟件項(xiàng)目,在軟件結(jié)構(gòu)設(shè)計(jì)時,必須遵循(A)原則。A.信息隱蔽B、質(zhì)量控制 C、程序優(yōu)化D、數(shù)據(jù)共享26. 當(dāng)一個模塊直接使用另一個模塊的內(nèi)部數(shù)據(jù),這種模塊之間的耦合為(D)A、數(shù)據(jù)耦合B、公共耦合C、標(biāo)記耦合D、內(nèi)容耦合27. 詳細(xì)設(shè)計(jì)與概要設(shè)計(jì)銜接的圖形工具是(B)。A、DFD圖 B、SC圖 C、PAD圖 D、程序流程圖28. 下列幾種類型中,耦合性最弱的是
7、(D)。A、內(nèi)容型B、控制型C、公共型D、數(shù)據(jù)型29. 軟件結(jié)構(gòu)使用的圖形工具,一般采用(C)圖。A、DFD B、PAD C、SC D、ER30. 在七種偶合中,最低偶合是(D)。A、內(nèi)容偶合B、公共偶合C、數(shù)據(jù)偶合D、非直接偶合二、簡答題1. 什么是軟件工程?軟件工程的目標(biāo)是什么? 答:軟件工程是將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù)過程,即將工程化應(yīng)用于軟件開發(fā)和管理之中,對中所選方法的研究。合理預(yù)算開發(fā)成本,付出較低的開發(fā)費(fèi)用。實(shí)現(xiàn)預(yù)期的軟件功能,達(dá)到較好的軟件性能,滿足用戶的需求。提高軟件的可維護(hù)性,降低維護(hù)費(fèi)用。提高軟件開發(fā)生
8、產(chǎn)率,及時交付使用2.指出瀑布模型中下列任務(wù)的順序:驗(yàn)收測試,項(xiàng)目計(jì)劃,單元測試,需求評審,成本估計(jì),概要設(shè)計(jì),詳細(xì)設(shè)計(jì),系統(tǒng)測試,設(shè)計(jì)評審,編碼,需求規(guī)格說明書。答:項(xiàng)目計(jì)劃,成本估計(jì),需求規(guī)格說明書,需求評審,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),設(shè)計(jì)評審,編碼,單元測試,系統(tǒng)測試,驗(yàn)收測試3. 可行性研究報(bào)告的主要內(nèi)容是什么?答:可行性研究主要包括以下幾個部分: (1)概述(2)技術(shù)可行性(3)項(xiàng)目成熟程度(4)市場需求情況和風(fēng)險(xiǎn)分析(5)投資估算及資金籌措(6)經(jīng)濟(jì)與社會效益(7)綜合實(shí)力和產(chǎn)業(yè)基礎(chǔ)(8)項(xiàng)目實(shí)施進(jìn)度計(jì)劃(9)其它尚需要說明的必要的方面(10)結(jié)論 4. 什么是需
9、求分析?需求分析階段的基本任務(wù)是什么? 答:所謂"需求分析",是指對要解決的問題進(jìn)行詳細(xì)的分析,弄清楚問題的要求,包括需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應(yīng)輸出什么。可以說,“需求分析”就是確定要計(jì)算機(jī)“做什么”。 任務(wù):確定軟件項(xiàng)目的目標(biāo)和范圍。調(diào)查使用者的要求,分析軟件必須做什么,編寫需求規(guī)格說明書等它相關(guān)文檔,并進(jìn)行必要的需求審查。除此之外,還包括需求變更控制,需求風(fēng)險(xiǎn)控制,需求版本控制等對需求的管理工作5. 什么是結(jié)構(gòu)化分析方法?該方法使用什么描述工具? 答:結(jié)構(gòu)化的分析方法是面向數(shù)據(jù)流的方法,因此,此方法研究的核心是數(shù)據(jù)的組成
10、和數(shù)據(jù)流向和對數(shù)據(jù)的加工處理。結(jié)構(gòu)化分析方法用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直至找到滿足功能要求的所有可實(shí)現(xiàn)的軟件元素為止 描述工具:1系統(tǒng)流程圖 2 數(shù)據(jù)流程圖3數(shù)據(jù)字典4 IPO圖 5層次方框圖6實(shí)體關(guān)系圖7狀態(tài)變遷圖6. 結(jié)構(gòu)化分析方法通過哪些步驟來實(shí)現(xiàn)?答:1)確定系統(tǒng)的功能要求2)確定系統(tǒng)的數(shù)據(jù)要求3)確定系統(tǒng)的操作要求和界面要求4)確定系統(tǒng)的性能要求5)確定系統(tǒng)的運(yùn)行要求6)獲得當(dāng)前系統(tǒng)的物理模型7)抽象出當(dāng)前系統(tǒng)的邏輯模型8)建立目標(biāo)系統(tǒng)的邏輯模型。9)修正開發(fā)計(jì)劃10)如果需要則開發(fā)系統(tǒng)原型7. 什么是數(shù)據(jù)流圖?其作用是什么?其
11、中的基本符號各表示什么含義?答:數(shù)據(jù)流圖:簡稱DFD,就是采用圖形方式來表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達(dá)工具及用于表示軟件模型的一種圖示方法。 數(shù)據(jù)流圖的基本符號的意思:1.矩形表示數(shù)據(jù)的外部實(shí)體;2.圓角的矩形表示變換數(shù)據(jù)的處理邏輯;3.少右面的邊矩形表示數(shù)據(jù)的存儲;4.箭頭表示數(shù)據(jù)流。8. 什么是數(shù)據(jù)字典?其作用是什么?它有哪些條目?答:數(shù)據(jù)字典,主要用來描述數(shù)據(jù)流程圖中的數(shù)據(jù)流、數(shù)據(jù)存儲、處理過程和和數(shù)據(jù)源點(diǎn)/終點(diǎn)。作用:數(shù)據(jù)流程圖描述了系統(tǒng)的邏輯結(jié)構(gòu),其中的四個基本圖形元素的含義無法在數(shù)據(jù)流程圖中詳細(xì)說明,因此數(shù)據(jù)流
12、程圖需要與其他工具配合使用,數(shù)據(jù)字典就是這樣的工具之一。包括的條目:數(shù)據(jù)流詞條數(shù)據(jù)元素詞條數(shù)據(jù)存儲詞條數(shù)據(jù)加工處理詞條數(shù)據(jù)源點(diǎn)及終點(diǎn)詞條9. 什么是概要設(shè)計(jì)?有哪些基本任務(wù)?答:概要設(shè)計(jì):根據(jù)用戶的需求先確定軟件系統(tǒng)的總體結(jié)構(gòu)和總的設(shè)計(jì)原則基本的任務(wù):設(shè)想供選擇的方案。推薦最佳方案。功能分解,確定軟件結(jié)構(gòu)。設(shè)計(jì)軟件結(jié)構(gòu)。制定測試計(jì)劃。數(shù)據(jù)設(shè)計(jì)。書寫文檔。包括總體設(shè)計(jì)規(guī)格說明書。用戶手冊。測試計(jì)劃。設(shè)計(jì)審查和復(fù)審。10. 詳細(xì)設(shè)計(jì)的基本任務(wù)是什么?有那幾種描述方法?答:詳細(xì)設(shè)計(jì)階段的任務(wù)是要為編寫程序代碼設(shè)計(jì)“圖紙”,由程序員按“圖紙”用某種高級程序設(shè)計(jì)語言編寫程序代碼。主要方法有設(shè)計(jì)程序流程圖
13、,表格設(shè)計(jì)符號以及過程設(shè)計(jì)語言。11. 什么是變換流?什么是事物流?答:變換型數(shù)據(jù)流可以劃分為明顯的三部分:邏輯輸入,中心變換,邏輯輸出事務(wù)流的特點(diǎn)是數(shù)據(jù)沿某個輸入路徑流動,該路徑將外部信息轉(zhuǎn)換成事務(wù),其中發(fā)射出多條事務(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)
14、系,并且所有動作是在相同的數(shù)據(jù)上執(zhí)行。信息內(nèi)聚一個模塊中執(zhí)行一系列動作,每個動作都有自己的入口點(diǎn)和處理代碼,所有的動作都作用在相同的數(shù)據(jù)結(jié)構(gòu)上,這樣的模塊叫做信息內(nèi)聚。功能性內(nèi)聚一個模塊中各個部分都是完成某一具體功能必不可少的組成部分耦合分為七類:內(nèi)容耦合如果一個模塊直接參考另一個模塊的內(nèi)容,則這兩個模塊是內(nèi)容耦合。公共耦合如果多個模塊都訪問同一個公共數(shù)據(jù)環(huán)境,則稱它們是公共耦合。外部耦合如果兩個模塊都訪問同一個全局簡單變量而不是同一全局?jǐn)?shù)據(jù)結(jié)構(gòu),而且,不是通過參數(shù)表傳遞該全局變量的信息,則這兩個模塊屬于外部耦合??刂岂詈先绻KA向模塊B傳遞一個控制信息,則稱這兩個模塊是控制耦合的數(shù)據(jù)結(jié)構(gòu)耦
15、合當(dāng)一個模塊調(diào)用另一個模塊時傳遞了整個數(shù)據(jù)結(jié)構(gòu),這兩個模塊之間具有數(shù)據(jù)結(jié)構(gòu)耦合。數(shù)據(jù)耦合如果兩個模塊傳遞的是數(shù)據(jù)項(xiàng),則這兩個模塊是數(shù)據(jù)耦合。非直接耦合如果兩個模塊之間沒有直接關(guān)系,它們之間的聯(lián)系完全通過主模塊的控制和調(diào)用來實(shí)現(xiàn)的,這就是非直接耦合。三、應(yīng)用題 1某旅館的電話服務(wù)如下:可以撥分機(jī)號和外線號碼。分機(jī)號是從7201至7299。外線號碼先撥9,然后是市話號碼或長話號碼。長話號碼是以區(qū)號和市話號碼組成。區(qū)號是從100到300中任意的數(shù)字串。市話號碼是以局號和分局號組成。局號可以是455,466,888,552中任意一個號碼。分局號是任意長度為4的數(shù)字串。寫出在數(shù)據(jù)字典中,電話
16、號碼的數(shù)據(jù)條目的定義(即組成)。 名稱 簡稱 類型 長度 取值范圍分機(jī)號 Extension_Number 字符 4 7201.7299外線市話號 Addition_Internumber 字
17、符 9 9+455|466|888|552+4數(shù)字4外線長話號 Addition_Extennumber 字符 12 9+100|101|102|.|298|299|300+455|466|888|552+4數(shù)字42下面是旅客訂飛機(jī)票的需求描述,試畫出分層的數(shù)據(jù)流程圖。顧客將訂票單交給預(yù)訂系統(tǒng):(1)如果是不合法訂票單,則輸出無效訂票信息;(2)對合法訂票單的預(yù)付款登錄到一個記賬文件中;(3)系統(tǒng)有航班目錄文件,根據(jù)填寫的旅行時間和目的地為顧客安排航班;(4)在獲得正確航班信息和確認(rèn)已交了部分預(yù)付款時發(fā)出取票單
18、,并記錄到取票單文件中。顧客在指定日期內(nèi)用取票單換取機(jī)票:(1)系統(tǒng)根據(jù)取票單文件對取票單進(jìn)行有效性檢查,無效的輸出無效取票信息;(2)持有有效取票單的顧客在補(bǔ)交了剩余款后將獲得機(jī)票;(3)記賬文件將被更新,機(jī)票以及顧客信息將被登錄到機(jī)票文件。訂單中有訂票日期、旅行日期、時間要求(上午、下午、晚上)、出發(fā)地、目的地、顧客姓名、身份證號、聯(lián)系電話。3一個簡化的圖書館信息管理系統(tǒng)有以下功能:(1)借書:輸入讀者借書證,系統(tǒng)檢查借書證是否有效;查閱借書文件,檢查該讀者所借圖書是否超過10本,若已達(dá)10本,顯示信息“已經(jīng)超出借書數(shù)量”,拒借;未達(dá)10本,辦理借書(檢查庫存、修改庫存信息并將讀者借書信息
19、登入借書記錄)(2)還書:輸入書號和讀者號,從借書記錄中讀出與讀者有關(guān)的記錄,查閱所借日期,如果超過3個月,作罰款處理。否則,修改庫存信息與借書記錄。(3)查詢:可通過借書記錄、庫存信息查詢讀者情況、圖書借閱情況及庫存情況,打印各種統(tǒng)計(jì)表。請就以上系統(tǒng)功能畫出分層的DFD圖,并建立重要條目的數(shù)據(jù)字典。數(shù)據(jù)字典:元素名稱 名稱 類型 說 明IPO1 還書處理 &
20、#160; 處理 根據(jù)書號做還書處理,違規(guī)做處罰IPO2 有效性檢查 處理 檢查讀者號,圖書號的有效性IPO3 借書處理 處理 按讀者號,圖書號進(jìn)行借書處理IPO4 查詢
21、; 處理 管理員對一些基本信息進(jìn)行查詢IPO5 打印報(bào)表 處理 打印查詢到的信息IPO6 處罰管理 處理 根據(jù)規(guī)則對延期給予相應(yīng)的處罰IPO7 &
22、#160; 數(shù)量檢查 處理 對讀者借出的數(shù)量是否符合規(guī)定進(jìn)行檢查DS001 讀者信息 數(shù)據(jù)存儲 讀者信息錄入,修改,刪除,保存DS002 庫存信息 數(shù)據(jù)存儲 圖書的基本的情況以及所有圖書的整體情況DS003 錯還信息
23、 數(shù)據(jù)存儲 存儲借還書信息,系統(tǒng)自動處理,不能人工錄入DS004 處罰信息 數(shù)據(jù)存儲 存儲延期的處罰信息軟件工程作業(yè)2(第57章) 一、選擇題3 1. 從本質(zhì)上說,面向?qū)ο笫恰跋取贝_定(A)后確定執(zhí)行的動作。 A.動作的主體 B.屬性 C.關(guān)系 D.方法 2. (B)是對象的靜態(tài)特征。 A.方法 B.屬性 C.關(guān)系 D.操作3. 對象的(D)使對象的動態(tài)特征 A.特征 B.屬性 C.關(guān)系 D.操作 4. 屬
24、于某個類的一個具體對象稱為該類的(A)。 A.實(shí)例 B.虛擬 C.繼承 D.多態(tài)5. UML是(A)。A 一種可視化的建模語言 B 是一種可視化的程序設(shè)計(jì)語言 C 是一種過程 D 是一種方法6. 封裝的的作用是(A)。A.復(fù)用 B.對象 C.實(shí)例 D.方法7.面向?qū)ο蠓治龅暮诵脑谟诮ⅲ˙)模型。 A. 建立正確的模型 B. 識別問題域?qū)ο?C.識別對象之間的關(guān)系 D.上面所有8.面向?qū)ο蠓治鲞^程中建立的模型有(D )。 A. 數(shù)據(jù)模型、功能模型、活動模型B.對象模型、功能模型、測試模型C. 屬性模型、功能模型、對象模型D. 對象模型、功能模型、動態(tài)模型9. 下列的(C)不
25、是分析建模的目的。 A. 定義可驗(yàn)證的軟件需求B. 描述客戶需求 C.開發(fā)一個簡單的問題解決方案 D. 建立軟件設(shè)計(jì)的基礎(chǔ) 10. 下列的( C)不屬于面向?qū)ο蠓治瞿P?。A.用例圖 B.類圖 C.實(shí)體關(guān)系圖 D.順序圖 11.(A)用于描述系統(tǒng)中概念層次的對象。 A.分析類 B. 界面類 C.實(shí)體類 D.控制類12.在基于用例的面向?qū)ο蠓治鲞^程中,定義交互行為的關(guān)鍵在于通過描述分析類實(shí)例之間的(A)將用例的職責(zé)分配到分析類中。 A. 消息傳遞B.關(guān)聯(lián)關(guān)系 C 繼承關(guān)系 D 上下文關(guān)系13.用例的實(shí)現(xiàn)細(xì)節(jié)不會在(B)描述。A. 用例說明 B.用例圖 C.活動圖 D.順序圖14
26、.用例的職責(zé)通常分配給(D)的對象。A. 發(fā)送消息 B.接收消息 C.發(fā)送和接收雙方 D.分析類15.組織機(jī)構(gòu)圖是(C)。A. UML的一個最新圖 B.類圖的一種 C.用于識別角色的輔助圖 D.用例圖的一種16.在圖書館系統(tǒng)中,假如已經(jīng)構(gòu)造了一個一般借書者類,后來發(fā)現(xiàn)圖書館的學(xué)生和教師在借書中有不同要求。請問在面向?qū)ο笤O(shè)計(jì)中用(B)方法可以方便地設(shè)計(jì)這兩個類? A.信息隱藏 B.繼承 C.動態(tài)聯(lián)編 D.代碼復(fù)制 18框架是一組可用于不同應(yīng)用的(A)集合 A.類 B.對象 C.模塊 D.代碼 19下面(D)選項(xiàng)不能描述子系統(tǒng)之間的關(guān)系。 A.請求服務(wù)關(guān)系
27、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è)計(jì)在(B),以減少重新開發(fā)的工作量。 A. 接口層 B.中間層 C.最低層 D.最高層22.每個用例至少應(yīng)該有一個(C),它通常沒有屬性而只有方法,只是起協(xié)調(diào)和控制作用。 A. 接口類 B.實(shí)體類 C.控制類 D.界面類 23.類有三種類型即(A)。A. 邊界類、實(shí)體類、控制類 B.實(shí)體類、數(shù)據(jù)類、界面類C. 控制類、實(shí)體類、數(shù)據(jù)類 D.界面類、控制類、公共類2
28、4.下面那個選項(xiàng)不是正確的面向?qū)ο笤O(shè)計(jì)思想。(C) A.對接口進(jìn)行設(shè)計(jì) B.發(fā)現(xiàn)變化并且封裝它C.先繼承后組合 D.先組合后繼承25.定義類的屬性類型時盡量使用已有的類型,太多的自定義類型會降低系統(tǒng)的(A)指標(biāo)。A.可維護(hù)性 B.安全性 C.開發(fā)效率 D.可移植性二、簡答題1. 舉例說明類和對象的關(guān)系。答:學(xué)生可作為一個類-學(xué)生類,每個學(xué)生就是這個學(xué)生類的一個實(shí)例,例如,學(xué)生張三就是學(xué)生類的一個實(shí)例。2. 面向?qū)ο蠓治龅年P(guān)鍵步驟有哪些?應(yīng)建立哪幾個模型?答:關(guān)鍵步驟有識別問題域的對象并分析它們相互之間的關(guān)系,建立簡潔、精確、可理解的正確模型;應(yīng)建立的模型有功能模型,對象模型,動態(tài)模型
29、。3. 什么是實(shí)體類、邊界類和控制類?為什么將分析類劃分成這三種類型?答:(1)實(shí)體類保存要存入永久存儲體的信息。實(shí)體類通常在事件流或交互圖中,是對用戶最有意義的類。 邊界類位于系統(tǒng)與外界的交界處,包括所有的窗體、報(bào)表、系統(tǒng)硬件接口、與其他系統(tǒng)的接口??刂祁愗?fù)責(zé)協(xié)調(diào)其他類的工作。每個用例中至少應(yīng)該有一個控制類,它控制用況中的事件順序。(2)分為三種類型是因?yàn)樗鼈兏髯缘墓δ懿煌?。界面類描述系統(tǒng)與角色之間的接口。 控制類在分析模型內(nèi)表示協(xié)調(diào)、順序、事務(wù)處理以及控制其他對象的類。 實(shí)體類為需要長久保存的信息進(jìn)行建模的類。4. UML中有哪幾類個視圖,它們的作用分別是什
30、么?答:(1)用例視圖.用例視圖用于描述系統(tǒng)的功能集。它是從系統(tǒng)外部以用戶角度,對系統(tǒng)做的抽象表示。用例視圖所描述的系統(tǒng)功能依靠于外部用戶或另一個系統(tǒng)觸發(fā)激活,為用戶或另一個系統(tǒng)提供服務(wù),實(shí)現(xiàn)與用戶或另一個系統(tǒng)之間的交互。用例視圖中可以包含若干個用例,用例表示系統(tǒng)能夠提供的功能,用例視圖是其他視圖的核心和基礎(chǔ)。其他視圖的構(gòu)造依賴于用例視圖中所描述的內(nèi)容,因?yàn)橄到y(tǒng)的最終目標(biāo)是實(shí)現(xiàn)用例視圖中描述的功能,同時附帶一些非功能性的特性,因此用例視圖影響著所有其他的視圖。(2)邏輯視圖.如果說用例視圖描述系統(tǒng)“做什么”,那么邏輯視圖就是描述“怎么做”。系統(tǒng)的靜態(tài)結(jié)構(gòu)描述類、對象和它們之間的關(guān)系,反映的是系
31、統(tǒng)靜態(tài)特征或結(jié)構(gòu)組成。(3)組件視圖.組件視圖用來描述系統(tǒng)實(shí)現(xiàn)的結(jié)構(gòu)和行為特征,反映系統(tǒng)各組成元素之間的關(guān)系。組件視圖由組件圖實(shí)現(xiàn),主要供開發(fā)者和管理者使用。(4)并發(fā)視圖.并發(fā)視圖用來描述系統(tǒng)的動態(tài)和行為特征。并發(fā)視圖將任務(wù)劃分為進(jìn)程或線程形式,通過任務(wù)劃分引入并發(fā)機(jī)制,可以高效地使用資源、并行執(zhí)行和處理異步事件。除了劃分系統(tǒng)為并發(fā)執(zhí)行的進(jìn)程或線程外,并發(fā)視圖還必須處理通信和同步問題。(5)配置視圖.配置視圖體現(xiàn)了系統(tǒng)的實(shí)現(xiàn)環(huán)境,反映系統(tǒng)的物理架構(gòu)。配置視圖還包括一個映射,該映射顯示在物理架構(gòu)中組件是怎樣分配的。 5. 順序圖在分析階段的作用?. 答:順序圖描述了一組交互
32、對象間的交互方式,它表示完成某項(xiàng)行為的對象和這些對象之間傳遞消息的時間順序6.活動圖在分析階段的作用? 答:活動圖反映系統(tǒng)中從一個活動到另一個活動的流程,強(qiáng)調(diào)對象間的控制流程。活動圖特別適合描述工作流和并行處理過程。具體地說活動圖可以描述一個操作過程中需要完成的活動;描述一個對象內(nèi)部的工作;描述如何執(zhí)行一組相關(guān)的動作,以及這些動作如何影響它們周圍的對象;說明一個業(yè)務(wù)活動中角色、工作流、組織和對象是如何工作的。7.比較結(jié)構(gòu)化設(shè)計(jì)和面向?qū)ο笤O(shè)計(jì)區(qū)別?答:結(jié)構(gòu)化設(shè)計(jì):系統(tǒng)被劃分成多個模塊,這些模塊被組織成一個樹型結(jié)構(gòu)。根就是主模塊,葉子是最低級的功能模塊。這棵樹也表示調(diào)用結(jié)構(gòu):每個模塊都調(diào)
33、用自己的直接下級模塊,并被自己的直接上級模塊調(diào)用。頂層模塊負(fù)責(zé)收集應(yīng)用程序最重要的那些執(zhí)行策略,底層模塊實(shí)現(xiàn)處理細(xì)節(jié)。在這個體系結(jié)構(gòu)中越靠上層位置,概念的抽象層次就越高。但是,由于上層模塊需要調(diào)用下層模塊,所以這些上層模塊就依賴于下層模塊的處理細(xì)節(jié)。也就是說,當(dāng)實(shí)現(xiàn)細(xì)節(jié)發(fā)生變化時,抽象也會受到影響;如果想復(fù)用某一個抽象的話,就必須把它依賴的細(xì)節(jié)都一起拖過去。面向?qū)ο笤O(shè)計(jì):上層創(chuàng)建的抽象不依賴于任何細(xì)節(jié),而細(xì)節(jié)則高度依賴于上層的抽象。這種依賴關(guān)系的變化正是結(jié)構(gòu)化設(shè)計(jì)與面向?qū)ο笤O(shè)計(jì)的根本區(qū)別。 8.什么是框架,它與“設(shè)計(jì)”有什么關(guān)系? 答:框架是一組可用于不同應(yīng)用的類的集合。框
34、架中的類通常是一些抽象類并且相互有聯(lián)系,可以通過繼承的方式使用這些類,當(dāng)面向?qū)ο笤O(shè)計(jì)進(jìn)行底層設(shè)計(jì)時,對每個類進(jìn)行詳細(xì)設(shè)計(jì),設(shè)計(jì)類的屬性和操作,優(yōu)化類之間的關(guān)系,就可以設(shè)計(jì)成框架來對類的設(shè)計(jì)進(jìn)行構(gòu)架和優(yōu)化。9.系統(tǒng)的物理構(gòu)架中應(yīng)該包括哪些信息?答:用UML的配置圖描述系統(tǒng)的物理構(gòu)架,然后將需求分析階段捕獲的系統(tǒng)功能分配到這些物理節(jié)點(diǎn)上。包括的信息為節(jié)點(diǎn)的拓?fù)浣Y(jié)構(gòu)、硬件設(shè)備配置、通信路徑、各個節(jié)點(diǎn)上運(yùn)行的系統(tǒng)軟件配置、應(yīng)用軟件配置。 三、應(yīng)用題 一個多媒體商店系統(tǒng)包含一個由媒體文件構(gòu)成的數(shù)據(jù)庫,有兩類媒體文件:圖像文件和聲音文件。每個媒體文件都有名稱和唯一的編碼,而且文件包含
35、作者信息和格式信息,聲音文件還包含聲音文件的時長(以秒為單位)和作者的信息。假設(shè)每個媒體文件可以由唯一的編碼所識別,系統(tǒng)要提供以下功能:1) 媒體庫中可以添加新的特別媒體文件。 2) 通過給定的文件編碼查找需要的媒體文件。3) 從媒體庫中刪除指定的媒體文件。 4) 給出媒體庫中媒體文件的數(shù)量??紤]類imageFile和audioFile應(yīng)該具有哪些恰當(dāng)?shù)膶傩院头椒?#160;答:imageFile類的屬性有:Name(文件名稱),Code(編碼),AuthorInfo(作者信息),F(xiàn)ormat(格式信息);audioFile類除了擁有以上屬性外還有屬性Time(文件時長);
36、 imageFile類的方法:Add(imageFile)(添加圖像文件),Delete(Code)(刪除文件),GetFile(Code)(查找文件),GetNumber()(返回媒體文件的數(shù)量);audioFile類的方法:Add(audioFile)(添加聲音文件),Delete(Code)(刪除文件),GetFile(Code)(查找文件),GetNumber()(返回媒體文件的數(shù)量)。 2.若把學(xué)生看成一個實(shí)體,它可以分成多個子實(shí)體,如小學(xué)生、中學(xué)生和大學(xué)生等。在面向?qū)ο蟮脑O(shè)計(jì)中,可以創(chuàng)建如下4個類:類Student、類Elementary Student、Middle S
37、tudent;類University Student。試給出這4個類的屬性以及它們之間的關(guān)系。答:Student類為基類,其他三個類都是Student的子類。 Student類的屬性有:Name(姓名),Sex(性別),Age(年齡),Class(班級)。Elementary Student類的屬性有:IsTeamMember(是否是少先隊(duì)員),IsGoodStudent(是否是三好學(xué)生)。Middle Student類的屬性為:IsMember(是否是團(tuán)員),Subject(文科理科)。University Student類的屬性為:IsPartyMember(是否黨員),Depa
38、rtment(學(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)書的過程。2.使用順序圖描述下面的情景,當(dāng)用戶在自己的計(jì)算機(jī)上向網(wǎng)絡(luò)打印機(jī)發(fā)出一個打印任務(wù)時,他的計(jì)算機(jī)便向打印機(jī)服務(wù)器發(fā)送一條打印命令print(file),打印機(jī)服務(wù)器如果發(fā)現(xiàn)網(wǎng)絡(luò)打印機(jī)處于空閑狀態(tài),則向打印機(jī)發(fā)送打印命令pr
39、int(file),否則向打印隊(duì)列發(fā)送一條保存命令store(file)。3.某報(bào)社采用面向?qū)ο蠹夹g(shù)實(shí)現(xiàn)報(bào)刊征訂的計(jì)算機(jī)管理系統(tǒng),該系統(tǒng)基本需求如下:(1)報(bào)社發(fā)行多種刊物,每種刊物通過訂單來征訂,訂單中有代碼,名稱,訂期,單價(jià),份數(shù)等項(xiàng)目,訂戶通過填寫訂單來訂閱報(bào)刊。(2)報(bào)社下屬多個發(fā)行站,每個站負(fù)責(zé)收集登陸訂單、打印收款憑證等事務(wù)。(3)報(bào)社負(fù)責(zé)分類并統(tǒng)計(jì)各個發(fā)行站送來的報(bào)刊訂閱信息。請就此需求建立對象模型。軟件工程作業(yè)3(第811章)一、 選擇題1. 結(jié)構(gòu)化語言是介于自然語言和形式語言之間的一種(D)。 A半形式語言B計(jì)算機(jī)語言 C低級語言 D高級語言2. 程序設(shè)計(jì)語言的技術(shù)
40、特性不應(yīng)包括(C)。 A、數(shù)據(jù)結(jié)構(gòu)的描述性B、抽象類型的描述性 C、數(shù)據(jù)庫的易操作性D、軟件的可移植性3. 程序的三種基本控制結(jié)構(gòu)是(B)。 A過程、子程序和分程序 B順序、選擇和重復(fù) C遞歸、堆棧和隊(duì)列 D調(diào)用、返回和轉(zhuǎn)移 4. 結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是(D)。A程序的規(guī)模B程序的效率 C程序設(shè)計(jì)語言的先進(jìn)性 D程序易讀性5. 下列關(guān)于功能性注釋不正確的說法是(B)。A.功能性注釋嵌在源程序中,用于說明程序段或語句的功能以及數(shù)據(jù)的狀態(tài)B.注釋用來說明程序段,需要在每一行都要加注釋C.可使用空行或縮進(jìn),以便很容易區(qū)分注釋和程序D.修改程序也應(yīng)
41、修改注釋6. 下列關(guān)于效率的說法不正確的是(D)。A.效率是一個性能要求,其目標(biāo)應(yīng)該在需求分析時給出B.提高程序效率的根本途徑在于選擇良好的設(shè)計(jì)方法,數(shù)據(jù)結(jié)構(gòu)與算法C.效率主要指處理機(jī)時間和存儲器容量兩個方面D.程序的效率與程序的簡單性無關(guān)7. 結(jié)構(gòu)化維護(hù)與非結(jié)構(gòu)化維護(hù)的主要區(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)和指定的覆蓋標(biāo)準(zhǔn)。A程序內(nèi)部邏輯 B程序復(fù)雜結(jié)構(gòu) C使用說明書 D程序的功能10.
42、 確認(rèn)測試主要涉及的文檔是(A)。A、需求規(guī)格說明書B、概要設(shè)計(jì)說明書C、詳細(xì)設(shè)計(jì)說明書D、源程序11. 測試的關(guān)鍵問題是(D)。A.如何組織對軟件的評審 B.如何驗(yàn)證程序的正確性 C.如何采用綜合策略 D.如何選擇測試用例12. 黑盒測試在設(shè)計(jì)測試用例時,主要研究(A)。A.需求規(guī)格說明 B.詳細(xì)設(shè)計(jì)說明 C.項(xiàng)目開發(fā)計(jì)劃 D.概要設(shè)計(jì)說明與詳細(xì)設(shè)計(jì)說明13. 下面哪些測試屬于黑盒測試(B)。A、路徑測試B、等價(jià)類劃分 C、條件判斷 D、循環(huán)測試14. 在下述哪一種測試中,測試人員必須接觸到源程序(B)。A、功能測試 B、結(jié)構(gòu)測試C、功能測試和結(jié)構(gòu)測試 D、性能測試15. 檢查軟件
43、產(chǎn)品是否符合需求定義的過程稱為(D)。 A、確認(rèn)測試B、集成測試C、驗(yàn)收測試D、驗(yàn)證測試16. 軟件測試方法中,黑盒、白盒測試法是常用的方法,其中白盒測試主要用于測試(D)。A、 結(jié)構(gòu)合理性B、軟件外部功能C、程序正確性D、程序內(nèi)部邏輯17. 軟件維護(hù)中,因修改交互輸入的順序,沒有正確的記錄而引起的錯誤是(A)產(chǎn)生的副作用。A、文檔B、數(shù)據(jù) C、編碼D、設(shè)計(jì)18. 以下屬于軟件維護(hù)階段文檔的是(C)。 A、軟件需求說明B、操作手冊C、軟件問題報(bào)告D、測試分析報(bào)告19. 產(chǎn)生軟件維護(hù)的副作用,是指(C)。A、開發(fā)時的錯誤 B、隱含的錯誤 C、因修改軟件而造成的錯誤 D、運(yùn)行時
44、誤操作20. 維護(hù)中,因誤刪除一個標(biāo)識符而引起的錯誤是(C)副作用。A、文檔 B、數(shù)據(jù) C、編碼 D、設(shè)計(jì) 21. 可維護(hù)性的特性中,相互促進(jìn)的(A)。 A、可理解性和可測試性B、效率和可移植性 C、效率和可修改性 D、效率和結(jié)構(gòu)好22. 軟件維護(hù)的困難主要原因是(C)A、費(fèi)用低 B、人員少 C、開發(fā)方法的缺陷 D、用戶不配合23. 軟件維護(hù)費(fèi)用高的主要原因是(C)。 A、人員少B、人員多C、生產(chǎn)率低D、生產(chǎn)率高24. 為了適應(yīng)軟硬件環(huán)境變化而修改軟件的過程是(C)。 A、校正性維護(hù) B、完善性維護(hù) C、適應(yīng)性維護(hù)D、預(yù)防性維護(hù) 25
45、. 可維護(hù)性的特性中,相互矛盾的是(B)A.可理解性與可測試性 B.效率與可修改性 C.可修改性和可理解性 D.可理解性與可讀性26. 各種不同的軟件維護(hù)中,以(C)維護(hù)所占的維護(hù)量最小。A、 糾錯性維護(hù)B、代碼維護(hù)C、預(yù)防性維護(hù)D、文檔維護(hù) 27. 在變更控制中,(B)可以用來確保由不同用戶所執(zhí)行的并發(fā)變更。A異步控制B同步控制C存取控制D基線控制 28. 變更控制是一項(xiàng)最重要的軟件配置任務(wù),其中“檢出”和(A)處理實(shí)現(xiàn)了兩個重要的變更控制要素,即存取控制和同步控制。A登入B管理C填寫變更要求D審查29. 用圖表示軟件項(xiàng)目進(jìn)度安排,下列說法中正確的是(B) A.
46、能夠反映多個任務(wù)之間的復(fù)雜關(guān)系 B.能夠直觀表示任務(wù)之間相互依賴制約關(guān)系 C.能夠表示哪些任務(wù)是關(guān)鍵任務(wù) D.能夠表示子任務(wù)之間的并行和串行關(guān)系30. 基線可作為軟件生存期中各開發(fā)階段的一個檢查點(diǎn)。當(dāng)采用的基線發(fā)生錯誤時,可以返回到最近和最恰當(dāng)?shù)模–)上A.配置項(xiàng)B.程序C.基線D.過程 二、 簡答題 1. 為建立良好的編程風(fēng)格應(yīng)遵循什么原則?答:1)節(jié)簡化 不使用不必要的變量和函數(shù) 避免變量重名,變量重名可導(dǎo)致很難被發(fā)現(xiàn)的錯誤。盡量減小代碼量。盡量減少代碼的執(zhí)行時間,提高執(zhí)行效率。 避免功能冗余的模塊。盡量不使用全局變量。2)模塊化 確保物理
47、和邏輯功能密切相關(guān)。限定一個模塊完成一個獨(dú)立的功能,提高模塊的內(nèi)聚度。檢查代碼的重復(fù)率,重復(fù)多的代碼,要抽出來作為一個單獨(dú)的模塊。3)簡單化 采用直接了當(dāng)?shù)乃惴?,避免使用技巧性高和難懂的代碼。使用簡單的數(shù)據(jù)結(jié)構(gòu),避免使用多維數(shù)組、指針和復(fù)雜的表。注意對象命名的一致性。以手工的方式簡化算術(shù)和邏輯表達(dá)式。4)結(jié)構(gòu)化 按標(biāo)準(zhǔn)化的次序說明數(shù)據(jù);按字母順序說明對象名;使用讀者明了的結(jié)構(gòu)化程序部件;采用直截了當(dāng)?shù)乃惴?;根?jù)應(yīng)用背景排列程序各個部分;不隨意為效率而犧牲程序的清晰度和可讀性;讓機(jī)器多做煩瑣的工作,如重復(fù)、庫函數(shù);用公共函數(shù)調(diào)用代替重復(fù)出現(xiàn)的表達(dá)式;避免循環(huán)、分支的嵌套層數(shù)過高;單入口單出口。5
48、)文檔化 有效、適當(dāng)?shù)厥褂米⑨?。協(xié)調(diào)使用程序塊注釋和程序行注釋。保持文檔和程序的同步。6)格式化 始終采用統(tǒng)一縮進(jìn)規(guī)則;適當(dāng)插入括號表明運(yùn)算次序、排除二義性;有效地使用空格符以區(qū)別程序的不同意群。 2. 什么是軟件測試? 答:軟件測試從廣義上講,是指軟件產(chǎn)品生存周期內(nèi)所有的檢查、評審和確認(rèn)活動。從狹義上講,軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。或者說,軟件測試是根據(jù)軟件開發(fā)各個階段的規(guī)格說明和程序內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批測試用例,用這些測試用例運(yùn)行程序,以發(fā)現(xiàn)程序錯誤的過程。 3. 軟件測試的原則是什么? 答:軟件測試的原則有:1)應(yīng)該把測試貫穿在整個開
49、發(fā)過程之中。事實(shí)上,從需求分析階段開始,每個階段結(jié)束之前都要進(jìn)行階段審查,目的是盡早發(fā)現(xiàn)和糾正錯誤。2)每個測試用例都應(yīng)該包括測試輸入數(shù)據(jù)和這組數(shù)據(jù)輸入作用下的預(yù)期輸出結(jié)果。在實(shí)際操作中可以列出一張表格,包括每個測試用例的編號、類型、輸入數(shù)據(jù)、預(yù)期輸出結(jié)果、實(shí)際輸出結(jié)果、出錯原因分析。3) 要對每個測試結(jié)果進(jìn)行全面檢查,不要漏掉已經(jīng)出現(xiàn)的錯誤跡象。4)程序員應(yīng)該盡量避免檢查自己編寫的代碼。測試工作需要嚴(yán)格的工作作風(fēng),程序員在測試自己編寫的代碼時往往會帶有一些傾向性,使得他們工作中常常出現(xiàn)一些疏漏。而且,程序員對設(shè)計(jì)規(guī)格說明書的理解錯誤而引入的錯誤更是難于發(fā)現(xiàn)。5)在設(shè)計(jì)測試用例時,應(yīng)該包括有效
50、的、期望的輸入情況,也要包括無效的和不期望的輸入情況。既能夠驗(yàn)證程序正常運(yùn)行的合理輸入,也能夠驗(yàn)證對異常情況處理的不合理輸入數(shù)據(jù)以及臨界數(shù)據(jù)。在測試程序時,人們常常過多地考慮合法的和期望的輸入條件,以檢查程序是否做了它應(yīng)該做的事情,而忽視了不合法的和預(yù)想不到的輸入條件。事實(shí)上,用戶在使用系統(tǒng)時,輸入一些錯誤指令和參數(shù)是經(jīng)常發(fā)生的,如果軟件遇到這種情況不能做出適當(dāng)?shù)姆磻?yīng),給出相應(yīng)的提示信息,就可能會誤導(dǎo)用戶,甚至造成嚴(yán)重?fù)p失。6)軟件中遺留的錯誤數(shù)量與已經(jīng)發(fā)現(xiàn)的錯誤數(shù)量成正比。根據(jù)這個規(guī)律,對測試中發(fā)現(xiàn)錯誤成堆的模塊更要仔細(xì)測試。例如,在某個著名的操作系統(tǒng)中,44%的錯誤僅與4%的模塊有關(guān)。7)
51、 回歸測試的關(guān)聯(lián)性要特別引起注意,修改一個錯誤而引起更多錯誤的現(xiàn)象并不少見。8)測試程序時不僅要檢查程序是否做了它應(yīng)該做的事情,還要檢查它是否做了不該做的事情。例如,工資軟件中,軟件只完成在編職工的工資計(jì)算和輸出,不在編人員的工資是不進(jìn)行計(jì)算和輸出的。如果軟件將不在編人員的工資信息也輸出顯然是不合適的。9)嚴(yán)格執(zhí)行測試計(jì)劃。在測試之前應(yīng)該有明確的測試計(jì)劃,內(nèi)容包括:要測試的軟件功能和內(nèi)容、測試用例和預(yù)期結(jié)果、測試的進(jìn)度安排、需要的工具和資源、測試控制方式和過程等。10)做好測試記錄,為統(tǒng)計(jì)和維護(hù)提供基礎(chǔ)數(shù)據(jù)。4. 請說明集成測試、系統(tǒng)測試和驗(yàn)收測試有什么不同? 答:集成測試界于單元測
52、試和系統(tǒng)測試之間,起到“橋梁作用”,一般由開發(fā)小組采用白盒加黑盒的方式來測試,既驗(yàn)證“設(shè)計(jì)”,又驗(yàn)證“需求”。系統(tǒng)測試的粒度最大,一般由獨(dú)立測試小組采用黑盒方式來測試,主要測試系統(tǒng)是否符合“需求規(guī)格說明書”。驗(yàn)收測試與系統(tǒng)測試相似,主要區(qū)別是測試人員不同,驗(yàn)收測試由用戶執(zhí)行。5. 簡述單元測試的內(nèi)容。 答:單元測試的內(nèi)容有1)模塊接口測試:對通過被測模塊的數(shù)據(jù)流進(jìn)行測試。為此,對模塊接口,包括參數(shù)表、調(diào)用子模塊的參數(shù)、全程數(shù)據(jù)、文件輸入/輸出操作都必須檢查。2)局部數(shù)據(jù)結(jié)構(gòu)測試:設(shè)計(jì)測試用例檢查數(shù)據(jù)類型說明、初始化、缺省值等方面的問題,還要查清全程數(shù)據(jù)對模塊的影響。3)路徑測試:選擇
53、適當(dāng)?shù)臏y試用例,對模塊中重要的執(zhí)行路徑進(jìn)行測試。對基本執(zhí)行路徑和循環(huán)進(jìn)行測試可以發(fā)現(xiàn)大量路徑錯誤。4)錯誤處理測試:檢查模塊的錯誤處理功能是否包含有錯誤或缺陷。例如,是否拒絕不合理的輸入;出錯的描述是否難以理解、是否對錯誤定位有誤、是否出錯原因報(bào)告有誤、是否對錯誤條件的處理不正確;在對錯誤處理之前錯誤條件是否已經(jīng)引起系統(tǒng)的干預(yù)等。5)邊界測試:要特別注意數(shù)據(jù)流、控制流中剛好等于、大于或小于確定的比較值時出錯的可能性。對這些地方要仔細(xì)地選擇測試用例,認(rèn)真加以測試。 此外,如果對模塊運(yùn)行時間有要求的話,還要專門進(jìn)行關(guān)鍵路徑測試,以確定最壞情況下和平均意義下影響模塊運(yùn)行時間的因素。這類信息
54、對進(jìn)行性能評價(jià)是十分有用的。6. 什么是白盒測試?它適應(yīng)哪些測試?答:白盒測試也叫結(jié)構(gòu)測試,測試者需要了解被測程序的內(nèi)部結(jié)構(gòu)。白盒測試通常根據(jù)覆蓋準(zhǔn)則設(shè)計(jì)測試用例,有語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋和條件組合覆蓋。" 白盒測試適用與單元測試、集成測試、系統(tǒng)測試7. 非漸增式測試與漸增式測試有什么區(qū)別?漸增式測試如何組裝模塊?答:1)漸增式可以較早地發(fā)現(xiàn)模塊界面之間的錯誤,非漸增式則要到最后將所有模塊連接起來時才能發(fā)現(xiàn)此類錯誤。 2)非漸增式需要較多的人工3)漸增式有利于排錯。如果模塊界面間有錯,如果用非漸增式,這類錯誤到最后聯(lián)合測試時才能發(fā)現(xiàn),此時很難判斷錯誤發(fā)
55、生在哪一部分,但如果用漸增式,這類錯誤就較容易定位,它通常與最新加上去的模塊有關(guān)。4)漸增式比較徹底。5)漸增式需要較多的機(jī)器時間。6)非漸增式方式,開始時允許幾個測試人員并行工作,對大型系統(tǒng)來說,是很有意義的。8. 采用黑盒技術(shù)設(shè)計(jì)測試用例有哪幾種方法?這些方法各有什么特點(diǎn)?答:黑盒測試設(shè)計(jì)測試用例的方法有1)等價(jià)類劃分法 特點(diǎn)是:a、測試的內(nèi)容相同 b、一個等價(jià)類中的某個測試可以發(fā)現(xiàn)缺陷,那么這個等價(jià)類的其他測試也能發(fā)現(xiàn)缺陷 c、一個等價(jià)類中的某個測試不能發(fā)現(xiàn)缺陷,那么這個等價(jià)類的其它測試也不能發(fā)現(xiàn)缺陷2)邊界值分析法 特點(diǎn)是:用邊界值分析時時常收獲較大,它是在等價(jià)類的邊界上選
56、擇測試用例3)錯誤推測法 特點(diǎn)是:沒有確定的步驟,很大程度上是憑借經(jīng)驗(yàn)進(jìn)行的 4)因果圖法 特點(diǎn)是:考慮輸入條件間的組合關(guān)系;考慮輸出條件對輸入條件的信賴關(guān)系;測試用例發(fā)現(xiàn)錯誤的效率高;能查出功能說明中的某些不一致或遺漏9. 白盒測試法有哪些覆蓋標(biāo)準(zhǔn)?試對它們的檢錯能力進(jìn)行比較。答:白盒測試的覆蓋標(biāo)準(zhǔn)有:語句覆蓋->判定覆蓋->條件覆蓋->判定/條件覆蓋->條件組合覆蓋->路徑覆蓋 檢錯能力由弱到強(qiáng)10. 根據(jù)下面程序代碼,畫出程序流程圖,然后設(shè)計(jì)滿足條件/判定覆蓋、條件組合覆蓋的測試用例。 BEGIN T:=0
57、0;IF ( X>=80 AND Y>=80 )THEN T:=1ELSE 專心-專注-專業(yè)IF ( X>=90 AND Y>=75 ) THEN T:=2ENDIF IF (X>=75 AND Y>=90) THEN 9 T:=3 ENDIF ENDIF 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=8064 X=75 Y=755 X=90 Y=756 X=90 Y=707 X=80 Y=
58、758 X=80 Y=709 X=75 Y=9010 X=75 Y=9011 X=70 Y=9012 X=70 Y=85 11. 軟件的可維護(hù)性是軟件設(shè)計(jì)師最關(guān)注的性能,談?wù)劄榱双@得軟件良好的可維護(hù)性,在設(shè)計(jì)時應(yīng)該注意哪些問題?答:為獲得軟件的良好可維護(hù)性,在設(shè)計(jì)階段應(yīng)該做一些變更實(shí)驗(yàn),檢查系統(tǒng)的可維護(hù)性、靈活性和可移植性,設(shè)計(jì)時應(yīng)該將今后可能變更的內(nèi)容與其他部分分離開來,并且遵循高內(nèi)聚、低偶合的原則。 12. 在軟件文檔中,你認(rèn)為哪些文檔對于軟件的維護(hù)最重要? 需求分析文檔、設(shè)計(jì)文檔、程序文檔對軟件維護(hù)很重要 13. 軟件維護(hù)時的源程序修改策略是什么?
59、答:軟件維護(hù)時的源程序修改策略是:由于軟件維護(hù)最終落實(shí)在修改源程序和文檔上。為了正確、有效地修改源程序,通常要先分析和理解源程序,然后才能修改源程序,最后重新測試和驗(yàn)證源程序。14. 軟件項(xiàng)目計(jì)劃包括那些內(nèi)容? 答:軟件項(xiàng)目計(jì)劃的內(nèi)容包括:1.范圍。對該軟件項(xiàng)目的綜合描述,定義起所要做的工作以及性能限制,它包括: (1)項(xiàng)目目標(biāo)。(2)主要功能。(3)性能限制。(4)系統(tǒng)接口。(5)特殊要求。(6)開發(fā)概述。2.資源。(1)人員資源。(2)硬件資源。(3)軟件資源。(4)其他。 3.進(jìn)度安排。進(jìn)度安排的好壞往往會影響整個項(xiàng)目的按期完成,因此這一環(huán)節(jié)是十分重要的。制定軟件進(jìn)度與其他工程
60、沒有很大的區(qū)別 ,其方法主要有:(1)工程網(wǎng)絡(luò)圖。(2)Gantt圖。(3)任務(wù)資源表。(4)成本估算。(5)培訓(xùn)計(jì)劃。15.什么是軟件配置管理?什么是基線? 答:配置管理能夠系統(tǒng)地處理變更,從而使得軟件系統(tǒng)可以隨時保持其完整性。配置管理又可成為變更控制,可以用來評估提出的變更請求,跟蹤變更,并保持系統(tǒng)在不同時間的狀態(tài)。軟件配置管理是一套規(guī)范、高效的軟件開發(fā)基礎(chǔ)結(jié)構(gòu)?;€是:已經(jīng)通過正式復(fù)審和批準(zhǔn)的某規(guī)約或產(chǎn)品,它因此可以作為進(jìn)一步開發(fā)的基礎(chǔ),并且只能通過正式的變化控制過程改變。 三、 應(yīng)用題2.有的學(xué)生總是問老師“我應(yīng)該掌握什么程序設(shè)計(jì)語言更好?”你認(rèn)為該如何回答這個問
61、題?答:首先必須掌握C語言,面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,各有各的優(yōu)勢,看你想往哪方面用了,如果是服務(wù)器端的應(yīng)用最好是java,跨平臺性好;如果是,一般的桌面應(yīng)用,C#是較好的選擇;至于易上手程度,VB,Delphi等是上手比較快的;至于數(shù)據(jù)庫應(yīng)用本人認(rèn)為PB是最好的選擇,VB,Delphi也是比較好的選擇;當(dāng)特別強(qiáng)調(diào)效率的時候VC是不二的選擇,其中VC最為復(fù)雜,也最為靈活,“偷懶的程序員用VB,聰明的程序員用Delphi, 真正的程序員用VC”如果想要設(shè)計(jì)一些系統(tǒng)級的核心程序,最好用VC,C語言也可,但是不如VC強(qiáng)大。無論什么語言,通一門即可,它們只是工具,設(shè)計(jì)模式和算法才是靈魂。3.
62、編寫C語言程序,要求輸入一個學(xué)生的兩門課成績(百分制),計(jì)算該生的總分并要求輸出成績等級A、B、C、D、E。總分在180分以上為A,160179分為B,140159分為C,120139分為D,120分以下為E。使用switch語句編寫,具體要求: 成績通過鍵盤輸入,輸入之前要有提示信息。若輸入的成績不是百分制成績,則給出錯誤提示信息,并且不再進(jìn)行下面的等級評價(jià);若輸入的成績是百分制成績,則計(jì)算總分,并根據(jù)要求評價(jià)等級。 答:#include <stdio.h>#include <conio.h> /*原型聲明*/ void input(i
63、nt *,int*); int sum(int,int); void convert(int,char*); void degree(char,int);void main(void) /*定義變量*/ int nfst_course=-1,nsec_course=-1; /*nfst_course第一門課成績,nsec_course第二門課成績*/ int *pfst=&nfst_course,*psec=&nsec_course; char cdegree='0' /*成績等
64、級*/ char *idegree=&cdegree; int nsum; clrscr();/*清屏*/ do input(pfst,psec); /*輸入成績*/ )while(nfst_course=-1&&nsec_course=-1);/*正確輸入時跳出循環(huán)*/ /* printf("add nfst_course and nsec_coursen");*/ nsum=sum(nfst_course,nsec_course);/*求和*/ convert(nsum,idegree);/*轉(zhuǎn)換*/ degree(cdegree,nsum); /*評價(jià)等級*/ void input(int *pfst,int *psec) /
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年店鋪增資擴(kuò)股合同范本
- 2024建筑合同范文(中英版)
- 2024月嫂雇傭的合同模板
- 2024年度委托研究合同:新材料開發(fā)
- 2024廣告屏租賃合同范文
- 2024個人借款還款合同范本
- 聯(lián)合開辦分公司合同模板新
- 全面網(wǎng)絡(luò)服務(wù)合同
- 專業(yè)房屋維修合同范本收錄
- GB 40163-2021 海運(yùn)危險(xiǎn)貨物集裝箱裝箱安全技術(shù)要求
- 小學(xué)主題班會 四年級英語家長會 全國通用(共15張PPT)
- 住房公積金貸款申請表
- DB32∕T 2860-2015 散裝液體化學(xué)品槽車裝卸安全作業(yè)規(guī)范
- 中端門店商務(wù)酒店運(yùn)營管理HOTEL制度 亞朵人力資源部 14號 亞朵總部晉升制度-述職模板
- 呼吸衰竭課件
- 部編版五年級上冊道德與法治《期中考試試卷》(附答案解析)
- 藥學(xué)專業(yè)高水平專業(yè)群建設(shè)項(xiàng)目建設(shè)方案
- 機(jī)械加工車間低壓配電系統(tǒng)及車間變電所設(shè)計(jì)【精選文檔】
- 危重患者護(hù)理質(zhì)量檢查月度分析總結(jié)
- 砌體結(jié)構(gòu)承載力計(jì)算
評論
0/150
提交評論