第十三章軟件工程基礎(chǔ)_第1頁(yè)
第十三章軟件工程基礎(chǔ)_第2頁(yè)
第十三章軟件工程基礎(chǔ)_第3頁(yè)
第十三章軟件工程基礎(chǔ)_第4頁(yè)
第十三章軟件工程基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩118頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2003.11.全國(guó)計(jì)算機(jī)等級(jí)考試

二級(jí)公共基礎(chǔ)知識(shí)

韓相軍2008年5月12日星期一14時(shí)28分04秒本章結(jié)構(gòu)軟件工程概述結(jié)構(gòu)化分析方法結(jié)構(gòu)化設(shè)計(jì)方法測(cè)試與調(diào)試軟件工程基礎(chǔ)本章內(nèi)容軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開發(fā)環(huán)境。結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說(shuō)明書。結(jié)構(gòu)化設(shè)計(jì)方法,總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)。軟件測(cè)試的方法,白盒測(cè)試與黑盒測(cè)試,測(cè)試用例設(shè)計(jì),軟件測(cè)試的實(shí)施,單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試。程序的調(diào)試,靜態(tài)調(diào)試與動(dòng)態(tài)調(diào)試。3.1

軟件工程概述軟件:

與計(jì)算機(jī)系統(tǒng)的操作有關(guān)的計(jì)算機(jī)程序、規(guī)程、規(guī)則,以及可能有的文件、文檔及數(shù)據(jù)軟件工程:是指采用工程的概念、原理、技術(shù)和方法指導(dǎo)軟件的開發(fā)與維護(hù)軟件工程學(xué)研究軟件開發(fā)和維護(hù)的普遍原理與技術(shù)的一門工程學(xué)科研究對(duì)象包括軟件開發(fā)與維護(hù)的技術(shù)、方法、工具和管理等方面軟件生命周期定義:從某一軟件被提出并著手開始實(shí)現(xiàn),直到軟件完成其使命為止的全過(guò)程3個(gè)時(shí)期,8個(gè)階段可行性研究需求分析詳細(xì)設(shè)計(jì)編碼運(yùn)行維護(hù)測(cè)試軟件定義期軟件開發(fā)期軟件維護(hù)期問(wèn)題定義系統(tǒng)設(shè)計(jì)只考慮編寫程序

涉及整個(gè)軟件生命周期擴(kuò)展到軟件工作的范圍軟件定義期

開始問(wèn)題定義可性行研究

可行否?項(xiàng)目實(shí)施計(jì)劃終止項(xiàng)目的建議結(jié)束YN1問(wèn)題定義主要目的:確定問(wèn)題的性質(zhì)、工程目標(biāo)及規(guī)模參加人員:軟件開發(fā)人員、用戶及使用部門負(fù)責(zé)人提交:文檔(編寫系統(tǒng)目標(biāo)與規(guī)范說(shuō)明書)2可行性分析主要目的:進(jìn)一步研究所定義的問(wèn)題是否可解角度:技術(shù)可行性經(jīng)濟(jì)可行性社會(huì)可行性使用方法:邏輯模型---數(shù)據(jù)流圖和數(shù)據(jù)字典物理模型---系統(tǒng)流程圖提交:文檔3需求分析主要目的:根據(jù)可行性研究階段提交的文檔,特別是從數(shù)據(jù)流圖出發(fā),對(duì)目標(biāo)系統(tǒng)提出清晰、準(zhǔn)確和具體的要求(做什么)具體任務(wù):綜合要求--->數(shù)據(jù)分析--->詳細(xì)模型系統(tǒng)提交:文檔(系統(tǒng)的功能說(shuō)明、數(shù)據(jù)要求和用戶系統(tǒng)描述)軟件開發(fā)期

Who為誰(shuí)設(shè)計(jì),用戶是誰(shuí)?What要解決哪些問(wèn)題?Why為什么要解決這些問(wèn)題

3W編碼測(cè)試設(shè)計(jì)信息描述功能描述行為描述其他需求總體結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)過(guò)程設(shè)計(jì)程序模塊集成并確認(rèn)的軟件1系統(tǒng)設(shè)計(jì)主要任務(wù):劃分出構(gòu)成系統(tǒng)的各物理元素(如程序、文件、數(shù)據(jù)庫(kù)、人工過(guò)程與文檔等)設(shè)計(jì)出軟件的結(jié)構(gòu)(如確定模塊之間的關(guān)系)階段最后要進(jìn)行嚴(yán)格的技術(shù)審查和管理審查提出可選擇方案選擇合理方案推薦最佳方案功能分解設(shè)計(jì)軟件結(jié)構(gòu)制定測(cè)試計(jì)劃提交文檔設(shè)計(jì)過(guò)程2詳細(xì)設(shè)計(jì)主要任務(wù):對(duì)系統(tǒng)做出精確的描述,以方便編碼階段使用目標(biāo):保證程序的可靠性、易讀、易理解、易測(cè)試、易修改和易維護(hù)提交:詳細(xì)的編碼規(guī)格說(shuō)明工具:層次圖與輸入-處理-輸出圖的結(jié)合(HIPO)過(guò)程描述語(yǔ)言(PDL)3編碼主要任務(wù):將系統(tǒng)設(shè)計(jì)與詳細(xì)設(shè)計(jì)階段中的結(jié)果翻譯成用某種程序設(shè)計(jì)語(yǔ)言書寫的程序影響程序設(shè)計(jì)的幾個(gè)方面選擇適當(dāng)?shù)某绦蛟O(shè)計(jì)語(yǔ)言良好的編程風(fēng)格充分利用已有的軟件工具協(xié)助編碼提交源程序編碼面向用戶的文檔:用戶手冊(cè),操作手冊(cè)單元測(cè)試計(jì)劃4測(cè)試主要任務(wù):盡量發(fā)現(xiàn)程序中的錯(cuò)誤測(cè)試與調(diào)試的區(qū)別測(cè)試是要盡量發(fā)現(xiàn)程序中的錯(cuò)誤,但絕不能證明程序的正確性調(diào)試是要推斷錯(cuò)誤的原因,從而進(jìn)一步改正錯(cuò)誤提交:測(cè)試分析報(bào)告軟件維護(hù)期維護(hù)是軟件生命周期的最后階段,也是持續(xù)時(shí)間最長(zhǎng)、付出代價(jià)最大的階段程序代碼及文檔的維護(hù)分類改正性維護(hù):糾正使用中出現(xiàn)的錯(cuò)誤適應(yīng)性維護(hù):適應(yīng)環(huán)境的變化完善性維護(hù):改進(jìn)原有軟件預(yù)防性維護(hù):為將來(lái)的可維護(hù)性和可靠性做的工作軟件工具與軟件開發(fā)環(huán)境軟件支援環(huán)境含義:是指在宿主硬件和宿主軟件的基礎(chǔ)上,用于輔助、支援其他軟件的研制和維護(hù)的一組軟件作用:能改進(jìn)軟件質(zhì)量、提高軟件生產(chǎn)率功能:能夠支援軟件生命的全周期能夠支援大型軟件工程項(xiàng)目能夠支援軟件配置管理組成:環(huán)境數(shù)據(jù)庫(kù)包含軟件必要的信息和軟件研制工具的有關(guān)信息接口軟件包括系統(tǒng)與用戶的接口、系統(tǒng)與環(huán)境數(shù)據(jù)庫(kù)和工具之間的接口工具組包括軟件研制工具、軟件維護(hù)工具和控制配置工具等軟件詳細(xì)設(shè)計(jì)的表達(dá)工程上常用的表達(dá)工具圖形工具用圖形的方式來(lái)描述實(shí)現(xiàn)一個(gè)算法的過(guò)程表格工具用表格的方式列出實(shí)現(xiàn)算法過(guò)程的每一步操作語(yǔ)言工具用某種語(yǔ)言描述算法程序流程圖中常用的圖形符號(hào)1程序流程圖(流程框圖)起止框判斷框處理框輸入與輸出框注釋框流程線流程線連接點(diǎn)ABPABP=1P=2P=1A1A2An…TTTFFF順序結(jié)構(gòu)選擇結(jié)構(gòu)多情況選擇結(jié)構(gòu)PSTFSPT當(dāng)型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)流程圖的5種基本控制結(jié)構(gòu)優(yōu)點(diǎn):獨(dú)立,直觀,易學(xué)缺點(diǎn):不是逐步求精的好工具,過(guò)早考慮程序的控制流程,忽略全局結(jié)構(gòu)不易表示層次結(jié)構(gòu)不易表示數(shù)據(jù)結(jié)構(gòu)和模塊調(diào)用關(guān)系轉(zhuǎn)移控制不受約束2NS圖(又稱盒圖)去掉了流程圖中的流程線,全部算法寫在一個(gè)框內(nèi),每一種基本結(jié)構(gòu)也是一個(gè)框不允許破壞結(jié)構(gòu)化原則S1S2S3條件滿足不滿足S1S2條件情況1情況2…情況nS1S2…Sn順序結(jié)構(gòu)兩路分支選擇結(jié)構(gòu)流程圖多路分支選擇結(jié)構(gòu)流程圖WHILE條件S當(dāng)型循環(huán)結(jié)構(gòu)流程圖SUNTIL條件直到型循環(huán)結(jié)構(gòu)流程圖基本特點(diǎn)功能域比較明確不能任意轉(zhuǎn)移控制,符合結(jié)構(gòu)化原則容易確定局部和全程數(shù)據(jù)的作用域容易表示嵌套關(guān)系和層次關(guān)系A(chǔ)BCABTF條件3.問(wèn)題分析圖(PAD)優(yōu)點(diǎn):結(jié)構(gòu)清晰,結(jié)構(gòu)化程度高順序結(jié)構(gòu)選擇結(jié)構(gòu)A1值1值2值n

A2An......條件多路分支選擇結(jié)構(gòu)流程圖WHILE

PSUNTIL

PS當(dāng)型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)4判定表描述多條件、多目標(biāo)動(dòng)作的形式化工具當(dāng)算法包含多重嵌套的條件選擇時(shí),利用判斷表能清晰表示復(fù)雜的條件組合與各功能之間的對(duì)應(yīng)關(guān)系判定表舉例(計(jì)算機(jī)票折扣率)旅游時(shí)間訂票量折扣量7-9,12月≤20≤20>20>20

15%

5%

20%

30%條件類別四種條件組合操作條件組合下操作的執(zhí)行1-6,10,11月判定樹

條件1

條件2

結(jié)果計(jì)7-9,

訂票量>20:

15%算12月

訂票量≤20:5%折扣1-6,

訂票量>20:30%量10,11月

訂票量≤20:5%5過(guò)程設(shè)計(jì)語(yǔ)言PDL(又稱偽碼或結(jié)構(gòu)化語(yǔ)言)/*計(jì)算運(yùn)費(fèi)*/

count();{輸入x;輸入y;if(0<x<=15)條件1{公式1計(jì)算;callsub;}elseif(x>15){公式2計(jì)算;callsub;}}sub();{for(i=1,3,i++)do{記賬;輸出;}}特點(diǎn):關(guān)鍵字的固定用法提供了結(jié)構(gòu)化的特點(diǎn)用自然語(yǔ)言的自由語(yǔ)法來(lái)描述處理部分具有數(shù)據(jù)說(shuō)明的手段具有模塊定義和調(diào)用的機(jī)制優(yōu)點(diǎn):可以作為注釋直接插在源程序中可以使用普通的正文編輯程序或文字處理系統(tǒng)可以利用自動(dòng)處理程序生成代碼缺點(diǎn):不夠直觀,不易描述復(fù)雜關(guān)系應(yīng)用軟件開發(fā)的原則和方法原則自頂向下的系統(tǒng)結(jié)構(gòu)開發(fā)原則基本思想優(yōu)點(diǎn)模塊化結(jié)構(gòu)開發(fā)原則基本思想優(yōu)點(diǎn)方法軟件開發(fā)方法的主要內(nèi)容明確的工作步驟具體的文檔格式確定的評(píng)價(jià)標(biāo)準(zhǔn)科學(xué)規(guī)范的圖表工具開發(fā)方法的分類非自動(dòng)形式的開發(fā)方法半自動(dòng)形式的開發(fā)方法自動(dòng)形式的系統(tǒng)開發(fā)方法非自動(dòng)形式的開發(fā)方法系統(tǒng)流程圖采用:自頂向下功能分割,逐層分解用途:事務(wù)系統(tǒng)的系統(tǒng)分析和系統(tǒng)設(shè)計(jì)結(jié)構(gòu)化分析方法(SA方法)用于:系統(tǒng)分析采用:自頂向下數(shù)據(jù)流分割技術(shù)優(yōu)點(diǎn):有效控制分析工作的復(fù)雜性,直觀易懂結(jié)構(gòu)化設(shè)計(jì)方法(SD方法)用于:系統(tǒng)設(shè)計(jì)采用:模塊化設(shè)計(jì)方法數(shù)據(jù)結(jié)構(gòu)法(Jackson法)用于:系統(tǒng)設(shè)計(jì)采用:自頂向下逐步細(xì)化,模塊化與SD的區(qū)別:SD:基于數(shù)據(jù)流圖建立程序結(jié)構(gòu)Jackson:基于數(shù)據(jù)結(jié)構(gòu)建立程序結(jié)構(gòu)層次輸入-處理-輸出方法用于:系統(tǒng)分析/系統(tǒng)設(shè)計(jì)特點(diǎn):用分層圖描述功能及其輸入-處理-輸出的關(guān)系,并用HIPO圖描述設(shè)計(jì)結(jié)果半自動(dòng)形式的開發(fā)方法軟件需求工程法(SREM方法)用于:系統(tǒng)分析特點(diǎn):用描述語(yǔ)言處理器和模擬工具進(jìn)行系統(tǒng)分析工具:RSL描述語(yǔ)言和REVS支持工具系統(tǒng)問(wèn)題說(shuō)明語(yǔ)言/分析器法(PSL/PSA方法)用于:系統(tǒng)分析自動(dòng)形式的系統(tǒng)開發(fā)方法代表方法:HOS法用于:系統(tǒng)分析系統(tǒng)設(shè)計(jì)特點(diǎn):自動(dòng)進(jìn)行分析設(shè)計(jì)及編碼3.2結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法的特點(diǎn)結(jié)構(gòu)化分析方法(SA法)主要用于系統(tǒng)分析階段,特別適用于大型數(shù)據(jù)的處理特點(diǎn):分解和抽象:采用自頂向下逐層分解與抽象S2132.22.12.33.13.2頂層(不編號(hào))0層1層文檔的規(guī)范化:一套分層的數(shù)據(jù)流圖(描述系統(tǒng)邏輯關(guān)系)一本數(shù)據(jù)字典(描述系統(tǒng)中全部數(shù)據(jù)和文件)一組小說(shuō)明(描述加工處理應(yīng)完成的工作)其他補(bǔ)充材料面向用戶系統(tǒng)的邏輯設(shè)計(jì)和物理設(shè)計(jì)分開進(jìn)行確定系統(tǒng)邊界自頂向下,畫出各層數(shù)據(jù)流圖定義數(shù)據(jù)字典結(jié)構(gòu)化分析實(shí)施步驟數(shù)據(jù)流圖與數(shù)據(jù)字典數(shù)據(jù)流圖(DFD)用于系統(tǒng)分析階段SA方法的步驟概括:2條數(shù)據(jù)流圖從數(shù)據(jù)加工的角度,以圖形方式描述信息處理系統(tǒng)的邏輯結(jié)構(gòu),能比較直觀地描述信息處理中的業(yè)務(wù)情況。是SA方法最主要的一種圖形工具。數(shù)據(jù)流名數(shù)據(jù)流處理名數(shù)據(jù)處理(加工)文件名數(shù)據(jù)存儲(chǔ)(文件)外部實(shí)體名字外部實(shí)體數(shù)據(jù)流圖的組成符號(hào)研究生業(yè)務(wù)活動(dòng)數(shù)據(jù)流圖錄取名單注冊(cè)研招辦分專業(yè)定導(dǎo)師選課選題報(bào)名數(shù)據(jù)登記成績(jī)答辯畢業(yè)考試成績(jī)論文組成符號(hào)數(shù)據(jù)流:用標(biāo)有名字的箭頭表示數(shù)據(jù)處理(加工):用標(biāo)有名字(處理名)的圓圈表示,其中處理名就是對(duì)數(shù)據(jù)進(jìn)行操作的名稱輸入數(shù)據(jù):指向加工的數(shù)據(jù)流輸出數(shù)據(jù):離開加工的數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)(文件):用兩根平行線表示,文件名在兩平行線之間外部實(shí)體(源、潭):用標(biāo)有名字的方框表示畫法自頂向下逐層分解由外向里逐漸深化數(shù)據(jù)流圖與程序流程圖的區(qū)別

數(shù)據(jù)流圖是從數(shù)據(jù)的角度描述系統(tǒng)的,其箭頭是數(shù)據(jù)流,表示的是數(shù)據(jù)的流動(dòng)方向,它用于描述的是什么問(wèn)題。程序流程圖是從對(duì)數(shù)據(jù)進(jìn)行加工的角度描述系統(tǒng)的,其箭頭是控制流,表示的是對(duì)數(shù)據(jù)進(jìn)行加工的次序,它用于描述怎樣解決問(wèn)題。數(shù)據(jù)字典作用主要是給數(shù)據(jù)流圖中的每一個(gè)數(shù)據(jù)流名、文件名以及處理名建立一個(gè)條目,給出各名字的定義。條目的類型基本數(shù)據(jù)項(xiàng)條目數(shù)據(jù)流條目文件條目數(shù)據(jù)處理?xiàng)l目(即加工條目)3.3結(jié)構(gòu)化設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法(SD)用于系統(tǒng)設(shè)計(jì)階段將結(jié)構(gòu)化分析階段形成的系統(tǒng)邏輯模型轉(zhuǎn)換成一個(gè)具體的物理方案,主要解決“如何做”的問(wèn)題主要任務(wù):保證邏輯模型的前提下,盡可能提高系統(tǒng)的可靠性、工作質(zhì)量、效率和可變更性采用方法:“分解”成獨(dú)立模塊提出評(píng)價(jià)模塊結(jié)構(gòu)圖質(zhì)量的標(biāo)準(zhǔn)耦合度:模塊之間的聯(lián)系內(nèi)聚度:模塊內(nèi)各成分之間的聯(lián)系追求目標(biāo):

耦合度盡可能低,內(nèi)聚度盡可能高分為:總體設(shè)計(jì):決定系統(tǒng)的模塊結(jié)構(gòu)詳細(xì)設(shè)計(jì):具體考慮每一個(gè)模塊內(nèi)部采用的算法、模塊的輸入輸出和模塊的功能

結(jié)構(gòu)圖是SD方法的主要生成文檔之一。SD方法的主要生成文檔是結(jié)構(gòu)圖以及相應(yīng)的模塊功能說(shuō)明

基本思想將一個(gè)系統(tǒng)分解為若干個(gè)模塊,每個(gè)模塊可以看成一個(gè)“黑盒”,在圖中表示它的層次、構(gòu)成和相互之間的關(guān)系組成部分模塊:用矩形框表示,矩形框中標(biāo)明模塊的名稱,反映該模塊的功能調(diào)用:用帶有箭頭的連線表示模塊間信息傳遞用帶有圓圈的小箭頭表示;帶有空心圓圈的小箭頭表示數(shù)據(jù)的傳遞帶有實(shí)心圓圈的小箭頭表示控制信息的傳遞輔助符號(hào)計(jì)算工資的結(jié)構(gòu)圖計(jì)算所有職工工資單得到職工工資記錄計(jì)算臨時(shí)工實(shí)得工資計(jì)算固定工實(shí)得工資打印工資單由數(shù)據(jù)流圖導(dǎo)出結(jié)構(gòu)圖關(guān)鍵:找出中心加工根據(jù)加工中心的存在形態(tài),數(shù)據(jù)流圖可分為變換型:加工中心在邏輯輸入與邏輯輸出之間事務(wù)型:在事務(wù)中心輸入流輸出流變換流內(nèi)部表示外部表示變換型事務(wù)型事務(wù)中心動(dòng)作路徑模塊獨(dú)立性評(píng)價(jià)標(biāo)準(zhǔn)耦合:表明模塊間的獨(dú)立程度內(nèi)聚:表明模塊內(nèi)部關(guān)系是否緊密系統(tǒng)設(shè)計(jì)的質(zhì)量要求模塊間的耦合盡可能弱,即模塊盡可能獨(dú)立模塊的內(nèi)聚程度盡量高耦合和內(nèi)聚是一個(gè)問(wèn)題的兩個(gè)方面,耦合程度弱的模塊,其內(nèi)聚程度一定高1模塊間的耦合影響因素模塊間的連接形式模塊接口的復(fù)雜性分類級(jí)別數(shù)據(jù)耦合同構(gòu)耦合控制耦合公用耦合內(nèi)容耦合弱強(qiáng)數(shù)據(jù)耦合:模塊間用數(shù)據(jù)項(xiàng)參數(shù)進(jìn)行通信的耦合同構(gòu)耦合(特征耦合):兩模塊具有相同數(shù)據(jù)結(jié)構(gòu)的耦合控制耦合:通過(guò)傳遞信息控制另一模塊內(nèi)部邏輯的耦合公用耦合:涉及相同的數(shù)據(jù)區(qū)的耦合內(nèi)容耦合:直接訪問(wèn)另一模塊內(nèi)容的耦合存在多種耦合時(shí),以耦合最緊的類型為準(zhǔn)內(nèi)聚分類功能內(nèi)聚序列內(nèi)聚通信內(nèi)聚過(guò)程內(nèi)聚時(shí)間內(nèi)聚邏輯內(nèi)聚偶然內(nèi)聚高低功能內(nèi)聚(函數(shù)內(nèi)聚)模塊完成一個(gè)(僅一個(gè))與問(wèn)題有關(guān)的任務(wù)序列內(nèi)聚模塊的各組成部分中,前一個(gè)處理輸出的數(shù)據(jù)是下一個(gè)動(dòng)作的輸入數(shù)據(jù)通信內(nèi)聚所有處理功能通過(guò)使用公用數(shù)據(jù)發(fā)生關(guān)系過(guò)程內(nèi)聚模塊內(nèi)各部分受同一控制流的支配以決定執(zhí)行順序時(shí)間內(nèi)聚(瞬間內(nèi)聚)內(nèi)部各動(dòng)作都與時(shí)間相關(guān)邏輯內(nèi)聚各部分的處理動(dòng)作邏輯相關(guān),但功能不相關(guān)偶然內(nèi)聚模塊內(nèi)部各動(dòng)作互不相關(guān)3.4測(cè)試與調(diào)試軟件測(cè)試

軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。或者說(shuō),軟件測(cè)試是根據(jù)軟件開發(fā)各階段的規(guī)格說(shuō)明和程序內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)的一批測(cè)試用例(即輸入數(shù)據(jù)及預(yù)期的輸出結(jié)果),并利用這些測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤的過(guò)程。什么是軟件測(cè)試目標(biāo):在精心控制的環(huán)境下執(zhí)行程序,以發(fā)現(xiàn)程序中的錯(cuò)誤,給出程序可靠性的鑒定特征:測(cè)試的挑剔性完全測(cè)試的不可能性測(cè)試的經(jīng)濟(jì)性挑剔性測(cè)試是程序執(zhí)行的過(guò)程,目的在于發(fā)現(xiàn)錯(cuò)誤一個(gè)好的測(cè)試在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤完全測(cè)試的不可能性通過(guò)有限次測(cè)試不可能發(fā)現(xiàn)程序中的所有錯(cuò)誤測(cè)試的經(jīng)濟(jì)性無(wú)語(yǔ)法錯(cuò)誤運(yùn)行有結(jié)果典型數(shù)據(jù)得到正確結(jié)果對(duì)無(wú)效數(shù)據(jù)有防范對(duì)一切能出現(xiàn)的數(shù)據(jù)不出錯(cuò)5個(gè)層次,一層比一層工作量大測(cè)試過(guò)程靜態(tài)分析是指不執(zhí)行程序,而只由人工對(duì)程序文本進(jìn)行檢查,通過(guò)閱讀和討論,分析和發(fā)現(xiàn)程序中的錯(cuò)誤通常采用討論和走查兩種方式動(dòng)態(tài)分析是使用測(cè)試用例在計(jì)算機(jī)上運(yùn)行程序,使程序在運(yùn)行過(guò)程中暴露錯(cuò)誤自動(dòng)測(cè)試是指人們編制的用于測(cè)試的軟件,并用它來(lái)代替人工測(cè)試分為:靜態(tài)分析工具:靜態(tài)確認(rèn)工具、符號(hào)執(zhí)行工具、程序驗(yàn)證工具動(dòng)態(tài)分析工具:測(cè)試數(shù)據(jù)生成器、覆蓋監(jiān)視器、模塊驅(qū)動(dòng)工具、符號(hào)查錯(cuò)工具等綜合測(cè)試工具:把靜態(tài)分析、功能分析、測(cè)試評(píng)估等結(jié)合在一起測(cè)試的層次模塊測(cè)試(單元測(cè)試)對(duì)象:組成程序的各個(gè)模塊目標(biāo):發(fā)現(xiàn)局部模塊的邏輯與功能上的錯(cuò)誤和缺陷方面:模塊接口,局部數(shù)據(jù)結(jié)構(gòu),重要路徑,錯(cuò)誤處理能力,I/O錯(cuò)誤注意:進(jìn)行模塊測(cè)試時(shí),要為每個(gè)測(cè)試的模塊另外設(shè)計(jì)兩類模塊驅(qū)動(dòng)模塊:將測(cè)試數(shù)據(jù)傳送給被測(cè)模塊,并顯示被測(cè)模塊產(chǎn)生的結(jié)果承接模塊:模擬被測(cè)模塊的下層模塊。通常有多個(gè)整體測(cè)試目標(biāo):盡量暴露模塊測(cè)試時(shí)不能暴露的結(jié)構(gòu)錯(cuò)誤分類:漸增式:對(duì)模塊逐步裝配的過(guò)程中同步進(jìn)行的自頂向下自底向上非漸增式:將經(jīng)過(guò)單獨(dú)測(cè)試的所有模塊連接到一起進(jìn)行測(cè)試高級(jí)測(cè)試功能測(cè)試(有效性測(cè)試)主要用黑箱法測(cè)試軟件功能是否符合用戶要求系統(tǒng)測(cè)試軟硬件元素結(jié)合在一起測(cè)試驗(yàn)收測(cè)試用戶檢查軟件是否滿足要求安裝測(cè)試檢查軟件在安裝時(shí)產(chǎn)生的問(wèn)題測(cè)試的方法設(shè)計(jì)和使用測(cè)試用例的基本原則設(shè)計(jì)測(cè)試用例同時(shí)確定預(yù)期結(jié)果合理及不合理的輸入數(shù)據(jù)都要選用既檢查程序是否作了應(yīng)做的事,還要檢查是否作了不應(yīng)做的事不要幻想程序正確保留有用的測(cè)試用例測(cè)試用例要系統(tǒng)地進(jìn)行白箱法

也叫邏輯覆蓋測(cè)試

對(duì)軟件的過(guò)程性細(xì)節(jié)做細(xì)致的檢查。這一方法是把測(cè)試對(duì)象看作一個(gè)打開的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,來(lái)設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯

路徑進(jìn)行測(cè)試。白箱測(cè)試(WhiteBoxTesting)白箱法:也稱邏輯覆蓋測(cè)試,根據(jù)對(duì)程序內(nèi)部邏輯結(jié)構(gòu)的分析來(lái)選取測(cè)試用例。測(cè)試用例的設(shè)計(jì)準(zhǔn)則語(yǔ)句覆蓋分支覆蓋條件覆蓋組合條件覆蓋白箱測(cè)試用例的設(shè)計(jì)準(zhǔn)則發(fā)現(xiàn)錯(cuò)誤的能力標(biāo)準(zhǔn)含義1(弱)語(yǔ)句覆蓋每條語(yǔ)句至少執(zhí)行一次2分支覆蓋(判定覆蓋)每一判定的每個(gè)分支至少執(zhí)行一次3條件覆蓋每一判定中的每個(gè)條件,分別按“真”、“假”至少各執(zhí)行一次4(強(qiáng))條件組合覆蓋求出判定中所有條件的各種可能組合值,每一可能的條件組合至少執(zhí)行一次。同時(shí)滿足判定覆蓋和條件覆蓋的要求黑箱法

已知產(chǎn)品的功能設(shè)計(jì)規(guī)格,可以進(jìn)行測(cè)試證明每個(gè)實(shí)現(xiàn)了的功能是否符合要求。

黑箱測(cè)試(BlackBoxTesting)黑箱法:完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測(cè)試用例常用的黑箱測(cè)試等價(jià)分類法邊值分析法因果圖法錯(cuò)誤推測(cè)法綜合策略等價(jià)分類法把所有可能的輸入數(shù)據(jù)劃分成若干等價(jià)類,使每一類中的一個(gè)典型數(shù)據(jù)在測(cè)試中的作用與這一類中所有其它數(shù)據(jù)的作用相同邊值分析法必須在邊界值附近選取測(cè)試數(shù)據(jù)因果圖法將輸入條件視為“因”,輸出條件視為“果”,黑箱視為從“因”到“果”的邏輯網(wǎng)絡(luò)圖。通過(guò)因果圖得到判定表,再得到測(cè)試用例錯(cuò)誤推測(cè)法憑經(jīng)驗(yàn)或直覺(jué)推測(cè)程序中可能存在的各種錯(cuò)誤,從而編寫測(cè)試用例調(diào)試不同點(diǎn)測(cè)試調(diào)試目的發(fā)現(xiàn)錯(cuò)誤改正錯(cuò)誤承擔(dān)人非設(shè)計(jì)人員設(shè)計(jì)人員自己要求機(jī)械強(qiáng)制嚴(yán)格隨機(jī)應(yīng)變過(guò)程發(fā)現(xiàn)錯(cuò)誤后立即調(diào)試改正回歸測(cè)試測(cè)試用例可一致也可不一致調(diào)試與測(cè)試的關(guān)系常用的調(diào)試技術(shù)輸出存儲(chǔ)器內(nèi)容在程序中插入調(diào)試語(yǔ)句利用調(diào)試用例,迫使程序逐個(gè)路徑執(zhí)行利用測(cè)試時(shí)得到的與程序錯(cuò)誤有關(guān)的信息借助調(diào)試工具調(diào)試策略試探法回溯法對(duì)分查找法歸納法演繹法為了提高測(cè)試的效率,應(yīng)該

A)隨機(jī)選取測(cè)試數(shù)據(jù)B)取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)

C)在完成編碼以后制定軟件的測(cè)試計(jì)劃D)集中對(duì)付那些錯(cuò)誤群集的程序軟件生命周期中所花費(fèi)用最多的階段是

A)詳細(xì)設(shè)計(jì) B)軟件編碼C)軟件測(cè)試D)軟件維護(hù)下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書的作用的是

A)便于用戶、開發(fā)人員進(jìn)行理解和交流

B)反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)

C)作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)

D)便于開發(fā)人員進(jìn)行需求分析下列不屬于軟件工程的3個(gè)要素的是A)工具 B)過(guò)程C)方法 D)環(huán)境例題講解軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過(guò)程設(shè)計(jì),其中軟件的過(guò)程設(shè)計(jì)是指

A)模塊間的關(guān)系 B)系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過(guò)程描述

C)軟件層次結(jié)構(gòu) D)軟件開發(fā)過(guò)程檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱為A)確認(rèn)測(cè)試B)集成測(cè)試C)驗(yàn)證測(cè)試D)驗(yàn)收測(cè)試數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是A)控制流 B)加工C)數(shù)據(jù)存儲(chǔ) D)源和流開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱作

A)軟件投機(jī) B)軟件危機(jī)C)軟件工程D)軟件產(chǎn)生下面不屬于軟件設(shè)計(jì)原則的是A)抽象 B)模塊化C)自底向上D)信息隱蔽開發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是

A)大系統(tǒng)的復(fù)雜性 B)人員知識(shí)不足

C)客觀世界千變?nèi)f化 D)時(shí)間緊、任務(wù)重軟件工程的出現(xiàn)是由于

A)程序設(shè)計(jì)方法學(xué)的影響 B)軟件產(chǎn)業(yè)化的需要

C)軟件危機(jī)的出現(xiàn) D)計(jì)算機(jī)的發(fā)展軟件開發(fā)離不開系統(tǒng)環(huán)境資源的支持,其中必要的測(cè)試數(shù)據(jù)屬于

A)硬件資源 B)通信資源C)支持軟件D)輔助資源在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示

A)模塊之間的調(diào)用關(guān)系 B)程序的組成成分

C)控制程序的執(zhí)行順序 D)數(shù)據(jù)的流向下列不屬于結(jié)構(gòu)化分析的常用工具的是

A)數(shù)據(jù)流圖 B)數(shù)據(jù)字典C)判定樹 D)PAD圖在軟件生產(chǎn)過(guò)程中,需求信息的給出是

A)程序員B)項(xiàng)目管理者

C)軟件分析設(shè)計(jì)人員 D)軟件用戶下列工具不是需求分析常用工具的是A)PAD B)PFDC)N-S D)DFD模塊獨(dú)立性是軟件模塊化所提出的要求,衡量模塊獨(dú)立性的度量標(biāo)準(zhǔn)則是模塊的

A)抽象和信息隱蔽 B)局部化和封裝化

C)內(nèi)聚性和耦合性 D)激活機(jī)制和控制方法軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成

A)定義、開發(fā)、運(yùn)行維護(hù)B)設(shè)計(jì)階段、編程階段、測(cè)試階段

C)總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試D)需求分析、功能定義、系統(tǒng)設(shè)計(jì)在軟件工程中,白箱測(cè)試法可用于測(cè)試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是

A)

路徑的集合B)循環(huán)的集合C)目標(biāo)的集合D)地址的集合完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測(cè)試用例的測(cè)試方法是

A)黑箱測(cè)試法B)白箱測(cè)試法C)錯(cuò)誤推測(cè)法D)安裝測(cè)試法在結(jié)構(gòu)化設(shè)計(jì)方法中,生成的結(jié)構(gòu)圖(SC)中,帶有箭頭的連線表示

A)模塊之間的調(diào)用關(guān)系 B)程序的組成成分

C)控制程序的執(zhí)行順序 D)數(shù)據(jù)的流向下列選項(xiàng)中,不屬于模塊間耦合的是

A)數(shù)據(jù)耦合B)同構(gòu)耦合C)異構(gòu)耦合D)公用耦合下列敘述中,不屬于測(cè)試的特征的是

A)測(cè)試的挑剔性 B)完全測(cè)試的不可能性

C)測(cè)試的可靠性 D)測(cè)試的經(jīng)濟(jì)性需求分析中開發(fā)人員要從用戶那里了解

A)軟件做什么 B)用戶使用界面

C)輸入的信息 D)軟件的規(guī)模下列不屬于軟件調(diào)試技術(shù)的是

A)強(qiáng)行排錯(cuò)法 B)集成測(cè)試法

C)回溯法 D)原因排除法為了避免流程圖在描述程序邏輯時(shí)的靈活性,提出了用方框圖來(lái)代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為

A)PAD圖 B)N-S圖C)結(jié)構(gòu)圖 D)數(shù)據(jù)流圖軟件復(fù)雜性度量的參數(shù)包括

A)效率 B)規(guī)模C)完整性 D)容錯(cuò)性下列敘述中,正確的是

A)軟件就是程序清單B)軟件就是存放在計(jì)算機(jī)中的文件

C)軟件應(yīng)包括程序清單及運(yùn)行結(jié)果D)軟件包括程序和文檔軟件設(shè)計(jì)中,有利于提高模塊獨(dú)立性的一個(gè)準(zhǔn)則是

A)低內(nèi)聚低耦合 B)低內(nèi)聚高耦合

C)高內(nèi)聚低耦合 D)高內(nèi)聚高耦合軟件生命周期中花費(fèi)時(shí)間最多的階段是

A)詳細(xì)設(shè)計(jì) B)軟件編碼C)軟件測(cè)試D)軟件維護(hù)下列敘述中,不屬于結(jié)構(gòu)化分析方法的是

A)面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法

B)面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法

C)面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法

D)面向?qū)ο蟮姆治龇椒ㄔ敿?xì)設(shè)計(jì)的結(jié)果基本決定了最終程序的

A)代碼的規(guī)模 B)運(yùn)行速度

C)質(zhì)量 D)可維護(hù)性下列不屬于靜態(tài)測(cè)試方法的是

A)代碼檢查 B)白盒法

C)靜態(tài)結(jié)構(gòu)分析 D)代碼質(zhì)量度量在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須局別哪些功能的階段是A)概要設(shè)計(jì)B)詳細(xì)設(shè)計(jì)C)可行性分析D)需求分析檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱為A)確認(rèn)測(cè)試B)集成測(cè)試C)驗(yàn)證測(cè)試D)驗(yàn)收測(cè)試數(shù)據(jù)流圖用于抽象描述一個(gè)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論