華東交通大學(xué)軟件工程實(shí)驗(yàn)報(bào)告_第1頁(yè)
華東交通大學(xué)軟件工程實(shí)驗(yàn)報(bào)告_第2頁(yè)
華東交通大學(xué)軟件工程實(shí)驗(yàn)報(bào)告_第3頁(yè)
華東交通大學(xué)軟件工程實(shí)驗(yàn)報(bào)告_第4頁(yè)
華東交通大學(xué)軟件工程實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩26頁(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)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上華東交通大學(xué)軟件學(xué)院上機(jī)實(shí)驗(yàn)報(bào)告課程名稱:軟件工程指導(dǎo)老師:唐懷琴專業(yè)班級(jí):12軟件+交通設(shè)備信息工程2班姓 名:徐錦陶學(xué) 號(hào):214學(xué) 期:大二下學(xué)期實(shí)驗(yàn)一:數(shù)據(jù)流圖實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)繪制數(shù)據(jù)流圖掌握數(shù)據(jù)流圖的基本原理,并能對(duì)簡(jiǎn)單問(wèn)題進(jìn)行數(shù)據(jù)流圖的分析,獨(dú)立地完成數(shù)據(jù)流圖的分析與設(shè)計(jì)。此外,學(xué)會(huì)使用Case工具完成數(shù)據(jù)流圖和系統(tǒng)流程圖的分析與實(shí)現(xiàn)。二、實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)內(nèi)容如下:a) 用visio繪制出如下定貨系統(tǒng)的SFD(系統(tǒng)流程圖)的模型。圖1 某定貨系統(tǒng)SFDb) 用visio繪制教材中分別繪制出定貨系統(tǒng)的DFD的頂層模型、第一層模型和第二層模型。(具體參考課本上

2、P69P70的圖3.4,圖3.5和圖3.6)c) 用visio 繪制如下圖所示的取款手續(xù)的數(shù)據(jù)流圖。圖2 取款手續(xù)d) 請(qǐng)結(jié)合目前的銀行柜臺(tái)取款手續(xù),對(duì)圖2的取款數(shù)據(jù)流圖進(jìn)行改進(jìn),繪制當(dāng)前銀行柜臺(tái)取款過(guò)程的頂層和第一層數(shù)據(jù)流圖。三、實(shí)驗(yàn)結(jié)果(a)、定貨系統(tǒng)的SFD(系統(tǒng)流程圖)的模型(b)、圖3.4 DFD的頂層模型 (b)、圖3.5 DFD的第一層模型 (b)、 DFD的第二層模型(c)、取款手續(xù)的數(shù)據(jù)流圖(d)、當(dāng)前銀行柜臺(tái)取款過(guò)程的頂層數(shù)據(jù)流圖 當(dāng)前銀行柜臺(tái)取款過(guò)程的第一層數(shù)據(jù)流圖實(shí)驗(yàn)二、軟件設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康膶W(xué)會(huì)使用Case工具完成描述軟件結(jié)構(gòu)的軟件結(jié)構(gòu)圖和軟件層次圖的設(shè)計(jì),并熟練地

3、掌握幾種常用的軟件詳細(xì)設(shè)計(jì)的工具,如程序流程圖、盒圖、PAD圖和判定表,并能把給定的軟件問(wèn)題描述轉(zhuǎn)化為過(guò)程設(shè)計(jì)結(jié)果。二、實(shí)驗(yàn)內(nèi)容1、軟件結(jié)構(gòu)設(shè)計(jì):(1) 采用visio繪制教材的圖4.26中的軟件結(jié)構(gòu)圖;(2) 采用visio繪制教材的圖4.41的軟件層次圖。(3) 分析如下所示的數(shù)據(jù)流圖,并把它轉(zhuǎn)換成軟件結(jié)構(gòu)圖,然后用visio把結(jié)果畫出來(lái)。(注意,請(qǐng)用結(jié)構(gòu)圖)圖1 某系統(tǒng)的數(shù)據(jù)流圖2、軟件的詳細(xì)設(shè)計(jì):某航空公司規(guī)定,乘客可以免費(fèi)托運(yùn)重量不超過(guò)20公斤的行李,當(dāng)行李重量超過(guò)20公斤,對(duì)頭等艙的國(guó)內(nèi)乘客超重部分每公斤收費(fèi)6元,對(duì)其他艙的國(guó)內(nèi)乘客超重部分每公斤收費(fèi)8元,對(duì)外國(guó)顧客超重部分每公斤收

4、費(fèi)比國(guó)內(nèi)乘客多1.5倍,對(duì)殘疾乘客超重部分每公斤收費(fèi)比正常乘客少一半。實(shí)驗(yàn)包含三部分的內(nèi)容:e) 用word設(shè)計(jì)描述其詳細(xì)設(shè)計(jì)結(jié)果的PAD圖、判定表。f) 用viso畫出它的程序流程圖,并計(jì)算它的Mccabe程序復(fù)雜度。(要求把計(jì)算過(guò)程寫到實(shí)驗(yàn)報(bào)告中)三、實(shí)驗(yàn)結(jié)果1、(1). 采用visio繪制教材的圖4.26中的軟件結(jié)構(gòu)圖;(2) .采用visio繪制教材的圖4.41的軟件層次圖。 (3) .分析如下所示的數(shù)據(jù)流圖,并把它轉(zhuǎn)換成軟件結(jié)構(gòu)圖,然后用visio把結(jié)果畫出來(lái)。開(kāi)始2、PAD圖輸入行李重量XY=0 TY=9*(X-20)X>20 F頭 TY=12*(X-20) 國(guó)外乘客 等 艙

5、 FY=6*(X-20) 頭 TY=8*(X-20)普通乘客 等 艙 FY=3*(X-20) 頭 TY=4*(X-20) 殘疾乘客 等 艙 F輸出托運(yùn)費(fèi)Y結(jié)束判定表判定條件行李重量XX<20YYYY-狀態(tài)X>20-YYYY乘客類別外國(guó)人YNNYYNYN普通人NYYNNNNY殘疾人NNNNNYNN乘坐規(guī)格頭等艙YNYYNYNN普通艙NYNNYNYY托運(yùn)費(fèi)用Y=0判定規(guī)則Y=12*(X-20)Y=9*(X-20)Y=8*(X-20)Y=6*(X-20)Y=4*(X-20)Y=3*(X-20)程序流程圖求McCabe程序復(fù)雜度步驟:步驟1:將程序流程圖退化成有向圖,將程序流程圖的每個(gè)處理

6、框退化成一個(gè)節(jié)點(diǎn),將控制流箭頭退化成連接各節(jié)點(diǎn)的有向弧。步驟2:在有向圖中,由程序出口到入口連接一條虛有向弧,使有向圖達(dá)到強(qiáng)連通。步驟3:計(jì)算V(G)=m-n+1V(G)是有向圖的G中的環(huán)數(shù),m是有向圖G中的弧數(shù),n是有向圖G中的節(jié)點(diǎn)數(shù)因此環(huán)形復(fù)雜度為:V(G)=17-13+5=9,所以McCabe程序復(fù)雜度為9。實(shí)驗(yàn)三、軟件測(cè)試實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康膶W(xué)會(huì)使用CASE工具完成軟件測(cè)試用例的設(shè)計(jì)以及初步完成對(duì)單元測(cè)試,深刻理解單元測(cè)試的基本原理及CASE工具的基本使用。二、 實(shí)驗(yàn)內(nèi)容1、單元測(cè)試的邏輯覆蓋測(cè)試驗(yàn)證實(shí)驗(yàn):運(yùn)用工具完成對(duì)如下例子的單元測(cè)試,要求分別完成語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定條件

7、覆蓋、條件組合覆蓋和路徑覆蓋測(cè)試的測(cè)試用例編寫以及測(cè)試。要求首先按格式編寫出該測(cè)試所需要的測(cè)試用例,然后編寫測(cè)試程序,對(duì)其進(jìn)行測(cè)試,最后把你寫的測(cè)試用例按格式記錄到實(shí)驗(yàn)報(bào)告中。測(cè)試用例的格式如下: 輸入, 期望結(jié)果,對(duì)于本例請(qǐng)遵循如下格式: A,B,X,X(A>1) and (B=0)(A=2) or (X>1)X = X/AX = X+1TTFFabdce圖1 單元測(cè)試邏輯覆蓋的驗(yàn)證實(shí)驗(yàn)此外,請(qǐng)測(cè)試如下情況:(1). 如果將第1個(gè)判定中的“AND”錯(cuò)寫成了“OR”,用數(shù)據(jù)2,0,3,2.5(首先,該組數(shù)據(jù)滿足何種邏輯覆蓋)對(duì)程序進(jìn)行測(cè)試,可否發(fā)現(xiàn)錯(cuò)誤?為什么?請(qǐng)先測(cè)試,然后把結(jié)論

8、記錄到實(shí)驗(yàn)報(bào)告中。(2). 如果將第2個(gè)判定中的“x>1”錯(cuò)寫成了“x<=1”,則用數(shù)據(jù)2,0,3,2.5對(duì)程序進(jìn)行測(cè)試,可否發(fā)現(xiàn)錯(cuò)誤?為什么?請(qǐng)先測(cè)試,然后把結(jié)論記錄到實(shí)驗(yàn)報(bào)告中。(3). 如果將第1個(gè)判定中的“AND”錯(cuò)寫成了“OR”,則用數(shù)據(jù)3,0,1,1/3和2,1,2,3(首先,該組數(shù)據(jù)滿足何種邏輯覆蓋)對(duì)程序進(jìn)行測(cè)試,可否發(fā)現(xiàn)錯(cuò)誤?為什么?請(qǐng)先測(cè)試,然后把結(jié)論記錄到實(shí)驗(yàn)報(bào)告中。(4). 如果將第2個(gè)判定中的“x>1”錯(cuò)寫成了“x<=1”,則用數(shù)據(jù)3,0,1,1/3和2,1,2,3)對(duì)程序進(jìn)行測(cè)試,可否發(fā)現(xiàn)錯(cuò)誤?為什么?請(qǐng)先測(cè)試,然后把結(jié)論記錄到實(shí)驗(yàn)報(bào)告中。(

9、5). 如果將第2個(gè)判定中的“x>1”錯(cuò)寫成了“x<=1”,則用數(shù)據(jù)2,0,3,2.5和1,1,1,1(首先,該組數(shù)據(jù)滿足何種邏輯覆蓋)對(duì)程序進(jìn)行測(cè)試,可否發(fā)現(xiàn)錯(cuò)誤?為什么?請(qǐng)先測(cè)試,然后把結(jié)論記錄到實(shí)驗(yàn)報(bào)告中。(6). 如果將第1個(gè)判定中的“a>1”錯(cuò)寫成了“a<=1”,且把“b=0”錯(cuò)寫成了“b<>0”,則用數(shù)據(jù)2,1,1,2和1,0,2,3對(duì)程序進(jìn)行測(cè)試,可否發(fā)現(xiàn)錯(cuò)誤?為什么?請(qǐng)先測(cè)試,然后把結(jié)論記錄到實(shí)驗(yàn)報(bào)告中。(7). 如果將第1個(gè)判定中的“a>1”錯(cuò)寫成了“a<=1”,且把“b=0”錯(cuò)寫成了“b<>0”,則用數(shù)據(jù)2,1,1

10、,2、2,0,2,2、1,1,1,1和1,0,2,3對(duì)程序進(jìn)行測(cè)試,可否發(fā)現(xiàn)錯(cuò)誤?為什么?請(qǐng)先測(cè)試,然后把結(jié)論記錄到實(shí)驗(yàn)報(bào)告中。2、循環(huán)結(jié)構(gòu)測(cè)試現(xiàn)有一個(gè)簡(jiǎn)單循環(huán),需要對(duì)其進(jìn)行測(cè)試,其程序偽代碼如下:Int i,a;Input(i,a);While(i<=10)a += 2; if(a>4) a *= 2; a += 3;Else If(a>1) a -= 4; else a += 5;i+;a *=4;Output(a);要求為該程序設(shè)計(jì)滿足簡(jiǎn)單循環(huán)的所有測(cè)試用例,記錄到實(shí)驗(yàn)報(bào)告中。3、 等價(jià)類劃分及邊界值測(cè)試的驗(yàn)證實(shí)驗(yàn):有如下算法A和B均是非負(fù)整型變量(注:int型),如果

11、10<A<100,則B=A*20-5,如果0<A<=10,則B=A*15+20,如果A>=100,則B=A*100-200,請(qǐng)分別用等價(jià)類劃分方法和邊界值分析方法設(shè)計(jì)測(cè)試用例,然后編寫測(cè)試程序完成測(cè)試。并把測(cè)試結(jié)論寫入到實(shí)驗(yàn)報(bào)告中。3、 實(shí)驗(yàn)結(jié)果1、 (1)語(yǔ)句覆蓋不能發(fā)現(xiàn)錯(cuò)誤,因?yàn)閍nd比or要求的要嚴(yán)格一些,故and可以滿足的數(shù)據(jù)or也一定可以滿足。(2)不能發(fā)現(xiàn)錯(cuò)誤,第二個(gè)判定or只要滿足一個(gè)條件即可,因?yàn)锳=2必然成立,故第二個(gè)條件一定為真,所以不能發(fā)現(xiàn)錯(cuò)誤。(3) 語(yǔ)句覆蓋和判定覆蓋第一組測(cè)試數(shù)據(jù)不能發(fā)現(xiàn)錯(cuò)誤,因?yàn)榈谝唤M數(shù)據(jù)可以滿足第一個(gè)判定的and判定

12、,肯定可以通過(guò)or判定條件。而第二組測(cè)試數(shù)據(jù)可以發(fā)現(xiàn)錯(cuò)誤,因?yàn)锳=2,B=1,只有A滿足條件而B(niǎo)不能滿足條件,痛多AND返回0。又由于把a(bǔ)nd錯(cuò)寫成了or,返回值為1,影響了X的值,所以能發(fā)現(xiàn)錯(cuò)誤。(4) 第一組測(cè)試數(shù)據(jù)能發(fā)現(xiàn)錯(cuò)誤。經(jīng)過(guò)第一個(gè)阿婆那段,執(zhí)行c操作結(jié)果得到X=1/3,第二個(gè)判定條件是X<=1,判定成功返回值為1,進(jìn)行e操作,最后得到結(jié)果X=4/3。與期望結(jié)果不同,系統(tǒng)想、提示錯(cuò)誤,故能發(fā)現(xiàn)錯(cuò)誤。第二組測(cè)試數(shù)據(jù)不能發(fā)現(xiàn)錯(cuò)誤。他、因?yàn)榈谝粋€(gè)判定條件是B=0,而B(niǎo)實(shí)際值為1判定不成功,將進(jìn)行操作b,進(jìn)行第二個(gè)判定時(shí),因?yàn)榕卸l件為A=2,此時(shí)X=2,故判定成功返回1,進(jìn)行e操作,

13、最后得結(jié)果X=3與期望結(jié)果相同,不能發(fā)現(xiàn)“x>1”錯(cuò)寫成了“x<=1”。故不能發(fā)現(xiàn)錯(cuò)誤。(5) 判定覆蓋條件、語(yǔ)句覆蓋、判定覆蓋和條件覆蓋 第一組測(cè)試數(shù)據(jù)不能發(fā)現(xiàn)錯(cuò)誤,在第2個(gè)判定時(shí),因?yàn)锳 = = 2正確,滿足條件,進(jìn)行e操作。最后x = 2.5,與期望結(jié)果相同。所以不能發(fā)現(xiàn)“x>1”錯(cuò)寫成了“x<=1”。對(duì)于第二組測(cè)試數(shù)據(jù),因?yàn)閷?duì)于第二個(gè)判定A=2,而A的實(shí)際值為1,此時(shí)后面的判定X>1或者X<=1對(duì)結(jié)果就有影響了,錯(cuò)寫之后由于X=1,對(duì)于X<=1判定成立,返回1,影響X的值,故能發(fā)現(xiàn)錯(cuò)誤。(6)第一組測(cè)試數(shù)

14、據(jù)不能發(fā)現(xiàn)錯(cuò)誤,因?yàn)樵緢?zhí)行路徑是abe。出錯(cuò)后執(zhí)行路徑仍為abe,所以不能發(fā)現(xiàn)錯(cuò)誤。 第二組測(cè)試數(shù)據(jù)也不能發(fā)現(xiàn)錯(cuò)誤,因?yàn)樵緢?zhí)行路徑是abe。出錯(cuò)后執(zhí)行路徑仍為abe,所以也不能發(fā)現(xiàn)錯(cuò)誤。(7) 第一組測(cè)試數(shù)據(jù)不能發(fā)現(xiàn)錯(cuò)誤,因?yàn)樵緢?zhí)行路徑是abe。出錯(cuò)后執(zhí)行路徑仍為abe,所以不能發(fā)現(xiàn)錯(cuò)誤。 第二組測(cè)試數(shù)據(jù)可以發(fā)現(xiàn)錯(cuò)誤,因?yàn)樵緢?zhí)行路徑是ace。出錯(cuò)后執(zhí)行路徑仍為abe,所以能發(fā)現(xiàn)錯(cuò)誤。 第三組測(cè)試數(shù)據(jù)不能發(fā)現(xiàn)錯(cuò)誤,因?yàn)樵緢?zhí)行路徑是abd。出錯(cuò)后執(zhí)行路徑仍為acd,所以不能發(fā)現(xiàn)錯(cuò)誤。 第四組測(cè)試數(shù)據(jù)不能發(fā)現(xiàn)錯(cuò)誤,因?yàn)樵緢?zhí)行路徑是abe。出錯(cuò)后執(zhí)行路徑仍為abe,所以

15、也不能發(fā)現(xiàn)錯(cuò)誤。程序代碼:#include<stdio.h>void main()int A,B;float X,Y;printf("請(qǐng)輸入A,B,X:n");scanf("%d%d%f",&A,&B,&X);printf("請(qǐng)輸入期望值Y:");scanf("%f",&Y);if(A>1&&B=0) X=X/A;if(A=2|X>1) X=X+1;else if(A=2|X>1) X=X+1;else printf("輸出X的

16、值:");printf("%f",X);printf("輸出X的值:");printf("%fn",X);2、 循環(huán)結(jié)構(gòu) 程序:#include<iostream.h>void main()int i,a;cout<<"請(qǐng)輸入i和a:"<<endl;cin>>i>>a;while(i<=10)a=a+2;if(a>4)a=a*2;a=a+3;elseif(a>1)a=a-4;else a=a+5;i+;a=a*4;cout<

17、;<a<<endl;測(cè)試用例:(i,a)為(11,2)(1,5)(1,1)(1,-3)3、 驗(yàn)證實(shí)驗(yàn)實(shí)驗(yàn)程序:#include<stdio.h>void main()int A,B;printf("請(qǐng)輸入A的值:");scanf("%d",&A);if(A>10&&A<100) B=20*A-5;if(A>0&&A<=10) B=15*A+20;if(A>=100) B=100*A-200;printf("請(qǐng)輸出B的值:");print

18、f("%dn",B);輸入條件的等價(jià)類劃分 ID 輸入 期望結(jié)果 備注 1 50 輸入有效覆蓋有等價(jià)類1 2 5輸入有效 覆蓋有等價(jià)類2 3 150輸入有效覆蓋有等價(jià)類3有效等價(jià)類測(cè)試用例  ID輸入期望結(jié)果備注150輸入有效覆蓋有效等價(jià)類12 5輸入有效覆蓋有效等價(jià)類23150輸入有效覆蓋有效等價(jià)類3 無(wú)效等價(jià)類測(cè)試用例ID輸入期望結(jié)果備注1 -1 輸入無(wú)效覆蓋無(wú)效等價(jià)類42Abc輸入無(wú)效覆蓋無(wú)效等價(jià)類5邊界值分析:    根據(jù)題意可以?。?1,0,1,9,10,11,99,100,101,102 實(shí)驗(yàn)四:軟件動(dòng)態(tài)模型建模實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康倪\(yùn)用Vis

溫馨提示

  • 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)論