軟件工程參考模板_第1頁
軟件工程參考模板_第2頁
軟件工程參考模板_第3頁
軟件工程參考模板_第4頁
軟件工程參考模板_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 華東交通大學(xué)軟件學(xué)院 上機(jī)/實(shí)驗(yàn)報(bào)告冊(cè) 專 業(yè):軟件工程 班 級(jí):軟件工程9班 姓 名:劉悅 學(xué) 號(hào):2015211001000923 課程名稱:軟件工程 教 師:袁朝暉 學(xué) 期: 大二上 2016年12月20日1 / 28實(shí)驗(yàn)一: 數(shù)據(jù)流圖實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康耐ㄟ^繪制數(shù)據(jù)流圖掌握數(shù)據(jù)流圖的基本原理,并能對(duì)簡(jiǎ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)的DF

2、D的頂層模型、第一層模型和第二層模型。(具體參考課本上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)取款過程的頂層和第一層數(shù)據(jù)流圖。三、 實(shí)驗(yàn)結(jié)果: 系統(tǒng)流程圖基本物理元素繪制數(shù)據(jù)流之后得到完整的系統(tǒng)流程圖(SFD) 頂層模型基本元素完整的頂層數(shù)據(jù)流圖,如下圖: 完整的頂層模型當(dāng)前銀行柜臺(tái)取款過程的頂層數(shù)據(jù)流圖:第一層數(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圖和判定表,并能把給定的軟件問題描述轉(zhuǎn)化為過程設(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é)果畫出來。(注意,請(qǐng)用結(jié)構(gòu)圖)圖1 某系統(tǒng)的數(shù)據(jù)流圖2、軟件的詳細(xì)設(shè)計(jì):某航空公司規(guī)定,乘客可以免費(fèi)托運(yùn)重量不超過20公斤的行李,當(dāng)行李重量超過20公斤,對(duì)頭等艙的國(guó)內(nèi)乘客超重部分每公斤收費(fèi)6元,對(duì)其他艙的國(guó)內(nèi)乘客超重部分每公斤收費(fèi)8元,對(duì)外國(guó)顧客超重部分每公斤收費(fèi)比國(guó)內(nèi)乘

4、客多1.5倍,對(duì)殘疾乘客超重部分每公斤收費(fèi)比正常乘客少一半。實(shí)驗(yàn)包含三部分的內(nèi)容:a) 用word設(shè)計(jì)描述其詳細(xì)設(shè)計(jì)結(jié)果的PAD圖、判定表。b) 用viso畫出它的程序流程圖,并計(jì)算它的Mccabe程序復(fù)雜度。(要求把計(jì)算過程寫到實(shí)驗(yàn)報(bào)告中)3、 實(shí)驗(yàn)結(jié)果1、 (1). 采用visio繪制教材的圖4.26中的軟件結(jié)構(gòu)圖;實(shí)驗(yàn)包含三部分的內(nèi)容: e) 用word設(shè)計(jì)描述其詳細(xì)設(shè)計(jì)結(jié)果的PAD圖、判定表。 f) 用viso畫出它的程序流程圖,并計(jì)算它的Mccabe程序復(fù)雜度。(要求把計(jì)算過程寫到實(shí)驗(yàn)報(bào)告中)   三、實(shí)

5、驗(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é)果畫出來。2 PAD圖 :判定表:程序流程圖:計(jì)算Mccabe程序復(fù)雜度:步驟1:將程序流程圖退化成有向圖,將程序流程圖的每個(gè)處理框退化成一個(gè)節(jié)點(diǎn),將控制流箭頭退化成連接各節(jié)點(diǎn)的有向弧。 步驟2:在有向圖中,由程序出口到入口連接一條虛有向弧,使有向圖達(dá)到強(qiáng)連通。 步驟3:計(jì)算V(G)=m-n+1 V(G)是有

6、向圖的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)用Nunit工具完成對(duì)如下例子的單元測(cè)試,要求分別完成語句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋和路徑覆蓋測(cè)試的測(cè)試用例編寫以及測(cè)試。要求首先按格式編寫出該測(cè)試所需要的測(cè)試用例,然后編寫測(cè)試程序,對(duì)其進(jìn)行測(cè)試,最后把你寫的測(cè)試用例按格式記錄到

7、實(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é)論記錄到實(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è)試

8、,然后把結(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)告中。(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è)試,

9、可否發(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,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),需

10、要對(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型),如果10<A<100,則B=A*20-5,如果0<A<=10,則B=A*15+20,如果A>=100,則B=A*100-200,請(qǐng)分別用等價(jià)

11、類劃分方法和邊界值分析方法設(shè)計(jì)測(cè)試用例,然后編寫測(cè)試程序完成測(cè)試。并把測(cè)試結(jié)論寫入到實(shí)驗(yàn)報(bào)告中。三、實(shí)驗(yàn)結(jié)果:1、(1)語句覆蓋: 不能發(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) 語句覆蓋和判定覆蓋:第一組測(cè)試數(shù)據(jù)不能發(fā)現(xiàn)錯(cuò)誤,因?yàn)榈谝唤M數(shù)據(jù)可以滿足第一個(gè)判定的and判定,肯定可以通過or判定條件。而第二組測(cè)試數(shù)據(jù)可以發(fā)現(xiàn)錯(cuò)誤,因?yàn)锳=2,B=1,只有A滿足條件而B不能滿足條件,痛多AND返回0。又由于把a(bǔ)nd錯(cuò)寫成了or,返回值

12、為1,影響了X的值,所以能發(fā)現(xiàn)錯(cuò)誤。(4)第一組測(cè)試數(shù)據(jù)能發(fā)現(xiàn)錯(cuò)誤。經(jīng)過第一個(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實(shí)際值為1判定不成功,將進(jìn)行操作b,進(jìn)行第二個(gè)判定時(shí),因?yàn)榕卸l件為A=2,此時(shí)X=2,故判定成功返回1,進(jìn)行e操作,最后得結(jié)果X=3與期望結(jié)果相同,不能發(fā)現(xiàn)“x>1”錯(cuò)寫成了“x<=1”。故不能發(fā)現(xiàn)錯(cuò)誤。(5) 判定覆蓋條件、語句覆蓋、判定覆蓋和條件覆蓋 第一組測(cè)試數(shù)

13、據(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ù)據(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í)行路徑

14、仍為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,所以也不能發(fā)現(xiàn)錯(cuò)誤。程序代碼: #include<stdio.h> void main()    int A

15、,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)&

16、#160;X=X+1;    else      if(A=2|X>1) X=X+1;   else  printf("輸出X的值:");  printf("%f",X);       printf("輸出X的值:");  printf("%fn&quo

17、t;,X);  循環(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;

18、60;   a=a+3;    else       if(a>1)a=a-4;    else a=a+5;      i+;    a=a*4;  cout<<a<<endl;測(cè)試用例:(i,a)為(11,2)(1,5)(1,1)(1,-3)。3、 驗(yàn)證實(shí)

19、驗(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的值:");  printf("%dn",B); 輸入條件的等價(jià)類劃分:有效等價(jià)類測(cè)試用例:無效等價(jià)類測(cè)試用例邊界值分析:     根據(jù)題意可以?。?1,0,1,9,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論