华东交通大学软件工程实验报告Word格式文档下载.docx

上传人:b****2 文档编号:1559336 上传时间:2023-04-30 格式:DOCX 页数:27 大小:572.44KB
下载 相关 举报
华东交通大学软件工程实验报告Word格式文档下载.docx_第1页
第1页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第2页
第2页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第3页
第3页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第4页
第4页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第5页
第5页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第6页
第6页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第7页
第7页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第8页
第8页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第9页
第9页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第10页
第10页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第11页
第11页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第12页
第12页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第13页
第13页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第14页
第14页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第15页
第15页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第16页
第16页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第17页
第17页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第18页
第18页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第19页
第19页 / 共27页
华东交通大学软件工程实验报告Word格式文档下载.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

华东交通大学软件工程实验报告Word格式文档下载.docx

《华东交通大学软件工程实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《华东交通大学软件工程实验报告Word格式文档下载.docx(27页珍藏版)》请在冰点文库上搜索。

华东交通大学软件工程实验报告Word格式文档下载.docx

取款单

存折

储户

取款

现款

付款信息

付款

订货信息

登录

年月日*日历

(d)、当前银行柜台取款过程的顶层数据流图

帐户余额

余额信息"

客户Rjf检查]取款”登录户

L__)取款枕丿

\信息,

取款•..

信息-►储户文件

实验二、软件设计实验

学会使用Case工具完成描述软件结构的软件结构图和软件层次图的设计,并熟练地掌握几种常用的软件详细设计的工具,如程序流程图、盒图、PAD图和判定表,并能把给定的软件问题描述转化为过程设计结果。

1、软件结构设计:

(1)采用visio绘制教材的图4.26中的软件结构图;

(2)采用visio绘制教材的图4.41的软件层次图。

(3)分析如下所示的数据流图,并把它转换成软件结构图,然后用visio把结果画出来。

(注意,请用结构图)

图1某系统的数据流图

2、软件的详细设计:

某航空公司规定,乘客可以免费托运重量不超过20公斤的行,当行重量超过20公斤,对头等舱的国乘客超重部分每公斤收费6元,对其他舱的国乘客超重部分每公斤收费8元,对外国顾客超重部分每公斤收费比国乘客多1.5倍,

对残疾乘客超重部分每公斤收费比正常乘客少一半。

实验包含三部分的容:

e)用word设计描述其详细设计结果的PAD图、判定表。

f)用viso画出它的程序流程图,并计算它的Mccabe程序复杂

度。

(要求把计算过程写到实验报告中)

1、

(1).采用visio绘制教材的图4.26中的软件结构图;

.X*

好输入

/

1

得到好输入

计算最佳解

产生最佳解

读输入编辑输入

(2).采用visio绘制教材的图4.41的软件层次图

发出警报铃声

(3).分析如下所示的数据流图,并把它转换成软件结构图,然后用visio把结果画出来。

2、PAD图

输入行李重量X

Y=0

X>

20

T

Y=9*(X-20)

头T

国外乘客等

Y=12*(X-20)

Y=6*(X-20)

头/等\

Y=8*(X-20)

普通乘客

舱—F

输出托运费Y

判定表

行重量X

X<

Y

--

外国人

N

乘客类别

普通人

残疾人

乘坐规格

头等舱

普通舱

Y=12*(X-20)

Y=4*(X-20)

Y=3*(X-20)

程序流程图

X3?

・¥

求McCabe程序复杂度步骤:

步骤1:

将程序流程图退化成有向图,将程序流程图的每个处理框退化成一个节点,将控制流箭头退化成连接各节点的有向弧。

步骤2:

在有向图中,由程序出口到入口连接一条虚有向弧,使有向图达到强连通。

步骤3:

计算V(G)二m-n+1

V(G)是有向图的G中的环数,m是有向图G中的弧数,n是有向图

G中的节点数因此环形复杂度为:

V(G)=17-13+5=9,所以McCabe

程序复杂度为9。

实验三、软件测试实验

学会使用CASE工具完成软件测试用例的设计以及初步完成对单元测试,深刻理解单元测试的基本原理及CASE工具的基本使用。

二、实验容

1、单元测试的逻辑覆盖测试验证实验:

运用工具完成对如下例子的单元测试,要求分别完成语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖和路径覆盖测试的测试用例编写以及测试。

要求首先按格式编写出该测试所需要的测试用例,然后编写测试程序,对其进行测试,最后把你写的测试用例按格式记录到实验报告中。

测试用例的格式如下:

{[输入],[期望结果]},对于本例请遵循如下格式:

{[A,B,X],[X]}

a

图1单元测试逻辑覆盖的验证实验

此外,请测试如下情况:

(1).如果将第1个判定中的“AND”错写成了“OR”,用数据{[2,0,3],[2.5]}(首先,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?

为什么?

请先测试,然后把结论记录到实验报告中。

⑵.如果将第2个判定中的“x>

1”错写成了“x<

=1”,贝V用数据{[2,0,3],[2.5]}对程序进行测试,可否发现错误?

为什么?

请先测试,然后把结论记录到实验报告中

(3).如果将第1个判定中的“AND”错写成了“OR”,则用数据{[3,0,1],[1/3]}和{[2,1,2],[3]}(首先,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?

请先测试,然后把结论记录到实验报告中。

(4).如果将第2个判定中的“x>

=1”,则用数据{[3,0,1],[1/3]}和{[2,1,2],[3]})对程序进行测试,可否发现错误?

请先测试,然后把结论记录到实验报告中。

(5).如果将第2个判定中的“x>

=1”,则用数据{[2,0,3],[2.5]}和{[1,1,1],[1]}(首先,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?

请先测试,然后把结论记录到实验报告中。

(6).如果将第1个判定中的“a>

1”错写成了“a<

=1”,且把“b=0”错写成了“b<

>

0”,则用数据{[2,1,1],[2]}和{[1,0,2],[3]}对程序进行测试,可否发现错误?

(7).如果将第1个判定中的“a>

0”,则用数据{[2,1,1],[2]}、{[2,0,2],[2]}、{[1,1,1],[1]}和{[1,0,2],[3]}对程序进行测试,可否发现错误?

请先测试,然后把结论记录到实验报告中。

2、循环结构测试

现有一个简单循环,需要对其进行测试,其程序伪代码如下:

Inti,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);

要求为该程序设计满足简单循环的所有测试用例,记录到实

验报告中。

3、等价类划分及边界值测试的验证实验:

有如下算法A和B均

是非负整型变量(注:

int型),如果10vAv100,则B=A*20-5,如果0<

Av=10,贝UB=A*15+20,女口果A>

=100,则

B=A*100-200,请分别用等价类划分方法和边界值分析方法设计测试用例,然后编写测试程序完成测试。

并把测试结论写入到

实验报告中。

1、

(1)语句覆盖

不能发现错误,因为and比or要求的要严格一些,故and可以满足的数据or也一定可以满足

(2)

请输入飢证

203

请WAO值典2.5输出X的值72.500000

Pr'

css比口蚩keytocontinue

不能发现错误,第二个判定or只要满足一个条件即可,因为A=2必然成立,故第二个条件

定为真,所以不能发现错误。

(3)语句覆盖和判定覆盖

'

C%User&

\xujint曰o\Desktep\Debjg'

\4・exc"

■,53HllA.fi,BrK:

301

请輸■厚值*S

憾岀*的值T9-333333

Fpeesankeptocontinue

j:

\users^xujinrao\L^esKro-p\ueoug.exe

i青输入仏田畀=

212

请审入孵值讥3

辅岀X的值二2.000000

Press已n即R巳野tocaintinue

第一组测试数据不能发现错误,因为第一组数据可以满足第一个判定的and判定,肯

定可以通过or判定条件。

而第二组测试数据可以发现错误,因为A=2,B=1,只有A满足条件而B不能满足条件,痛多AND返回0。

又由于把and错写成了or,返回值为1,影响了X的值,所以能发现错误。

第一组测试数据能发现错误。

经过第一个阿婆那段,执行c操作结果得到X=1/3,第二个

判定条件是X<

=1,判定成功返回值为1,进行e操作,最后得到结果X=4/3。

与期望结果不同,系统想、提示错误,故能发现错误。

b,x:

耙i岀*的值?

3-000000

Pi*essanykeyt:

oconitInuie

第二组测试数据不能发现错误。

他、因为第一个判定条件是B=0,而B实际值为1判

定不成功,将进行操作b,进行第二个判定时,因为判定条件为A=2,此时X=2,故

判定成功返回1,进行e操作,最后得结果X=3与期望结果相同,不能发现“x>

1”错写成了“x<

=1”。

故不能发现错误。

(5)判定覆盖条件、语句覆盖、判定覆盖和条件覆盖

—jiij■%.*w~shB兀—1

|:

*基也:

TTZZa*

L冃领人口,B^X=

i脚入惡星值典2-&

输岀K的值72-500000

PressaLnykejjtocoritj-nue

第一组测试数据不能发现错误,在第2个判定时,因为A==2正确,满足条件,进行

e操作。

最后x=2.5,与期望结果相同。

所以不能发现“x>

=1

<

V:

1

ssanyke^tocontinue

C:

\U5ers\xujintao\De空ktop\Oebug\4.exe

对于第二组测试数据,因为对于第二个判定A=2,而A的实际值为1,此时后面的判定X>

1或者X<

=1对结果就有影响了,错写之后由于X=1,对于X<

=1判定成立,返回1,影响

X的值,故能发现错误。

(6)

211

请松磐值趴2

输岀X的值:

2-000000

Pi*essanykey*bocon七inu圧

出错后执行路径仍为abe,

第一组测试数据不能发现错误,因为原本执行路径是abe

所以不能发现错误。

C:

Wse巧'

沁jjintm口心半ktop\DebLig\39.exeF

出错后执行路径仍为abe,

第二组测试数据也不能发现错误,因为原本执行路径是abe所以也不能发现错误。

(7)

abe,所以不能发现错误

■'

C\User^\xujintdo\Dssktcp\Debug\8S

出错后执行路径仍为

第二组测试数据可以发现错误,因为原本执行路径是ace

abe,所以能发现错误。

请输人*,H川

111

逆输入讲崖值¥

输岀的值=1.000000

Press战nytocontinue^

第三组测试数据不能发现错误,因为原本执行路径是abdacd,所以不能发现错误

*C:

\UsgrsViujint曰口\*?

ktop\DebugXS&

.ese"

幘输入鮎R用

1B2

斜入瞻值珀3師岀£

的值’3.0S0000

Ppessan即keytocontinue

第四组测试数据不能发现错误,因为原本执行路径是abe

abe,所以也不能发现错误

程序代码:

#include<

stdio.h>

voidmain()

intA,B;

floatX,Y;

printf("

请输入A,B,X:

\n"

);

scanf("

%d%d%f"

&

A,&

B,&

X);

printf("

请输入期望值Y:

"

%f"

Y);

if(A>

1&

&

B==0)

X=X/A;

if(A==2||X>

1)X=X+1;

if(A=2||X>

{printf("

输出X的值:

"

%f\n"

X);

2、循环结构

程序:

iostream.h>

inti,a;

cout<

请输入i和a:

endl;

cin>

i>

a;

while(i<

a=a+2;

a=a*2;

a=a+3;

1)a=a-4;

elsea=a+5;

a=a*4;

a<

endl;

}

测试用例:

(i,a)%(11,2)(1,5)(1,1)(1,-3)

3、验证实验

实验程序:

请输入A的值:

scanf("

%d"

A);

10&

A<

100)B=20*A-5;

0&

=10)B=15*A+20;

=100)B=100*A-200;

请输出B的值:

printf("

%d\n"

B);

输入条件的等价类划分

ID

输入

期望结果

备注

50

输入有效

覆盖有等价类1

2

5

覆盖有等价类2

3

150

覆盖有等价类3

有效等价类测试用例

覆盖有效等价类1

覆盖有效等价类2

覆盖有效等价类3

无效等价类测试用例

-1

输入无效

覆盖无效等价类4

Abe

覆盖无效等价类5

边界值分析:

根据题意可以取:

-1,0,1,9,10,11,99,100,101,

102

实验四:

软件动态模型建模实验

一、实验目的

运用Visio和Powerdesigner等Case工具完成软件问题的时序图、状态图以及活动图的绘制,真正理解这些动态模型的含义,并能熟练的使用Case工具。

1、Powerdesigner完成教材图3.15的状态图设计

2、Powerdesigner完成如下软件问题的状态图设计。

复印机的工作流程大致如下:

未接到复印命令时处于闲置状态,一旦接到复印命令后则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;

如果执行复印命令时发现没有纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接受复印命令;

如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后回到闲置状态。

3、Powerdesigner完成如下所示的时序图设计

7输人谱码「

输人类也;

输ARSM6

甘吋出现金

■请抽蹶此車虬

r皓車r

2请或味逬背

孝底卡-

见小卞屏幕

AlM

请求酯汀毗户

请求赴理專务

击务或/

账户仃效

请求处理廿ff唏巻分行师务威功■

图1某系统时序图

4、完成如下用户身份验证功能的活动图设计:

用户首先输入其个人信息,如果确认其输入则向系统提交用户信息,并在数据库中查询用户信息,比较用户信息,同时进行验证,验证通过,该用户获得授权可以进入系统的主界面,否则,验证失败重新回到输入用户信息界面。

如果用户放弃输入,则结束程序。

5、综合题。

综合运用所学00A和00D方法和技术完成教材

P263习题8的第10题。

1、图3.15

!

闲直

桂甌电送

1三匸三

-.1—.2—.J1―斗

._^1—L—4—』

・H

广披号音

tLmei=O

(WPfite号者

-且眉加血⑴工,

超时

IjidI

H-

—Hf-——H]H1——1

妥话人回逢

II■I■

■・■・・・!

■■■■■ir|i■■■■■■■■■■・

2、打印机

3、时序图

总行

分行

L

要求密码

输入密码

一要求事务类型

输入类型

要求输入取款额「

输入取款额

吐出珊金

请求拿走规金

学走现金-

一请求龜幾曲事势

结康■

印账单

T退卡

丫请求韋迄卡

拿走卡

一显示主屏幕

插卡

请求噓证喘户

赃户有效

请求处理事劳

4、用户身份验证功能活动图

请求分行验证赌户l

账户有数

请求处理分行事势卜

分行事劳砺功

5、习题8.10

o

虹系缱嚼面基擁崽惬入岸籍

物品"

柳品%

库存嘉

生斓+軀

对象模型

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2