版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
新版形考作業(yè)答案第一次!!09軟件工程作業(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)軟件工程的標(biāo)準(zhǔn),屬于國際標(biāo)準(zhǔn)的是(D)
A.GBB.DINC.ISOD.IEEE
7.結(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)*n
C、p×(1+i)n
D、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)在以下(B)階段規(guī)定
A、可行性分析B、需求分析C、概要設(shè)計D、詳細設(shè)計
15.需求規(guī)格說明書的作用不包括(D)
A、軟件驗收的依據(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、SA
B、SD
C、SP
D、SC
18.DFD中的每個加工至少有(A)。
A、一個輸入流或一個輸出流
B、一個輸入流和一個輸出流
C、一個輸入流
D、一個輸出流
19.需求分析階段的關(guān)鍵任務(wù)是確定(D)
A、軟件開發(fā)方法B、軟件開發(fā)工具C、軟件開發(fā)費D、軟件系統(tǒng)的功能
20.在SD方法中全面指導(dǎo)模塊劃分的最重要的原則是(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、IPO圖
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、標(biāo)記耦合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、DFDB、PAD
C、SC
D、ER
30.在七種偶合中,最低偶合是(D)。
A、內(nèi)容偶合B、公共偶合C、數(shù)據(jù)偶合D、非直接偶合
二、簡答題
1.什么是軟件工程?軟件工程的目標(biāo)是什么?
[答:軟件工程是①將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運行和維護過程,即將工程化應(yīng)用于軟件開發(fā)和管理之中,②對①中所選方法的研究。合理預(yù)算開發(fā)成本,付出較低的開發(fā)費用。實現(xiàn)預(yù)期的軟件功能,達到較好的軟件性能,滿足用戶的需求。提高軟件的可維護性,降低維護費用。提高軟件開發(fā)生產(chǎn)率,及時交付使用
2.指出瀑布模型中下列任務(wù)的順序:驗收測試,項目計劃,單元測試,需求評審,成本估計,概要設(shè)計,詳細設(shè)計,系統(tǒng)測試,設(shè)計評審,編碼,需求規(guī)格說明書。
答:項目計劃,成本估計,需求規(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)輸出什么??梢哉f,“需求分析”就是確定要計算機“做什么”。
任務(wù):確定軟件項目的目標(biāo)和范圍。調(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ù)字典4IPO圖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)建立目標(biāo)系統(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ù)流圖的基本符號的意思: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ù)用戶的需求先確定軟件系統(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ā)射出多條事務(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)聚——一個模塊中各個部分都是完成某一具體功能必不可少的組成部分
耦合分為七類:
內(nèi)容耦合——如果一個模塊直接參考另一個模塊的內(nèi)容,則這兩個模塊是內(nèi)容耦合。
公共耦合——如果多個模塊都訪問同一個公共數(shù)據(jù)環(huán)境,則稱它們是公共耦合。
外部耦合——如果兩個模塊都訪問同一個全局簡單變量而不是同一全局?jǐn)?shù)據(jù)結(jié)構(gòu),而且,不是通過參數(shù)表傳遞該全局變量的信息,則這兩個模塊屬于外部耦合。
控制耦合——如果模塊A向模塊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)系完全通過主模塊的控制和調(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
字符
4
7201..7299
外線市話號Addition_Internumber字符
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.下面是旅客訂飛機票的需求描述,試畫出分層的數(shù)據(jù)流程圖。顧客將訂票單交給預(yù)訂系統(tǒng):(1)如果是不合法訂票單,則輸出無效訂票信息;(2)對合法訂票單的預(yù)付款登錄到一個記賬文件中;(3)系統(tǒng)有航班目錄文件,根據(jù)填寫的旅行時間和目的地為顧客安排航班;(4)在獲得正確航班信息和確認(rèn)已交了部分預(yù)付款時發(fā)出取票單,并記錄到取票單文件中。顧客在指定日期內(nèi)用取票單換取機票:(1)系統(tǒng)根據(jù)取票單文件對取票單進行有效性檢查,無效的輸出無效取票信息;(2)持有有效取票單的顧客在補交了剩余款后將獲得機票;(3)記賬文件將被更新,機票以及顧客信息將被登錄到機票文件。訂單中有訂票日期、旅行日期、時間要求(上午、下午、晚上)、出發(fā)地、目的地、顧客姓名、身份證號、聯(lián)系電話。3.一個簡化的圖書館信息管理系統(tǒng)有以下功能:(1)借書:輸入讀者借書證,系統(tǒng)檢查借書證是否有效;查閱借書文件,檢查該讀者所借圖書是否超過10本,若已達10本,顯示信息“已經(jīng)超出借書數(shù)量”,拒借;未達10本,辦理借書(檢查庫存、修改庫存信息并將讀者借書信息登入借書記錄)(2)還書:輸入書號和讀者號,從借書記錄中讀出與讀者有關(guān)的記錄,查閱所借日期,如果超過3個月,作罰款處理。否則,修改庫存信息與借書記錄。(3)查詢:可通過借書記錄、庫存信息查詢讀者情況、圖書借閱情況及庫存情況,打印各種統(tǒng)計表。
請就以上系統(tǒng)功能畫出分層的DFD圖,并建立重要條目的數(shù)據(jù)字典。數(shù)據(jù)字典:
元素名稱
名稱
類型
說明
IPO1
還書處理
處理
根據(jù)書號做還書處理,違規(guī)做處罰
IPO2
有效性檢查
處理
檢查讀者號,圖書號的有效性
IPO3
借書處理
處理
按讀者號,圖書號進行借書處理
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è)答案第二次!!軟件工程作業(yè)2(第5~7章)
一、選擇題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.屬于某個類的一個具體對象稱為該類的(A)。
A.實例B.虛擬C.繼承D.多態(tài)
5.UML是(A)。
A一種可視化的建模語言B是一種可視化的程序設(shè)計語言C是一種過程D是一種方法
6.封裝的的作用是(A)。
A.復(fù)用B.對象C.實例D.方法
7.面向?qū)ο蠓治龅暮诵脑谟诮ⅲ˙)模型。
A.建立正確的模型B.識別問題域?qū)ο驝.識別對象之間的關(guān)系D.上面所有
8.面向?qū)ο蠓治鲞^程中建立的模型有(D)。
A.數(shù)據(jù)模型、功能模型、活動模型
B.對象模型、功能模型、測試模型
C.屬性模型、功能模型、對象模型
D.對象模型、功能模型、動態(tài)模型
9.下列的(C)不是分析建模的目的。
A.定義可驗證的軟件需求
B.描述客戶需求
C.開發(fā)一個簡單的問題解決方案
D.建立軟件設(shè)計的基礎(chǔ)
10.下列的(C)不屬于面向?qū)ο蠓治瞿P汀?/p>
A.用例圖B.類圖C.實體關(guān)系圖D.順序圖
11.(A)用于描述系統(tǒng)中概念層次的對象。
A.分析類B.界面類C.實體類D.控制類
12.在基于用例的面向?qū)ο蠓治鲞^程中,定義交互行為的關(guān)鍵在于通過描述分析類實例之間的(A)將用例的職責(zé)分配到分析類中。
A.消息傳遞B.關(guān)聯(lián)關(guān)系C繼承關(guān)系D上下文關(guān)系
13.用例的實現(xiàn)細節(jié)不會在(B)描述。
A.用例說明B.用例圖C.活動圖D.順序圖
14.用例的職責(zé)通常分配給(D)的對象。
A.發(fā)送消息B.接收消息C.發(fā)送和接收雙方D.分析類
15.組織機構(gòu)圖是(C)。
A.UML的一個最新圖B.類圖的一種C.用于識別角色的輔助圖D.用例圖的一種
16.在圖書館系統(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.下面(D)選項不能描述子系統(tǒng)之間的關(guān)系。
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è)計思想。(C)
A.對接口進行設(shè)計B.發(fā)現(xiàn)變化并且封裝它
C.先繼承后組合D.先組合后繼承
25.定義類的屬性類型時盡量使用已有的類型,太多的自定義類型會降低系統(tǒng)的(A)指標(biāo)。
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.什么是實體類、邊界類和控制類?為什么將分析類劃分成這三種類型?
答:(1)實體類保存要存入永久存儲體的信息。實體類通常在事件流或交互圖中,是對用戶最有意義的類。
邊界類位于系統(tǒng)與外界的交界處,包括所有的窗體、報表、系統(tǒng)硬件接口、與其他系統(tǒng)的接口。
控制類負責(zé)協(xié)調(diào)其他類的工作。每個用例中至少應(yīng)該有一個控制類,它控制用況中的事件順序。
(2)分為三種類型是因為它們各自的功能不同。界面類——描述系統(tǒng)與角色之間的接口。
控制類——在分析模型內(nèi)表示協(xié)調(diào)、順序、事務(wù)處理以及控制其他對象的類。
實體類——為需要長久保存的信息進行建模的類。
4.UML中有哪幾類個視圖,它們的作用分別是什么?
答:(1)用例視圖.用例視圖用于描述系統(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)的最終目標(biāo)是實現(xiàn)用例視圖中描述的功能,同時附帶一些非功能性的特性,因此用例視圖影響著所有其他的視圖。
(2)邏輯視圖.如果說用例視圖描述系統(tǒng)“做什么”,那么邏輯視圖就是描述“怎么做”。系統(tǒng)的靜態(tài)結(jié)構(gòu)描述類、對象和它們之間的關(guān)系,反映的是系統(tǒng)靜態(tài)特征或結(jié)構(gòu)組成。
(3)組件視圖.組件視圖用來描述系統(tǒng)實現(xiàn)的結(jié)構(gòu)和行為特征,反映系統(tǒng)各組成元素之間的關(guān)系。組件視圖由組件圖實現(xiàn),主要供開發(fā)者和管理者使用。
(4)并發(fā)視圖.并發(fā)視圖用來描述系統(tǒng)的動態(tài)和行為特征。并發(fā)視圖將任務(wù)劃分為進程或線程形式,通過任務(wù)劃分引入并發(fā)機制,可以高效地使用資源、并行執(zhí)行和處理異步事件。除了劃分系統(tǒng)為并發(fā)執(zhí)行的進程或線程外,并發(fā)視圖還必須處理通信和同步問題。
(5)配置視圖.配置視圖體現(xiàn)了系統(tǒng)的實現(xiàn)環(huán)境,反映系統(tǒng)的物理架構(gòu)。配置視圖還包括一個映射,該映射顯示在物理架構(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)。根就是主模塊,葉子是最低級的功能模塊。這棵樹也表示調(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è)計”有什么關(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)用題
一個多媒體商店系統(tǒng)包含一個由媒體文件構(gòu)成的數(shù)據(jù)庫,有兩類媒體文件:圖像文件和聲音文件。每個媒體文件都有名稱和唯一的編碼,而且文件包含作者信息和格式信息,聲音文件還包含聲音文件的時長(以秒為單位)和作者的信息。假設(shè)每個媒體文件可以由唯一的編碼所識別,系統(tǒng)要提供以下功能:
1)媒體庫中可以添加新的特別媒體文件。
2)通過給定的文件編碼查找需要的媒體文件。
3)從媒體庫中刪除指定的媒體文件。
4)給出媒體庫中媒體文件的數(shù)量。
考慮類imageFile和audioFile應(yīng)該具有哪些恰當(dāng)?shù)膶傩院头椒?/p>
答:imageFile類的屬性有:Name(文件名稱),Code(編碼),AuthorInfo(作者信息),F(xiàn)ormat(格式信息);
audioFile類除了擁有以上屬性外還有屬性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個類:類Student、類ElementaryStudent、MiddleStudent;類UniversityStudent。試給出這4個類的屬性以及它們之間的關(guān)系。
答:Student類為基類,其他三個類都是Student的子類。
Student類的屬性有:Name(姓名),Sex(性別),Age(年齡),Class(班級)。
ElementaryStudent類的屬性有:IsTeamMember(是否是少先隊員),IsGoodStudent(是否是三好學(xué)生)。
MiddleStudent類的屬性為:IsMember(是否是團員),Subject(文科理科)。
UniversityStudent類的屬性為: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)書的過程。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)。3.某報社采用面向?qū)ο蠹夹g(shù)實現(xiàn)報刊征訂的計算機管理系統(tǒng),該系統(tǒng)基本需求如下:
(1)報社發(fā)行多種刊物,每種刊物通過訂單來征訂,訂單中有代碼,名稱,訂期,單價,份數(shù)等項目,訂戶通過填寫訂單來訂閱報刊。
(2)報社下屬多個發(fā)行站,每個站負責(zé)收集登陸訂單、打印收款憑證等事務(wù)。
(3)報社負責(zé)分類并統(tǒng)計各個發(fā)行站送來的報刊訂閱信息。
請就此需求建立對象模型。軟件工程作業(yè)3(第8~11章)
一、選擇題
1.結(jié)構(gòu)化語言是介于自然語言和形式語言之間的一種(D)。
A.半形式語言B.計算機語言C.低級語言D.高級語言
2.程序設(shè)計語言的技術(shù)特性不應(yīng)包括(C)。
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.效率是一個性能要求,其目標(biāo)應(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ū)ο蟮?/p>
9.使用白盒測試方法時,確定測試數(shù)據(jù)應(yīng)根據(jù)(A)和指定的覆蓋標(biāo)準(zhǔn)。
A程序內(nèi)部邏輯B.程序復(fù)雜結(jié)構(gòu)C.使用說明書D.程序的功能
10.確認(rèn)測試主要涉及的文檔是(A)。
A、需求規(guī)格說明書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、確認(rèn)測試B、集成測試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.維護中,因誤刪除一個標(biāo)識符而引起的錯誤是(C)副作用。
A、文檔B、數(shù)據(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)維護所占的維護量最小。
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ā)階段的一個檢查點。當(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ù)乃惴?,避免使用技巧性高和難懂的代碼。②使用簡單的數(shù)據(jù)結(jié)構(gòu),避免使用多維數(shù)組、指針和復(fù)雜的表。③注意對象命名的一致性。④以手工的方式簡化算術(shù)和邏輯表達式。
4)結(jié)構(gòu)化①按標(biāo)準(zhǔn)化的次序說明數(shù)據(jù);②按字母順序說明對象名;③使用讀者明了的結(jié)構(gòu)化程序部件;④采用直截了當(dāng)?shù)乃惴?;⑤根?jù)應(yīng)用背景排列程序各個部分;⑥不隨意為效率而犧牲程序的清晰度和可讀性;⑦讓機器多做煩瑣的工作,如重復(fù)、庫函數(shù);⑧用公共函數(shù)調(diào)用代替重復(fù)出現(xiàn)的表達式;⑨避免循環(huán)、分支的嵌套層數(shù)過高;⑩單入口單出口。
5)文檔化①有效、適當(dāng)?shù)厥褂米⑨?。②協(xié)調(diào)使用程序塊注釋和程序行注釋。③保持文檔和程序的同步。
6)格式化①始終采用統(tǒng)一縮進規(guī)則;②適當(dāng)插入括號表明運算次序、排除二義性;③有效地使用空格符以區(qū)別程序的不同意群。
2.什么是軟件測試?
答:軟件測試從廣義上講,是指軟件產(chǎn)品生存周期內(nèi)所有的檢查、評審和確認(rèn)活動。從狹義上講,軟件測試是為了發(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)該盡量避免檢查自己編寫的代碼。測試工作需要嚴(yán)格的工作作風(fēng),程序員在測試自己編寫的代碼時往往會帶有一些傾向性,使得他們工作中常常出現(xiàn)一些疏漏。而且,程序員對設(shè)計規(guī)格說明書的理解錯誤而引入的錯誤更是難于發(fā)現(xiàn)。5)在設(shè)計測試用例時,應(yīng)該包括有效的、期望的輸入情況,也要包括無效的和不期望的輸入情況。既能夠驗證程序正常運行的合理輸入,也能夠驗證對異常情況處理的不合理輸入數(shù)據(jù)以及臨界數(shù)據(jù)。在測試程序時,人們常常過多地考慮合法的和期望的輸入條件,以檢查程序是否做了它應(yīng)該做的事情,而忽視了不合法的和預(yù)想不到的輸入條件。事實上,用戶在使用系統(tǒng)時,輸入一些錯誤指令和參數(shù)是經(jīng)常發(fā)生的,如果軟件遇到這種情況不能做出適當(dāng)?shù)姆磻?yīng),給出相應(yīng)的提示信息,就可能會誤導(dǎo)用戶,甚至造成嚴(yán)重損失。6)軟件中遺留的錯誤數(shù)量與已經(jīng)發(fā)現(xiàn)的錯誤數(shù)量成正比。根據(jù)這個規(guī)律,對測試中發(fā)現(xiàn)錯誤成堆的模塊更要仔細測試。例如,在某個著名的操作系統(tǒng)中,44%的錯誤僅與4%的模塊有關(guān)。7)回歸測試的關(guān)聯(lián)性要特別引起注意,修改一個錯誤而引起更多錯誤的現(xiàn)象并不少見。8)測試程序時不僅要檢查程序是否做了它應(yīng)該做的事情,還要檢查它是否做了不該做的事情。例如,工資軟件中,軟件只完成在編職工的工資計算和輸出,不在編人員的工資是不進行計算和輸出的。如果軟件將不在編人員的工資信息也輸出顯然是不合適的。9)嚴(yán)格執(zhí)行測試計劃。在測試之前應(yīng)該有明確的測試計劃,內(nèi)容包括:要測試的軟件功能和內(nèi)容、測試用例和預(yù)期結(jié)果、測試的進度安排、需要的工具和資源、測試控制方式和過程等。10)做好測試記錄,為統(tǒng)計和維護提供基礎(chǔ)數(shù)據(jù)。4.請說明集成測試、系統(tǒng)測試和驗收測試有什么不同?
答:集成測試界于單元測試和系統(tǒng)測試之間,起到“橋梁作用”,一般由開發(fā)小組采用白盒加黑盒的方式來測試,既驗證“設(shè)計”,又驗證“需求”。系統(tǒng)測試的粒度最大,一般由獨立測試小組采用黑盒方式來測試,主要測試系統(tǒng)是否符合“需求規(guī)格說明書”。驗收測試與系統(tǒng)測試相似,主要區(qū)別是測試人員不同,驗收測試由用戶執(zhí)行。5.簡述單元測試的內(nèi)容。
答:單元測試的內(nèi)容有
1)模塊接口測試:對通過被測模塊的數(shù)據(jù)流進行測試。為此,對模塊接口,包括參數(shù)表、調(diào)用子模塊的參數(shù)、全程數(shù)據(jù)、文件輸入/輸出操作都必須檢查。
2)局部數(shù)據(jù)結(jié)構(gòu)測試:設(shè)計測試用例檢查數(shù)據(jù)類型說明、初始化、缺省值等方面的問題,還要查清全程數(shù)據(jù)對模塊的影響。
3)路徑測試:選擇適當(dāng)?shù)臏y試用例,對模塊中重要的執(zhí)行路徑進行測試。對基本執(zhí)行路徑和循環(huán)進行測試可以發(fā)現(xiàn)大量路徑錯誤。
4)錯誤處理測試:檢查模塊的錯誤處理功能是否包含有錯誤或缺陷。例如,是否拒絕不合理的輸入;出錯的描述是否難以理解、是否對錯誤定位有誤、是否出錯原因報告有誤、是否對錯誤條件的處理不正確;在對錯誤處理之前錯誤條件是否已經(jīng)引起系統(tǒng)的干預(yù)等。
5)邊界測試:要特別注意數(shù)據(jù)流、控制流中剛好等于、大于或小于確定的比較值時出錯的可能性。對這些地方要仔細地選擇測試用例,認(rèn)真加以測試。
此外,如果對模塊運行時間有要求的話,還要專門進行關(guān)鍵路徑測試,以確定最壞情況下和平均意義下影響模塊運行時間的因素。這類信息對進行性能評價是十分有用的。6.什么是白盒測試?它適應(yīng)哪些測試?
答:白盒測試也叫結(jié)構(gòu)測試,測試者需要了解被測程序的內(nèi)部結(jié)構(gòu)。白盒測試通常根據(jù)覆蓋準(zhǔn)則設(shè)計測試用例,有語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋和條件組合覆蓋。"白盒測試適用與單元測試、集成測試、系統(tǒng)測試7.非漸增式測試與漸增式測試有什么區(qū)別?漸增式測試如何組裝模塊?
答:1)漸增式可以較早地發(fā)現(xiàn)模塊界面之間的錯誤,非漸增式則要到最后將所有模塊連接起來時才能發(fā)現(xiàn)此類錯誤。
2)非漸增式需要較多的人工
3)漸增式有利于排錯。如果模塊界面間有錯,如果用非漸增式,這類錯誤到最后聯(lián)合測試時才能發(fā)現(xiàn),此時很難判斷錯誤發(fā)生在哪一部分,但如果用漸增式,這類錯誤就較容易定位,它通常與最新加上去的模塊有關(guān)。
4)漸增式比較徹底。
5)漸增式需要較多的機器時間。
6)非漸增式方式,開始時允許幾個測試人員并行工作,對大型系統(tǒng)來說,是很有意義的。8.采用黑盒技術(shù)設(shè)計測試用例有哪幾種方法?這些方法各有什么特點?
答:黑盒測試設(shè)計測試用例的方法有
1)等價類劃分法特點是:a、測試的內(nèi)容相同
b、一個等價類中的某個測試可以發(fā)現(xiàn)缺陷,那么這個等價類的其他測試也能發(fā)現(xiàn)缺陷c、一個等價類中的某個測試不能發(fā)現(xiàn)缺陷,那么這個等價類的其它測試也不能發(fā)現(xiàn)缺陷
2)邊界值分析法特點是:用邊界值分析時時常收獲較大,它是在等價類的邊界上選擇測試用例
3)錯誤推測法
特點是:沒有確定的步驟,很大程度上是憑借經(jīng)驗進行的
4)因果圖法特點是:考慮輸入條件間的組合關(guān)系;考慮輸出條件對輸入條件的信賴關(guān)系;測試用例發(fā)現(xiàn)錯誤的效率高;能查出功能說明中的某些不一致或遺漏9.白盒測試法有哪些覆蓋標(biāo)準(zhǔn)?試對它們的檢錯能力進行比較。
答:白盒測試的覆蓋標(biāo)準(zhǔn)有:語句覆蓋->判定覆蓋->條件覆蓋->判定/條件覆蓋->條件組合覆蓋->路徑覆蓋
檢錯能力由弱到強10.根據(jù)下面程序代碼,畫出程序流程圖,然后設(shè)計滿足條件/判定覆蓋、條件組合覆蓋的測試用例。
BEGIN
T:=0
IF(X>=80ANDY>=80)THEN
T:=1
ELSE
IF(X>=90ANDY>=75)
THEN
T:=2ENDIF
IF(X>=75ANDY>=90)THEN9
T:=3
ENDIF
ENDIF
RETURN測試用例:
條件/判定覆蓋:
1X=80Y=80
2X=90Y=75
3X=50Y=50
條件組合覆蓋:
1X=80Y=80
2X=80Y=75
3X=75Y=806
4X=75Y=75
5X=90Y=75
6X=90Y=70
7X=80Y=75
8X=80Y=70
9X=75Y=90
10X=75Y=90
11X=70Y=90
12X=70Y=85
11.軟件的可維護性是軟件設(shè)計師最關(guān)注的性能,談?wù)劄榱双@得軟件良好的可維護性,在設(shè)計時應(yīng)該注意哪些問題?
答:為獲得軟件的良好可維護性,在設(shè)計階段應(yīng)該做一些變更實驗,檢查系統(tǒng)的可維護性、靈活性和可移植性,設(shè)計時應(yīng)該將今后可能變更的內(nèi)容與其他部分分離開來,并且遵循高內(nèi)聚、低偶合的原則。
12.在軟件文檔中,你認(rèn)為哪些文檔對于軟件的維護最重要?
需求分析文檔、設(shè)計文檔、程序文檔對軟件維護很重要
13.軟件維護時的源程序修改策略是什么?
答:軟件維護時的源程序修改策略是:由于軟件維護最終落實在修改源程序和文檔上。為了正確、有效地修改源程序,通常要先分析和理解源程序,然后才能修改源程序,最后重新測試和驗證源程序。14.軟件項目計劃包括那些內(nèi)容?
答:軟件項目計劃的內(nèi)容包括:
1.范圍。對該軟件項目的綜合描述,定義起所要做的工作以及性能限制,它包括:(1)項目目標(biāo)。(2)主要功能。(3)性能限制。(4)系統(tǒng)接口。(5)特殊要求。(6)開發(fā)概述。
2.資源。(1)人員資源。(2)硬件資源。(3)軟件資源。(4)其他。
3.進度安排。
進度安排的好壞往往會影響整個項目的按期完成,因此這一環(huán)節(jié)是十分重要的。制定軟件進度與其他工程沒有很大的區(qū)別,其方法主要有:(1)工程網(wǎng)絡(luò)圖。(2)Gantt圖。(3)任務(wù)資源表。(4)成本估算。(5)培訓(xùn)計劃。15.什么是軟件配置管理?什么是基線?
答:配置管理能夠系統(tǒng)地處理變更,從而使得軟件系統(tǒng)可以隨時保持其完整性。配置管理又可成為變更控制,可以用來評估提出的變更請求,跟蹤變更,并保持系統(tǒng)在不同時間的狀態(tài)。軟件配置管理是一套規(guī)范、高效的軟件開發(fā)基礎(chǔ)結(jié)構(gòu)?;€是:已經(jīng)通過正式復(fù)審和批準(zhǔn)的某規(guī)約或產(chǎn)品,它因此可以作為進一步開發(fā)的基礎(chǔ),并且只能通過正式的變化控制過程改變。
三、應(yīng)用題
2.有的學(xué)生總是問老師“我應(yīng)該掌握什么程序設(shè)計語言更好?”你認(rèn)為該如何回答這個問題?
答:首先必須掌握C語言,面向?qū)ο蟮某绦蛟O(shè)計語言,各有各的優(yōu)勢,看你想往哪方面用了,如果是服務(wù)器端的應(yīng)用最好是java,跨平臺性好;如果是,一般的桌面應(yīng)用,C#是較好的選擇;至于易上手程度,VB,Delphi等是上手比較快的;至于數(shù)據(jù)庫應(yīng)用本人認(rèn)為PB是最好的選擇,VB,Delphi也是比較好的選擇;當(dāng)特別強調(diào)效率的時候VC是不二的選擇,其中VC最為復(fù)雜,也最為靈活,“偷懶的程序員用VB,聰明的程序員用Delphi,
真正的程序員用VC”如果想要設(shè)計一些系統(tǒng)級的核心程序,最好用VC,C語言也可,但是不如VC強大。無論什么語言,通一門即可,它們只是工具,設(shè)計模式和算法才是靈魂。3.編寫C語言程序,要求輸入一個學(xué)生的兩門課成績(百分制),計算該生的總分并要求輸出成績等級‘A’、‘B’、‘C’、‘D’、‘E’??偡衷?80分以上為‘A’,160~179分為‘B’,140~159分為‘C’,120~139分為‘D’,120分以下為‘E’。使用switch語句編寫,具體要求:
①成績通過鍵盤輸入,輸入之前要有提示信息。②若輸入的成績不是百分制成績,則給出錯誤提示信息,并且不再進行下面的等級評價;若輸入的成績是百分制成績,則計算總分,并根據(jù)要求評價等級。
答:
#include<stdio.h>
#include<conio.h>
/*原型聲明*/
voidinput(int*,int*);
intsum(int,int);
voidconvert(int,char*);
voiddegree(char,int);
voidmain(void)
{
/*定義變量*/
intnfst_course=-1,nsec_course=-1;
/*nfst_course第一門課成績,nsec_course第二門課成績*/
int*pfst=&nfst_course,*psec=&nsec_course;
charcdegree='\0';/*成績等級*/
char*idegree=&cdegree;
intnsum;
clrscr();/*清屏*/
do
{
input(pfst,psec);/*輸入成績*/
)while(nfst_course==-1&&nsec_course==-1);/*正確輸入時跳出循環(huán)*/
/*printf("addnfst_courseandnsec_course\n");*/
nsum=sum(nfst_course,nsec_course);/*求和*/
convert(nsum,idegree);/*轉(zhuǎn)換*/
degree(cdegree,nsum);/*評價等級*/
}voidinput(int*pfst,int*psec)/*輸入成績數(shù)據(jù)*/
{intfst,sec;
intbflag=1;/*標(biāo)志變量*/
while(bflag)
{printf("Plseaseinputthescoreoffirstcourse:");
scanf("%d",&fst);
printf("Firstcourse:%d\n",fst);
if(fst>=0&&fst<=100)
{*pfst=fst;bflag=0;break;}
else
{clrscr();/*清屏*/
printf("ResultisnotPercentilesystem,pleasereinput\n");/*非百分制,需重新輸入*/
/*return;*/
}/*else*/
}/*while*/
bflag=1;/*使標(biāo)志變量值為真*/
while(bflag)
{printf("Plseaseinputthescoreofsecondcourse:");
scanf("%d",&sec);
printf("Secondcourse:%d\n",sec);
if(fst>=0&&fst<=100)
{*psec=sec;bflag=0;break;}
else
{clrscr();/*清屏*/
printf("resultisnotPercentilesystem,pleasereinput\n");
/*return;*/
}/*else*/
}/*while*/
return;}/*input*/
intsum(intfirst,intsecond)/*求和*/
{
return(first+second);
}
voidconvert(int
溫馨提示
- 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版返點合同協(xié)議書
- 2024贈送房地產(chǎn)投資房產(chǎn)協(xié)議范本3篇
- 2025年度醫(yī)療設(shè)備制造加工承包合同范本3篇
- 2024物業(yè)租賃合同規(guī)定書
- 2024證券公司資產(chǎn)托管業(yè)務(wù)服務(wù)合同
- 臨床微生物標(biāo)本的采集方法與運送課件
- 2025年度互聯(lián)網(wǎng)公司100%股權(quán)轉(zhuǎn)讓協(xié)議書3篇
- 2024版海洋工程勘探與開發(fā)合作合同2篇
- 2024西安市二手房交易資金監(jiān)管服務(wù)合同
- 珠寶銷售顧問月工作總結(jié)
- JT-T-617.4-2018危險貨物道路運輸規(guī)則第4部分:運輸包裝使用要求
- 上海市中考英語試卷及答案
- 蘇教版科學(xué)小學(xué)五年級上冊期末測試卷及完整答案(奪冠系列)
- 監(jiān)控工程竣工驗收報告
- 國家基層糖尿病神經(jīng)病變診治指南(2024版)
- 高血壓病人護理查房課件
- 2021年7月自考06087工程項目管理試題及答案含解析
- 胎盤早剝護理查房課件
- 奧爾波特價值觀量表
- dip按病種分值付費
- 2024年中考語文名著閱讀《儒林外史》內(nèi)容簡介、主要人物形象及相關(guān)練習(xí)
評論
0/150
提交評論