版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件工程作業(yè)1(第14章)一、選擇題:開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱做(C)。A.軟件工程B.軟件周期C.軟件危機(jī)D.軟件產(chǎn)生瀑布模型本質(zhì)上是一種(A )模型。A.線性順序 B.順序迭代 C.線性迭代 D.早期產(chǎn)品瀑布模型存在的問題是(B )。A用戶容易參與開發(fā)B缺乏靈活性C用戶與開發(fā)者易溝通 D適用可變需求螺旋模型是一種將瀑布模型和(A)結(jié)合起來的軟件開發(fā)模型。A增量模型B專家系統(tǒng)C噴泉模型D變換模型原型化方法是用戶和設(shè)計者之間執(zhí)行的一種交互構(gòu)成,適用于(A)系統(tǒng)。A需求不確定性高的B需求確定的C管理信息D實(shí)時下列有關(guān)軟件工程的標(biāo)準(zhǔn),屬于國際標(biāo)準(zhǔn)的是(D )A
2、.GBB.DINC.ISOD.IEEE結(jié)構(gòu)化方法是一種基于(D)的方法。A.數(shù)據(jù)結(jié)構(gòu) B.程序結(jié)構(gòu)C.算法 D.數(shù)據(jù)流軟件可行性研究實(shí)質(zhì)上是要進(jìn)行一次( A)需求分析、設(shè)計過程。A、簡化、壓縮的 B、詳細(xì)的C、徹底的D、深入的可行性研究的目的是(D)A、分析開發(fā)系統(tǒng)的必要性B、確定系統(tǒng)建設(shè)的方案C、分析系統(tǒng)風(fēng)險D、確定是否值得開發(fā)系統(tǒng)設(shè)年利率為i,現(xiàn)存入p元,不計復(fù)利,n年后可得錢數(shù)為(C)。A、P(1+i*n)B、P (i+1)*nC、p(1+i)nD、p(i+n)可行性研究是在(A)之前A、系統(tǒng)開發(fā)B、測試C、試運(yùn)行D、集成測試可行性研究需要的時間長短取決于系統(tǒng)的規(guī)模,一般來說,可行性研究
3、的成本只是預(yù)期總成本的(C)。A、1%B、20%C、8%D、50%我國正式頒布實(shí)施的(B)對計算機(jī)病毒的定義具有法律性、權(quán)威性。A計算機(jī)軟件保護(hù)條例B中華人民共和國計算機(jī)信息系統(tǒng)安全保護(hù)條例C中華人民共和國著作權(quán)法D計算機(jī)病毒防治管理辦法效率是一個性能要求,因此應(yīng)當(dāng)在以下哪個階段規(guī)定?BA、可行性分析B、需求分析C、概要設(shè)計D、詳細(xì)設(shè)計需求規(guī)格說明書的作用不包括(D)A、軟件驗(yàn)收的依據(jù) B、用戶與開發(fā)人員對軟件要做什么的共同理解C、軟件可行性研究的依據(jù)D、軟件設(shè)計的依據(jù)數(shù)據(jù)字典是用來定義(D)中的各個成份的具體含義的。A、程序流程圖B、功能結(jié)構(gòu)圖C、系統(tǒng)結(jié)構(gòu)圖D、數(shù)據(jù)流程圖數(shù)據(jù)流程圖是(A)方
4、法中用于表示系統(tǒng)邏輯模型的一種圖形工具。A、SAB、SDC、SPD、SCDFD中的每個加工至少有(A)。 HYPERLINK l 31 A、一個輸入流或一個輸出流 B、一個輸入流和一個輸出流C、一個輸入流D、一個輸出流需求分析階段的關(guān)鍵任務(wù)是確定(D) HYPERLINK l 301 A、軟件開發(fā)方法B、軟件開發(fā)工具C、軟件開發(fā)費(fèi)D、軟件系統(tǒng)的功能在SD方法中全面指導(dǎo)模塊劃分的最重要的原則是 HYPERLINK l 411 (D)。A、程序模塊化B、模塊高內(nèi)聚C、模塊低耦合D、模塊獨(dú)立性在模塊的3種基本屬性中,反映模塊內(nèi)部特性的是(C)。A、接口B、功能C、邏輯D、狀態(tài)模塊的耦合性可以按照耦合
5、程度的高低進(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、無直接耦合,數(shù)據(jù)耦合,控制耦合,內(nèi)容耦合PDL是描述處理過程( C )A、做什么B、為什么做 C、怎么做D、對誰做(D)工具在軟件詳細(xì)設(shè)計過程中不采用。A、判定表B、IPO圖C、PDLD、DFD圖為高質(zhì)量地開發(fā)軟件項(xiàng)目,在軟件結(jié)構(gòu)設(shè)計時,必須遵循(A)原則。A.信息隱蔽B、質(zhì)量控制C、程序優(yōu)化D、數(shù)據(jù)共享當(dāng)一個模塊直接使用另一個模塊的內(nèi)部數(shù)據(jù),這種模塊之間的耦合為(D)A、數(shù)據(jù)耦合B、公共耦合
6、C、標(biāo)記耦合D、內(nèi)容耦合詳細(xì)設(shè)計與概要設(shè)計銜接的圖形工具是(B)。 HYPERLINK l 32 A、DFD圖 B、SC圖 C、PAD圖 D、程序流程圖下列幾種類型中,耦合性最弱的是(D)。 HYPERLINK l 32 A、內(nèi)容型B、控制型C、公共型D、數(shù)據(jù)型軟件結(jié)構(gòu)使用的圖形工具,一般采用(C)圖。 HYPERLINK l 32 A、DFDB、PADC、SCD、ER在七種偶合中,最低偶合是(D)。A、內(nèi)容偶合B、公共偶合C、數(shù)據(jù)偶合D、非直接偶合二、簡答題什么是軟件工程?軟件工程的目標(biāo)是什么?答:軟件工程是將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù)過程,即將工程化應(yīng)用于軟
7、件開發(fā)和管理之中,對中所選方法的研究。目標(biāo):合理預(yù)算開發(fā)成本,付出較低的開發(fā)費(fèi)用。實(shí)現(xiàn)預(yù)期的軟件功能,達(dá)到較好的軟件性能,滿足用戶的需求。3 提高軟件的可維護(hù)性,降低維護(hù)費(fèi)用。4 提高軟件開發(fā)生產(chǎn)率,及時交付使用指出瀑布模型中下列任務(wù)的順序:驗(yàn)收測試,項(xiàng)目計劃,單元測試,需求評審,成本估計,概要設(shè)計,詳細(xì)設(shè)計,系統(tǒng)測試,設(shè)計評審,編碼,需求規(guī)格說明書。答:項(xiàng)目計劃,成本估計,需求規(guī)格說明書,需求評審,概要設(shè)計,詳細(xì)設(shè)計,設(shè)計評審,編碼,單元測試,系統(tǒng)測試,驗(yàn)收測試可行性研究報告的主要內(nèi)容是什么?答:可行性研究主要包括以下幾個部分: (1)概述(2)技術(shù)可行性(3)項(xiàng)目成熟程度(4)市場需求情況
8、和風(fēng)險分析(5)投資估算及資金籌措(6)經(jīng)濟(jì)與社會效益(7)綜合實(shí)力和產(chǎn)業(yè)基礎(chǔ)(8)項(xiàng)目實(shí)施進(jìn)度計劃(9)其它尚需要說明的必要的方面(10)結(jié)論什么是需求分析?需求分析階段的基本任務(wù)是什么?答:所謂需求分析,是指對要解決的問題進(jìn)行詳細(xì)的分析,弄清楚問題的要求,包括需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應(yīng)輸出什么??梢哉f,“需求分析”就是確定要計算機(jī)“做什么”。任務(wù):確定軟件項(xiàng)目的目標(biāo)和范圍。調(diào)查使用者的要求,分析軟件必須做什么,編寫需求規(guī)格說明書等它相關(guān)文檔,并進(jìn)行必要的需求審查。除此之外,還包括需求變更控制,需求風(fēng)險控制,需求版本控制等對需求的管理工作什么是結(jié)構(gòu)化分析方法?該方法使用什么描述
9、工具?答:結(jié)構(gòu)化的分析方法是面向數(shù)據(jù)流的方法,因此,此方法研究的核心是數(shù)據(jù)的組成和數(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)變遷圖結(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)
10、修正開發(fā)計劃10) 如果需要則開發(fā)系統(tǒng)原型 什么是數(shù)據(jù)流圖?其作用是什么?其中的基本符號各表示什么含義?答:數(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ù)流。什么是數(shù)據(jù)字典?其作用是什么?它有哪些條目?答:數(shù)據(jù)字典,主要用來描述數(shù)據(jù)流程圖中的數(shù)據(jù)流、數(shù)據(jù)存儲、處理過程和和數(shù)據(jù)源點(diǎn)/終點(diǎn)。作用:數(shù)據(jù)流程圖描述了系統(tǒng)的邏輯結(jié)構(gòu),其中
11、的四個基本圖形元素的含義無法在數(shù)據(jù)流程圖中詳細(xì)說明,因此數(shù)據(jù)流程圖需要與其他工具配合使用,數(shù)據(jù)字典就是這樣的工具之一。包括的條目:數(shù)據(jù)流詞條數(shù)據(jù)元素詞條數(shù)據(jù)存儲詞條數(shù)據(jù)加工處理詞條數(shù)據(jù)源點(diǎn)及終點(diǎn)詞條什么是概要設(shè)計?有哪些基本任務(wù)?答:概要設(shè)計:根據(jù)用戶的需求先確定軟件系統(tǒng)的總體結(jié)構(gòu)和總的設(shè)計原則基本的任務(wù):設(shè)想供選擇的方案。推薦最佳方案。功能分解,確定軟件結(jié)構(gòu)。設(shè)計軟件結(jié)構(gòu)。制定測試計劃。數(shù)據(jù)設(shè)計。書寫文檔。包括總體設(shè)計規(guī)格說明書。用戶手冊。測試計劃。設(shè)計審查和復(fù)審。詳細(xì)設(shè)計的基本任務(wù)是什么?有那幾種描述方法?答:詳細(xì)設(shè)計階段的任務(wù)是要為編寫程序代碼設(shè)計“圖紙”,由程序員按“圖紙”用某種高級程
12、序設(shè)計語言編寫程序代碼。主要方法有設(shè)計程序流程圖,表格設(shè)計符號以及過程設(shè)計語言。什么是變換流?什么是事物流?答:變換型數(shù)據(jù)流可以劃分為明顯的三部分:邏輯輸入,中心變換,邏輯輸出 事務(wù)流的特點(diǎn)是數(shù)據(jù)沿某個輸入路徑流動,該路徑將外部信息轉(zhuǎn)換成事務(wù),其中發(fā)射出多條事務(wù)處理路徑的中心處理被稱為中心事務(wù)模塊的內(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)系。
13、通信內(nèi)聚模塊執(zhí)行的若干動作之間有順序關(guān)系,并且所有動作是在相同的數(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傳遞一個控制信息
14、,則稱這兩個模塊是控制耦合的數(shù)據(jù)結(jié)構(gòu)耦合當(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ù)字
15、串。寫出在數(shù)據(jù)字典中,電話號碼的數(shù)據(jù)條目的定義(即組成)。名稱簡稱類型長度取值范圍分機(jī)號Extension_Number字符47201.7299外線市話號Addition_Internumber字符99+455|466|888|552+4數(shù)字4外線長話號Addition_Extennumber字符129+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)有航班目錄文件,
16、根據(jù)填寫的旅行時間和目的地為顧客安排航班;(4)在獲得正確航班信息和確認(rèn)已交了部分預(yù)付款時發(fā)出取票單,并記錄到取票單文件中。顧客在指定日期內(nèi)用取票單換取機(jī)票:(1)系統(tǒng)根據(jù)取票單文件對取票單進(jìn)行有效性檢查,無效的輸出無效取票信息;(2)持有有效取票單的顧客在補(bǔ)交了剩余款后將獲得機(jī)票;(3)記賬文件將被更新,機(jī)票以及顧客信息將被登錄到機(jī)票文件。訂單中有訂票日期、旅行日期、時間要求(上午、下午、晚上)、出發(fā)地、目的地、顧客姓名、身份證號、聯(lián)系電話。 0層流程圖 預(yù)定流程圖 取機(jī)票流程圖3一個簡化的圖書館信息管理系統(tǒng)有以下功能:(1)借書:輸入讀者借書證,系統(tǒng)檢查借書證是否有效;查閱借書文件,檢查該
17、讀者所借圖書是否超過10本,若已達(dá)10本,顯示信息“已經(jīng)超出借書數(shù)量”,拒借;未達(dá)10本,辦理借書(檢查庫存、修改庫存信息并將讀者借書信息登入借書記錄)(2)還書:輸入書號和讀者號,從借書記錄中讀出與讀者有關(guān)的記錄,查閱所借日期,如果超過3個月,作罰款處理。否則,修改庫存信息與借書記錄。(3)查詢:可通過借書記錄、庫存信息查詢讀者情況、圖書借閱情況及庫存情況,打印各種統(tǒng)計表。請就以上系統(tǒng)功能畫出分層的DFD圖,并建立重要條目的數(shù)據(jù)字典。 0層數(shù)據(jù)流程圖 還書流程圖借書流程圖 查詢流程圖數(shù)據(jù)字典:元素名稱名稱類型說明IPO1還書處理處理根據(jù)書號做還書處理,違規(guī)做處罰IPO2有效性檢查處理檢查讀者
18、號,圖書號的有效性IPO3借書處理處理按讀者號,圖書號進(jìn)行借書處理IPO4查詢處理管理員對一些基本信息進(jìn)行查詢IPO5打印報表處理打印查詢到的信息IPO6處罰管理處理根據(jù)規(guī)則對延期給予相應(yīng)的處罰IPO7數(shù)量檢查處理對讀者借出的數(shù)量是否符合規(guī)定進(jìn)行檢查DS001讀者信息數(shù)據(jù)存儲讀者信息錄入,修改,刪除,保存DS002庫存信息數(shù)據(jù)存儲圖書的基本的情況以及所有圖書的整體情況DS003錯還信息數(shù)據(jù)存儲存儲借還書信息,系統(tǒng)自動處理,不能人工錄入DS004處罰信息數(shù)據(jù)存儲存儲延期的處罰信息軟件工程作業(yè)2(第57章)一、選擇題從本質(zhì)上說,面向?qū)ο笫恰跋取贝_定(A)后確定執(zhí)行的動作。A.動作的主體B.屬性C.
19、關(guān)系D.方法(B)是對象的靜態(tài)特征。A.方法B.屬性C.關(guān)系D.操作對象的(D)使對象的動態(tài)特征A.特征B.屬性C.關(guān)系D.操作屬于某個類的一個具體對象稱為該類的(A)。A.實(shí)例B.虛擬C.繼承D.多態(tài)UML是(A)。一種可視化的建模語言是一種可視化的程序設(shè)計語言是一種過程是一種方法封裝的的作用是(A)。A.復(fù)用B.對象C.實(shí)例D.方法8. 面向?qū)ο蠓治龅暮诵脑谟诮ⅲ˙)模型。 A. 建立正確的模型B. 識別問題域?qū)ο驝.識別對象之間的關(guān)系D.上面所有9. 面向?qū)ο蠓治鲞^程中建立的模型有(D )。 A. 數(shù)據(jù)模型、功能模型、活動模型B. 對象模型、功能模型、測試模型C. 屬性模型、功能模型、
20、對象模型D. 對象模型、功能模型、動態(tài)模型10. 下列的( C)不是分析建模的目的。 A. 定義可驗(yàn)證的軟件需求 B. 描述客戶需求 C. 開發(fā)一個簡單的問題解決方案 D. 建立軟件設(shè)計的基礎(chǔ) 11. 下列的( C)不屬于面向?qū)ο蠓治瞿P汀?A. 用例圖 B. 類圖 C. 實(shí)體關(guān)系圖 D. 順序圖 12. (A )用于描述系統(tǒng)中概念層次的對象。 A.分析類B. 界面類C.實(shí)體類D.控制類13. 在基于用例的面向?qū)ο蠓治鲞^程中,定義交互行為的關(guān)鍵在于通過描述分析類實(shí)例之間的(A)將用例的職責(zé)分配到分析類中。A. 消息傳遞B 關(guān)聯(lián)關(guān)系C 繼承關(guān)系D 上下文關(guān)系14.用例的實(shí)現(xiàn)細(xì)節(jié)不會在(B)描述。
21、A. 用例說明B. 用例圖C.活動圖D.順序圖15.用例的職責(zé)通常分配給(D)的對象。A. 發(fā)送消息B. 接收消息C.發(fā)送和接收雙方D.分析類16.組織機(jī)構(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下面哪個選項(xiàng)不能描述子系統(tǒng)之間的關(guān)系。(D)A. 請求服務(wù)
22、關(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.實(shí)體類 C.控制類 D.界面類23.類有三種類型即(A)。A. 邊界類、實(shí)體類、控制類 B. 實(shí)體類、數(shù)據(jù)類、界面類C. 控制類、實(shí)體類、數(shù)據(jù)類D. 界面類、控制類、公共類24.下面那個選項(xiàng)不是正確的面向?qū)ο笤O(shè)計思想。(C)A.對接口進(jìn)
23、行設(shè)計B.發(fā)現(xiàn)變化并且封裝它C.先繼承后組合D.先組合后繼承25.定義類的屬性類型時盡量使用已有的類型,太多的自定義類型會降低系統(tǒng)的(A)指標(biāo)。A.可維護(hù)性 B.安全性 C.開發(fā)效率 D.可移植性二、簡答題舉例說明類和對象的關(guān)系。答:學(xué)生可作為一個類-學(xué)生類,每個學(xué)生就是這個學(xué)生類的一個實(shí)例,例如,學(xué)生張三就是學(xué)生類的一個實(shí)例。面向?qū)ο蠓治龅年P(guān)鍵步驟有哪些?應(yīng)建立哪幾個模型?答:關(guān)鍵步驟有識別問題域的對象并分析它們相互之間的關(guān)系,建立簡潔、精確、可理解的正確模型;應(yīng)建立的模型有功能模型,對象模型,動態(tài)模型。什么是實(shí)體類、邊界類和控制類?為什么將分析類劃分成這三種類型? 答:(1)實(shí)體類保存要存
24、入永久存儲體的信息。實(shí)體類通常在事件流或交互圖中,是對用戶最有意義的類。 邊界類位于系統(tǒng)與外界的交界處,包括所有的窗體、報表、系統(tǒng)硬件接口、與其他系統(tǒng)的接口。控制類負(fù)責(zé)協(xié)調(diào)其他類的工作。每個用例中至少應(yīng)該有一個控制類,它控制用況中的事件順序。(2)分為三種類型是因?yàn)樗鼈兏髯缘墓δ懿煌=缑骖惷枋鱿到y(tǒng)與角色之間的接口。控制類在分析模型內(nèi)表示協(xié)調(diào)、順序、事務(wù)處理以及控制其他對象的類。實(shí)體類為需要長久保存的信息進(jìn)行建模的類。UML中有哪幾類個視圖,它們的作用分別是什么?答:(1)用例視圖(Use-Case view)用例視圖用于描述系統(tǒng)的功能集。它是從系統(tǒng)外部以用戶角度,對系統(tǒng)做的抽象表示。用例視圖
25、所描述的系統(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)邏輯視圖(Logical view)如果說用例視圖描述系統(tǒng)“做什么”,那么邏輯視圖就是描述“怎么做”。系統(tǒng)的靜態(tài)結(jié)構(gòu)描述類、對象和它們之間的關(guān)系,反映的是系統(tǒng)靜態(tài)特征或結(jié)構(gòu)組成。(3)組件視圖(Component view)組件視圖用來描
26、述系統(tǒng)實(shí)現(xiàn)的結(jié)構(gòu)和行為特征,反映系統(tǒng)各組成元素之間的關(guān)系。組件視圖由組件圖實(shí)現(xiàn),主要供開發(fā)者和管理者使用。(4)并發(fā)視圖(Concurrency View)并發(fā)視圖用來描述系統(tǒng)的動態(tài)和行為特征。并發(fā)視圖將任務(wù)劃分為進(jìn)程或線程形式,通過任務(wù)劃分引入并發(fā)機(jī)制,可以高效地使用資源、并行執(zhí)行和處理異步事件。除了劃分系統(tǒng)為并發(fā)執(zhí)行的進(jìn)程或線程外,并發(fā)視圖還必須處理通信和同步問題。(5)配置視圖(Deployment View)配置視圖體現(xiàn)了系統(tǒng)的實(shí)現(xiàn)環(huán)境,反映系統(tǒng)的物理架構(gòu)。配置視圖還包括一個映射,該映射顯示在物理架構(gòu)中組件是怎樣分配的。5. 順序圖在分析階段的作用?答:順序圖描述了一組交互對象間的交互
27、方式,它表示完成某項(xiàng)行為的對象和這些對象之間傳遞消息的時間順序6. 活動圖在分析階段的作用?答:活動圖反映系統(tǒng)中從一個活動到另一個活動的流程,強(qiá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)。根就是主模塊,葉子是最低級的功能模塊。這棵樹也表示調(diào)用結(jié)構(gòu):每個模塊都調(diào)用自己的直接下級模塊,
28、并被自己的直接上級模塊調(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è)計:上層創(chuàng)建的抽象不依賴于任何細(xì)節(jié),而細(xì)節(jié)則高度依賴于上層的抽象。這種依賴關(guān)系的變化正是結(jié)構(gòu)化設(shè)計與面向?qū)ο笤O(shè)計的根本區(qū)別。8.什么是框架,它與“設(shè)計”有什么關(guān)系?答:框架是一組可用于不同應(yīng)用的類的集合??蚣苤械念愅ǔJ且恍┏橄箢惒⑶蚁嗷ビ新?lián)系,可以通
29、過繼承的方式使用這些類,當(dāng)面向?qū)ο笤O(shè)計進(jìn)行底層設(shè)計時,對每個類進(jìn)行詳細(xì)設(shè)計,設(shè)計類的屬性和操作,優(yōu)化類之間的關(guān)系,就可以設(shè)計成框架來對類的設(shè)計進(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ù)庫,有兩類媒體文件:圖像文件和聲音文件。每個媒體文件都有名稱和唯一的編碼,而且文件包含作者信息和格式信息,聲音文件還包含聲音文件的時長(以秒為單位)和作者的信
30、息。假設(shè)每個媒體文件可以由唯一的編碼所識別,系統(tǒng)要提供以下功能:媒體庫中可以添加新的特別媒體文件。通過給定的文件編碼查找需要的媒體文件。從媒體庫中刪除指定的媒體文件。給出媒體庫中媒體文件的數(shù)量??紤]類imageFile和audioFile應(yīng)該具有哪些恰當(dāng)?shù)膶傩院头椒ù穑篿mageFile類的屬性有:Name(文件名稱),Code(編碼),AuthorInfo(作者信息),F(xiàn)ormat(格式信息);audioFile類除了擁有以上屬性外還有屬性Time(文件時長); imageFile類的方法:Add(imageFile)(添加圖像文件),Delete(Code)(刪除文件),GetFile(C
31、ode)(查找文件),GetNumber()(返回媒體文件的數(shù)量);audioFile類的方法:Add(audioFile)(添加聲音文件),Delete(Code)(刪除文件),GetFile(Code)(查找文件),GetNumber()(返回媒體文件的數(shù)量)。若把學(xué)生看成一個實(shí)體,它可以分成多個子實(shí)體,如小學(xué)生、中學(xué)生和大學(xué)生等。在面向?qū)ο蟮脑O(shè)計中,可以創(chuàng)建如下4個類:類Student、類Elementary Student、Middle Student;類University Student。試給出這4個類的屬性以及它們之間的關(guān)系。答:Student類為基類,其他三個類都是Studen
32、t的子類。Student類的屬性有:Name(姓名),Sex(性別),Age(年齡),Class(班級)。Elementary Student類的屬性有:IsTeamMember(是否是少先隊(duì)員),IsGoodStudent(是否是三好學(xué)生)。Middle Student類的屬性為:IsMember(是否是團(tuán)員),Subject(文科理科)。University Student類的屬性為:IsPartyMember(是否黨員),Department(學(xué)院),Specialty(專業(yè))。三、應(yīng)用題某學(xué)校領(lǐng)書的工作流程為:學(xué)生班長填寫領(lǐng)書單,班主任審查后簽名,然后班長拿領(lǐng)書單到書庫領(lǐng)書。 書庫保管
33、員審查領(lǐng)書單是否有班主任簽名,填寫是否正確等,不正確的領(lǐng)書單退回給班長;如果填寫正確則給予領(lǐng)書并修改庫存清單;當(dāng)某書的庫存量低于臨界值時,登記需訂書的信息。每天下班前為采購部門提供一張訂書單。 用活動圖來描述領(lǐng)書的過程。解:使用順序圖描述下面的情景,當(dāng)用戶在自己的計算機(jī)上向網(wǎng)絡(luò)打印機(jī)發(fā)出一個打印任務(wù)時,他的計算機(jī)便向打印機(jī)服務(wù)器發(fā)送一條打印命令print(file),打印機(jī)服務(wù)器如果發(fā)現(xiàn)網(wǎng)絡(luò)打印機(jī)處于空閑狀態(tài),則向打印機(jī)發(fā)送打印命令print(file),否則向打印隊(duì)列發(fā)送一條保存命令store(file)。 解: 某報社采用面向?qū)ο蠹夹g(shù)實(shí)現(xiàn)報刊征訂的計算機(jī)管理系統(tǒng),該系統(tǒng)基本需求如下:(1)
34、報社發(fā)行多種刊物,每種刊物通過訂單來征訂,訂單中有代碼,名稱,訂期,單價,份數(shù)等項(xiàng)目,訂戶通過填寫訂單來訂閱報刊。 (2)報社下屬多個發(fā)行站,每個站負(fù)責(zé)收集登陸訂單、打印收款憑證等事務(wù)。 (3)報社負(fù)責(zé)分類并統(tǒng)計各個發(fā)行站送來的報刊訂閱信息。 請就此需求建立對象模型。 HYPERLINK l 53 解:軟件工程作業(yè)3(第811章)選擇題結(jié)構(gòu)化語言是介于自然語言和形式語言之間的一種(D)。A半形式語言B計算機(jī)語言 C低級語言D高級語言程序設(shè)計語言的技術(shù)特性不應(yīng)包括(C)。 HYPERLINK l 33 A、數(shù)據(jù)結(jié)構(gòu)的描述性B、抽象類型的描述性C、數(shù)據(jù)庫的易操作性D、軟件的可移植性程序的三種基本控
35、制結(jié)構(gòu)是(B)。 HYPERLINK l 301 A過程、子程序和分程序B順序、選擇和重復(fù)C遞歸、堆棧和隊(duì)列D調(diào)用、返回和轉(zhuǎn)移結(jié)構(gòu)化程序設(shè)計主要強(qiáng)調(diào)的是(D)。 HYPERLINK l 301 A程序的規(guī)模B程序的效率C程序設(shè)計語言的先進(jìn)性D程序易讀性下列關(guān)于功能性注釋不正確的說法是(B)。A.功能性注釋嵌在源程序中,用于說明程序段或語句的功能以及數(shù)據(jù)的狀態(tài)B.注釋用來說明程序段,需要在每一行都要加注釋C.可使用空行或縮進(jìn),以便很容易區(qū)分注釋和程序D.修改程序也應(yīng)修改注釋下列關(guān)于效率的說法不正確的是(D)。A.效率是一個性能要求,其目標(biāo)應(yīng)該在需求分析時給出B.提高程序效率的根本途徑在于選擇良好
36、的設(shè)計方法,數(shù)據(jù)結(jié)構(gòu)與算法C.效率主要指處理機(jī)時間和存儲器容量兩個方面D.程序的效率與程序的簡單性無關(guān)結(jié)構(gòu)化維護(hù)與非結(jié)構(gòu)化維護(hù)的主要區(qū)別在于(B )。A.軟件是否結(jié)構(gòu)化B.軟件配置是否完整C.程序的完整性D.文檔的完整性關(guān)于JAVA語言下列說法不正確的是(B)。A.跨平臺的B.動態(tài)指針C.解釋型的D.面向?qū)ο蟮氖褂冒缀袦y試方法時,確定測試數(shù)據(jù)應(yīng)根據(jù)(A)和指定的覆蓋標(biāo)準(zhǔn)。A程序內(nèi)部邏輯 B程序復(fù)雜結(jié)構(gòu)C使用說明書D程序的功能確認(rèn)測試主要涉及的文檔是(A)。 HYPERLINK l 35 A、需求規(guī)格說明書B、概要設(shè)計說明書C、詳細(xì)設(shè)計說明書D、源程序測試的關(guān)鍵問題是(D)。A.如何組織對軟件的
37、評審B.如何驗(yàn)證程序的正確性C.如何采用綜合策略D.如何選擇測試用例黑盒測試在設(shè)計測試用例時,主要研究(A)。 HYPERLINK l 412 A.需求規(guī)格說明B.詳細(xì)設(shè)計說明C.項(xiàng)目開發(fā)計劃D.概要設(shè)計說明與詳細(xì)設(shè)計說明下面哪些測試屬于黑盒測試(B)。A、路徑測試B、等價類劃分 C、條件判斷 D、循環(huán)測試在下述哪一種測試中,測試人員必須接觸到源程序(B)。A、功能測試B、結(jié)構(gòu)測試C、功能測試和結(jié)構(gòu)測試 D、性能測試檢查軟件產(chǎn)品是否符合需求定義的過程稱為(D)。A、確認(rèn)測試B、集成測試C、驗(yàn)收測試D、驗(yàn)證測試軟件測試方法中,黑盒、白盒測試法是常用的方法,其中白盒測試主要用于測試(D)。結(jié)構(gòu)合理
38、性B、軟件外部功能C、程序正確性D、程序內(nèi)部邏輯軟件維護(hù)中,因修改交互輸入的順序,沒有正確的記錄而引起的錯誤是(A)產(chǎn)生的副作用。A、文檔B、數(shù)據(jù)C、編碼D、設(shè)計以下屬于軟件維護(hù)階段文檔的是(C)。A、軟件需求說明B、操作手冊C、軟件問題報告D、測試分析報告產(chǎn)生軟件維護(hù)的副作用,是指(C)。A、開發(fā)時的錯誤B、隱含的錯誤C、因修改軟件而造成的錯誤D、運(yùn)行時誤操作維護(hù)中,因誤刪除一個標(biāo)識符而引起的錯誤是(C)副作用。A、文檔B、數(shù)據(jù)C、編碼D、設(shè)計可維護(hù)性的特性中,相互促進(jìn)的(A)。A、可理解性和可測試性B、效率和可移植性C、效率和可修改性D、效率和結(jié)構(gòu)好軟件維護(hù)的困難主要原因是(C)A、費(fèi)用低
39、B、人員少C、開發(fā)方法的缺陷 D、用戶不配合軟件維護(hù)費(fèi)用高的主要原因是(C)。 HYPERLINK l 34 A、人員少B、人員多C、生產(chǎn)率低D、生產(chǎn)率高為了適應(yīng)軟硬件環(huán)境變化而修改軟件的過程是(C)。 HYPERLINK l 33 A、校正性維護(hù) B、完善性維護(hù)C、適應(yīng)性維護(hù)D、預(yù)防性維護(hù)可維護(hù)性的特性中,相互矛盾的是(B)A.可理解性與可測試性 B.效率與可修改性C.可修改性和可理解性 D.可理解性與可讀性各種不同的軟件維護(hù)中,以(C)維護(hù)所占的維護(hù)量最小。糾錯性維護(hù)B、代碼維護(hù)C、預(yù)防性維護(hù)D、文檔維護(hù)在變更控制中,(B)可以用來確保由不同用戶所執(zhí)行的并發(fā)變更。A異步控制B同步控制C存取
40、控制D基線控制變更控制是一項(xiàng)最重要的軟件配置任務(wù),其中“檢出”和(A)處理實(shí)現(xiàn)了兩個重要的變更控制要素,即存取控制和同步控制。A登入B管理C填寫變更要求D審查用Gantt圖表示軟件項(xiàng)目進(jìn)度安排,下列說法中正確的是 HYPERLINK l 421 (B)A.能夠反映多個任務(wù)之間的復(fù)雜關(guān)系B.能夠直觀表示任務(wù)之間相互依賴制約關(guān)系C.能夠表示哪些任務(wù)是關(guān)鍵任務(wù)D.能夠表示子任務(wù)之間的并行和串行關(guān)系基線可作為軟件生存期中各開發(fā)階段的一個檢查點(diǎn)。當(dāng)采用的基線發(fā)生錯誤時,可以返回到最近和最恰當(dāng)?shù)模–)上 HYPERLINK l 35 A.配置項(xiàng)B.程序C.基線D.過程簡答題為建立良好的編程風(fēng)格應(yīng)遵循什么原
41、則?答:1)節(jié)簡化不使用不必要的變量和函數(shù)避免變量重名,變量重名可導(dǎo)致很難被發(fā)現(xiàn)的錯誤。盡量減小代碼量。盡量減少代碼的執(zhí)行時間,提高執(zhí)行效率。避免功能冗余的模塊。盡量不使用全局變量。2)模塊化 確保物理和邏輯功能密切相關(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)化程序
42、部件;采用直截了當(dāng)?shù)乃惴?;根?jù)應(yīng)用背景排列程序各個部分;不隨意為效率而犧牲程序的清晰度和可讀性;讓機(jī)器多做煩瑣的工作,如重復(fù)、庫函數(shù);用公共函數(shù)調(diào)用代替重復(fù)出現(xiàn)的表達(dá)式;避免循環(huán)、分支的嵌套層數(shù)過高;單入口單出口。5)文檔化(documentation)有效、適當(dāng)?shù)厥褂米⑨?。協(xié)調(diào)使用程序塊注釋和程序行注釋。保持文檔和程序的同步。6)格式化(layout)始終采用統(tǒng)一縮進(jìn)規(guī)則;適當(dāng)插入括號表明運(yùn)算次序、排除二義性;有效地使用空格符以區(qū)別程序的不同意群。什么是軟件測試?答:軟件測試從廣義上講,是指軟件產(chǎn)品生存周期內(nèi)所有的檢查、評審和確認(rèn)活動。從狹義上講,軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程?;蛘?/p>
43、說,軟件測試是根據(jù)軟件開發(fā)各個階段的規(guī)格說明和程序內(nèi)部結(jié)構(gòu)而精心設(shè)計一批測試用例,用這些測試用例運(yùn)行程序,以發(fā)現(xiàn)程序錯誤的過程。軟件測試的原則是什么?答:軟件測試的原則有:應(yīng)該把測試貫穿在整個開發(fā)過程之中。事實(shí)上,從需求分析階段開始,每個階段結(jié)束之前都要進(jìn)行階段審查,目的是盡早發(fā)現(xiàn)和糾正錯誤。每個測試用例都應(yīng)該包括測試輸入數(shù)據(jù)和這組數(shù)據(jù)輸入作用下的預(yù)期輸出結(jié)果。在實(shí)際操作中可以列出一張表格,包括每個測試用例的編號、類型、輸入數(shù)據(jù)、預(yù)期輸出結(jié)果、實(shí)際輸出結(jié)果、出錯原因分析。要對每個測試結(jié)果進(jìn)行全面檢查,不要漏掉已經(jīng)出現(xiàn)的錯誤跡象。程序員應(yīng)該盡量避免檢查自己編寫的代碼。測試工作需要嚴(yán)格的工作作風(fēng),
44、程序員在測試自己編寫的代碼時往往會帶有一些傾向性,使得他們工作中常常出現(xiàn)一些疏漏。而且,程序員對設(shè)計規(guī)格說明書的理解錯誤而引入的錯誤更是難于發(fā)現(xiàn)。在設(shè)計測試用例時,應(yīng)該包括有效的、期望的輸入情況,也要包括無效的和不期望的輸入情況。既能夠驗(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
45、失。軟件中遺留的錯誤數(shù)量與已經(jīng)發(fā)現(xiàn)的錯誤數(shù)量成正比。根據(jù)這個規(guī)律,對測試中發(fā)現(xiàn)錯誤成堆的模塊更要仔細(xì)測試。例如,在某個著名的操作系統(tǒng)中,44%的錯誤僅與4%的模塊有關(guān)?;貧w測試的關(guān)聯(lián)性要特別引起注意,修改一個錯誤而引起更多錯誤的現(xiàn)象并不少見。測試程序時不僅要檢查程序是否做了它應(yīng)該做的事情,還要檢查它是否做了不該做的事情。例如,工資軟件中,軟件只完成在編職工的工資計算和輸出,不在編人員的工資是不進(jìn)行計算和輸出的。如果軟件將不在編人員的工資信息也輸出顯然是不合適的。嚴(yán)格執(zhí)行測試計劃。在測試之前應(yīng)該有明確的測試計劃,內(nèi)容包括:要測試的軟件功能和內(nèi)容、測試用例和預(yù)期結(jié)果、測試的進(jìn)度安排、需要的工具和資
46、源、測試控制方式和過程等。10)做好測試記錄,為統(tǒng)計和維護(hù)提供基礎(chǔ)數(shù)據(jù)。請說明集成測試、系統(tǒng)測試和驗(yàn)收測試有什么不同?答:集成測試界于單元測試和系統(tǒng)測試之間,起到“橋梁作用”,一般由開發(fā)小組采用白盒加黑盒的方式來測試,既驗(yàn)證“設(shè)計”,又驗(yàn)證“需求”。系統(tǒng)測試的粒度最大,一般由獨(dú)立測試小組采用黑盒方式來測試,主要測試系統(tǒng)是否符合“需求規(guī)格說明書”。驗(yàn)收測試與系統(tǒng)測試相似,主要區(qū)別是測試人員不同,驗(yàn)收測試由用戶執(zhí)行。簡述單元測試的內(nèi)容。 答:單元測試的內(nèi)容有1)模塊接口測試:對通過被測模塊的數(shù)據(jù)流進(jìn)行測試。為此,對模塊接口,包括參數(shù)表、調(diào)用子模塊的參數(shù)、全程數(shù)據(jù)、文件輸入/輸出操作都必須檢查。 2
47、)局部數(shù)據(jù)結(jié)構(gòu)測試:設(shè)計測試用例檢查數(shù)據(jù)類型說明、初始化、缺省值等方面的問題,還要查清全程數(shù)據(jù)對模塊的影響。3)路徑測試:選擇適當(dāng)?shù)臏y試用例,對模塊中重要的執(zhí)行路徑進(jìn)行測試。對基本執(zhí)行路徑和循環(huán)進(jìn)行測試可以發(fā)現(xiàn)大量路徑錯誤。4)錯誤處理測試:檢查模塊的錯誤處理功能是否包含有錯誤或缺陷。例如,是否拒絕不合理的輸入;出錯的描述是否難以理解、是否對錯誤定位有誤、是否出錯原因報告有誤、是否對錯誤條件的處理不正確;在對錯誤處理之前錯誤條件是否已經(jīng)引起系統(tǒng)的干預(yù)等。5)邊界測試:要特別注意數(shù)據(jù)流、控制流中剛好等于、大于或小于確定的比較值時出錯的可能性。對這些地方要仔細(xì)地選擇測試用例,認(rèn)真加以測試。 5)
48、此外,如果對模塊運(yùn)行時間有要求的話,還要專門進(jìn)行關(guān)鍵路徑測試,以確定最壞情況下和平均意義下影響模塊運(yùn)行時間的因素。這類信息對進(jìn)行性能評價是十分有用的。什么是白盒測試?它適應(yīng)哪些測試?答:白盒測試也叫結(jié)構(gòu)測試,測試者需要了解被測程序的內(nèi)部結(jié)構(gòu)。白盒測試通常根據(jù)覆蓋準(zhǔn)則設(shè)計測試用例,有語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋和條件組合覆蓋。 白盒測試適用與單元測試、集成測試、系統(tǒng)測試非漸增式測試與漸增式測試有什么區(qū)別?漸增式測試如何組裝模塊?答:1)漸增式可以較早地發(fā)現(xiàn)模塊界面之間的錯誤,非漸增式則要到最后將所有模塊連接起來時才能發(fā)現(xiàn)此類錯誤。 2)非漸增式需要較多的人工 3)漸增式有利于排錯
49、。如果模塊界面間有錯,如果用非漸增式,這類錯誤到最后聯(lián)合測試時才能發(fā)現(xiàn),此時很難判斷錯誤發(fā)生在哪一部分,但如果用漸增式,這類錯誤就較容易定位,它通常與最新加上去的模塊有關(guān)。 4)漸增式比較徹底。 5)漸增式需要較多的機(jī)器時間。 6)非漸增式方式,開始時允許幾個測試人員并行工作,對大型系統(tǒng)來說,是很有意義的。采用黑盒技術(shù)設(shè)計測試用例有哪幾種方法?這些方法各有什么特點(diǎn)?答:黑盒測試設(shè)計測試用例的方法有1)等價類劃分法 特點(diǎn)是:a、測試的內(nèi)容相同 b、一個等價類中的某個測試可以發(fā)現(xiàn)缺陷,那么這個等價類的其他測試也能發(fā)現(xiàn)缺陷 c、一個等價類中的某個測試不能發(fā)現(xiàn)缺陷,那么這個等價類的其它測試也不能發(fā)現(xiàn)缺
50、陷2)邊界值分析法 特點(diǎn)是:用邊界值分析時時常收獲較大,它是在等價類的邊界上選擇測試用例3)錯誤推測法 特點(diǎn)是:沒有確定的步驟,很大程度上是憑借經(jīng)驗(yàn)進(jìn)行的 4)因果圖法 特點(diǎn)是:考慮輸入條件間的組合關(guān)系;考慮輸出條件對輸入條件的信賴關(guān)系;測試用例發(fā)現(xiàn)錯誤的效率高;能查出功能說明中的某些不一致或遺漏白盒測試法有哪些覆蓋標(biāo)準(zhǔn)?試對它們的檢錯能力進(jìn)行比較。答:白盒測試的覆蓋標(biāo)準(zhǔn)有:語句覆蓋-判定覆蓋-條件覆蓋-判定/條件覆蓋-條件組合覆蓋-路徑覆蓋 檢錯能力由弱到強(qiáng)根據(jù)下面程序代碼,畫出程序流程圖,然后設(shè)計滿足條件/判定覆蓋、條件組合覆蓋的測試用例。BEGIN T:=0 IF ( X=80 AND
51、Y=80 )THEN T:=1ELSE IF ( X=90 AND Y=75 ) THEN T:=2 ENDIF IF (X=75 AND Y=90) THEN T:=3 ENDIFENDIF 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=9010 X=75 Y=9011 X=70 Y=9012 X=70 Y=85軟件的可維護(hù)
52、性是軟件設(shè)計師最關(guān)注的性能,談?wù)劄榱双@得軟件良好的可維護(hù)性,在設(shè)計時應(yīng)該注意哪些問題?答:為獲得軟件的良好可維護(hù)性,在設(shè)計階段應(yīng)該做一些變更實(shí)驗(yàn),檢查系統(tǒng)的可維護(hù)性、靈活性和可移植性,設(shè)計時應(yīng)該將今后可能變更的內(nèi)容與其他部分分離開來,并且遵循高內(nèi)聚、低偶合的原則。在軟件文檔中,你認(rèn)為哪些文檔對于軟件的維護(hù)最重要?需求分析文檔、設(shè)計文檔、程序文檔對軟件維護(hù)很重要軟件維護(hù)時的源程序修改策略是什么?答:軟件維護(hù)時的源程序修改策略是:由于軟件維護(hù)最終落實(shí)在修改源程序和文檔上。為了正確、有效地修改源程序,通常要先分析和理解源程序,然后才能修改源程序,最后重新測試和驗(yàn)證源程序。軟件項(xiàng)目計劃包括那些內(nèi)容?答
53、:軟件項(xiàng)目計劃的內(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)度與其他工程沒有很大的區(qū)別 ,其方法主要有:(1)工程網(wǎng)絡(luò)圖。(2)Gantt圖。(3)任務(wù)資源表。(4)成本估算。(5)培訓(xùn)計劃。15.什么是軟件配置管理?什么是基線? 答:配置管理能夠系統(tǒng)地處理變更,從而使得軟件系統(tǒng)可以隨時保持其完整
54、性。配置管理又可成為變更控制,可以用來評估提出的變更請求,跟蹤變更,并保持系統(tǒng)在不同時間的狀態(tài)。軟件配置管理是一套規(guī)范、高效的軟件開發(fā)基礎(chǔ)結(jié)構(gòu)?;€是:已經(jīng)通過正式復(fù)審和批準(zhǔn)的某規(guī)約或產(chǎn)品,它因此可以作為進(jìn)一步開發(fā)的基礎(chǔ),并且只能通過正式的變化控制過程改變。 應(yīng)用題請讀者參考能夠找到的編程規(guī)范,設(shè)計一個C語言編程規(guī)范。答: 文件結(jié)構(gòu)1.1 版權(quán)和版本的聲明版權(quán)和版本的聲明位于頭文件和定義文件的開頭(參見示例1-1),主要內(nèi)容有:(1)版權(quán)信息。(2)文件名稱,標(biāo)識符,摘要。(3)當(dāng)前版本號,作者/修改者,完成日期。(4)版本歷史信息。/* Copyright (c) 2001,上海貝爾有限公司
55、網(wǎng)絡(luò)應(yīng)用事業(yè)部* All rights reserved.* 文件名稱:filename.h* 文件標(biāo)識:見配置管理計劃書* 摘要:簡要描述本文件的內(nèi)容* 當(dāng)前版本:1.1* 作者:輸入作者(或修改者)名字* 完成日期:2001年7月20日* 取代版本:1.0* 原作者:輸入原作者(或修改者)名字* 完成日期:2001年5月10日*/示例1-1 版權(quán)和版本的聲明1.2 頭文件的結(jié)構(gòu)頭文件由三部分內(nèi)容組成:(1)頭文件開頭處的版權(quán)和版本聲明(參見示例1-1)。(2)預(yù)處理塊。(3)函數(shù)和類結(jié)構(gòu)聲明等。假設(shè)頭文件名稱為 graphics.h,頭文件的結(jié)構(gòu)參見示例1-2。 【規(guī)則1-2-1】為了防止
56、頭文件被重復(fù)引用,應(yīng)當(dāng)用ifndef/define/endif 結(jié)構(gòu)產(chǎn)生預(yù)處理塊。 【規(guī)則 1-2-2】用#include 格式來引用標(biāo)準(zhǔn)庫的頭文件(編譯器將從標(biāo)準(zhǔn)庫目錄開始搜索)。 【規(guī)則1-2-3】用#include “filename.h” 格式來引用非標(biāo)準(zhǔn)庫的頭文件(編譯器將從用戶的工作目錄開始搜索)。 【建議1-2-1】頭文件中只存放“聲明”而不存放“定義” 【建議1-2-2】不提倡使用全局變量,盡量不要在頭文件中出現(xiàn)象extern int value 這類聲明。#ifndef GRAPHICS_H / 防止graphics.h 被重復(fù)引用#define GRAPHICS_H#inc
57、lude / 引用標(biāo)準(zhǔn)庫的頭文件#include “myheader.h” / 引用非標(biāo)準(zhǔn)庫的頭文件void Function1(); / 全局函數(shù)聲明class Box / 類結(jié)構(gòu)聲明;#endif示例1-2 C 頭文件的結(jié)構(gòu)1.3 定義文件的結(jié)構(gòu)定義文件有三部分內(nèi)容:(1) 定義文件開頭處的版權(quán)和版本聲明(參見示例1-1)。(2) 對一些頭文件的引用。(3) 程序的實(shí)現(xiàn)體(包括數(shù)據(jù)和代碼)。假設(shè)定義文件的名稱為 graphics.cpp,定義文件的結(jié)構(gòu)參見示例1-3。/ 版權(quán)和版本聲明見示例1-1,此處省略。#include “graphics.h” / 引用頭文件/ 全局函數(shù)的實(shí)現(xiàn)體vo
58、id Function1()/ 類成員函數(shù)的實(shí)現(xiàn)體void Box:Draw()示例 1-3C 定義文件的結(jié)構(gòu)1.4 目錄結(jié)構(gòu)如果一個軟件的頭文件數(shù)目比較多(如超過十個),通常應(yīng)將頭文件和定義文件分別保存于不同的目錄,以便于維護(hù)。例如可將頭文件保存于include 目錄,將定義文件保存于source 目錄(可以是多級目錄)。如果某些頭文件是私有的,它不會被用戶的程序直接引用,則沒有必要公開其“聲明”。為了加強(qiáng)信息隱藏,這些私有的頭文件可以和定義文件存放于同一個目錄。程序的版式版式雖然不會影響程序的功能,但會影響可讀性。程序的版式追求清晰、美觀,是程序風(fēng)格的重要構(gòu)成因素。 程序的版式 2.1 空
59、行空行起著分隔程序段落的作用??招械皿w(不過多也不過少)將使程序的布局更加清晰。空行不會浪費(fèi)內(nèi)存,雖然打印含有空行的程序是會多消耗一些紙張,但是值得。所以不要舍不得用空行。 【規(guī)則 2-1-1】在每個類聲明之后、每個函數(shù)定義結(jié)束之后都要加空行。 【規(guī)則2-1-2】在一個函數(shù)體內(nèi),邏揖上密切相關(guān)的語句之間不加空行,其它地方應(yīng)加空行分隔。2.2 代碼行 【規(guī)則2-2-1】一行代碼只做一件事情,如只定義一個變量,或只寫一條語句。這樣的代碼容易閱讀,并且方便于寫注釋。 【規(guī)則2-2-2】if、for、while、do 等語句自占一行,執(zhí)行語句不得緊跟其后。不論執(zhí)行語句有多少都要加。這樣可以防止書寫失誤
60、。 【建議2-2-3】盡可能在定義變量的同時初始化該變量(就近原則)如果變量的引用處和其定義處相隔比較遠(yuǎn),變量的初始化很容易被忘記。如果引用了未被初始化的變量,可能會導(dǎo)致程序錯誤。本建議可以減少隱患。例如int width = 10; / 定義并初紿化widthint height = 10; / 定義并初紿化heightint depth = 10; / 定義并初紿化depth2.3 代碼行內(nèi)的空格 【規(guī)則2-3-1】關(guān)鍵字之后要留空格。象const、virtual、inline、case 等關(guān)鍵字之后至少要留一個空格,否則無法辨析關(guān)鍵字。象if、for、while 等關(guān)鍵字之后應(yīng)留一個空格
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題組成員培訓(xùn)
- 專科護(hù)士培訓(xùn)收獲
- 3.1 水循環(huán)(分層練習(xí))高一地理同步高效課堂(人教版2019必修第一冊)
- T-YNZYC 0083-2023 綠色藥材 云黃連種苗生產(chǎn)技術(shù)規(guī)程
- T-YNAEPI 0001-2024 有機(jī)固廢低溫絕氧碳化處理工程技術(shù)規(guī)范
- 期中模擬試卷(1-4單元)(試題)2024-2025學(xué)年六年級上冊數(shù)學(xué)人教版
- 穿越刺繡的時尚語言-抽紗刺繡與現(xiàn)代時裝設(shè)計探索
- Windows Server網(wǎng)絡(luò)管理項(xiàng)目教程(Windows Server 2022)(微課版)9.2 任務(wù)1 安裝VPN服務(wù)器
- 幼兒教育繪本分享-幼兒教育專家
- 山東省滕州市2024-2025學(xué)年上學(xué)期中練習(xí)九年級英語試題(無答案)
- 統(tǒng)編版一年級語文下冊 口語交際 聽故事講故事 小貓種魚 一等獎創(chuàng)新教學(xué)設(shè)計
- 各式停水通知范文6篇
- 山西陸合集團(tuán)恒泰南莊煤業(yè)有限公司礦山礦產(chǎn)資源開發(fā)、地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 2022-2023學(xué)年陜西省西安市普通高校對口單招計算機(jī)基礎(chǔ)自考真題(含答案)
- 留置針埋置方法(寵物臨床基礎(chǔ)治療技術(shù))
- 酒店賬單-水單-住宿
- 2023年山東春季高考數(shù)學(xué)試題word版(含答案解析)
- 我的連衣裙【經(jīng)典繪本】
- 國有資產(chǎn)管理監(jiān)督概述
- 猴的介紹(終稿)
- 中國石油化工集團(tuán)公司職工違紀(jì)違規(guī)行為處分規(guī)定
評論
0/150
提交評論