华东交通大学软件工程实验学习报告计划.docx
《华东交通大学软件工程实验学习报告计划.docx》由会员分享,可在线阅读,更多相关《华东交通大学软件工程实验学习报告计划.docx(57页珍藏版)》请在冰豆网上搜索。
华东交通大学软件工程实验学习报告计划
.华东交通大学软件学院上机实验报告课程名称:
软件工程
指导老师:
唐怀琴
专业班级:
12软件+交通设备信息工程2班
姓名:
徐锦陶
学号:
214
word专业资料
.
学期:
大二放学期实验一:
数据流图实验
一、实验目的
经过绘制数据流图掌握数据流图的基根源理,并能对简单问题进
行数据流图的解析,独立地完成数据流图的解析与设计。
其余,学会
使用Case工具完成数据流图和系统流程图的解析与实现。
二、实验容
实验容以下:
a)用visio绘制出以下定货系统的SFD(系统流程图)的模型。
word专业资料
.图1某定货系统SFD
b)用visio绘制教材中分别绘制出定货系统的DFD的顶层模型、
第一层模型和第二层模型。
(详细参照课本上P69~P70的图
,图和图)
用visio绘制以以下图所示的取款手续的数据流图。
图2取款手续
请联合当前的银行柜台取款手续,对图2的取款数据流图进行改进,绘制当前银行柜台取款过程的顶层和第一层数据流图。
三、实验结果
word专业资料
.
a)、定货系统的SFD(系统流程图)的模型事务库存清单
库存清单程序
主文件
订货信息
报告生成程序
订货报告b)、图DFD的顶层模型
事务
订货
订货报表
管理员
系统
采买员
(b)、图DFD的第一层模型
word专业资料
.库存信息
库存清单
事务
办理
产生
管理员
事务
报表
订货信息
订货报表订货信息
采买员
订货信息
(b)、DFD的第二层模型
word专业资料
.
库存清单
库存清单
事务接受事务更新库
管理员
事务存信息
库存
办理
产生订货
采买员
信息
事务
报表
报表
订货信息订货信息订货信息
c)、取款手续的数据流图
帐卡
检验出的问题检验
取款单
存折
取款存折信息储户现款
付款信息登录
付款年代日日历
word专业资料
.
d)、当前银行柜台取款过程的顶层数据流图
账户信息
信息
办理结果
客户
办理
客户
当前银行柜台取款过程的第一层数据流图
帐户余额
余额信息
存折
现款
客户
检查
登录
客户
取款
信息
取款
信息储户文件
word专业资料
.实验二、软件设计实验
一、实验目的
学会使用Case工具完成描述软件结构的软件结构图和软件层次
图的设计,并娴熟地掌握几种常用的软件详细设计的工具,如程序流
程图、盒图、PAD图和判断表,并能把给定的软件问题描述转变成
过程设计结果。
二、实验容
1、软件结构设计:
采纳visio绘制教材的图中的软件结构图;
采纳visio绘制教材的图的软件层次图。
(1)解析以下所示的数据流图,并把它变换成软件结构图,而后用visio把结果画出来。
(注意,请用结构图)
word专业资料
.
图1某系统的数据流图
2、软件的详细设计:
某航空公司规定,乘客可以免费托运重量
不超出20公斤的行,当行重量超出20公斤,仇人等舱的国乘
客超重部分每公斤收费6元,对其余舱的国乘客超重部分每公斤
收费8元,对外国顾客超重部分每公斤收费比国乘客多
倍,
对残疾乘客超重部分每公斤收费比正常乘客少一半。
实验包括三部分的容:
用word设计描述其详细设计结果的PAD图、判断表。
f)用viso画出它的程序流程图,并计算它的Mccabe程序复杂
度。
(要求把计算过程写到实验报告中)
三、实验结果
1、
(1).采纳visio绘制教材的图中的软件结构图;
word专业资料
.产生最正确解
好输入
解
好输解入
获取好输入计算最正确解输出结果
原始输入
编写结果
解
格式化的解
原始输入
格式化的解
读输入编写输入结果格式化显示结果
(2).采纳visio绘制教材的图的软件层次图。
word专业资料
.数字仪表板控制
接收传感器
数据变换
驱动仪表板
信号
控制
变换成
计算
计算
计算
计算
显示
显示
显示
发出警
报铃声
读旋转
读燃料
确立
加快/减
发光二极管
加快/
减
速
信号
流量
显示
速
显示
(3).解析以下所示的数据流图,并把它变换成软件结构图,
而后用visio把结果画出来。
word专业资料
.主程序
IPO
f1f3
f10f7
B
C
H
F
f4
f5
f8
f2
A
D
E
G
2、PAD图开始
word专业资料
.
输入行李重量X
Y=0
T
X>20
Y=9*(X-20)
F
头
T
外国乘客
等
Y=12*(X-20)
舱
F
Y=6*(X-20)头T一般乘客等
Y=8*(X-20)舱F
Y=3*(X-20)
头T残疾乘客等Y=4*(X-20)舱F
输出托运费Y结束
word专业资料
.
判断表
行重量X
X<20
Y
Y
Y
Y
--
--
--
--
X>20
--
--
--
--
Y
Y
Y
Y
判
外国人
Y
N
N
Y
Y
N
Y
N
定
乘客类型
一般人
N
Y
Y
N
N
N
N
Y
状
条
残疾人
N
N
N
N
N
Y
N
N
态
件
乘坐规格
优等舱
Y
N
Y
Y
N
Y
N
N
一般舱
N
Y
N
N
Y
N
Y
Y
Y=0
托
Y=12*(X-20
)
判
运
Y=9*(X-20
)
定
费
Y=8*(X-20
)
规
用
Y=6*(X-20
)
则
Y=4*(X-20)
Y=3*(X-20
)
程序流程图
word专业资料
.求McCabe程序复杂度步骤:
步骤1:
将程序流程图退化成有向图,将程序流程图的每个办理框退化
成一个节点,将控制流箭头退化成连接各节点的有向弧。
步骤2:
在有向图中,由程序出口到进口连接一条虚有向弧,使有向
图达到强连通。
步骤3:
计算V(G)=m-n+1
V(G)是有向图的G中的环数,m是有向图G中的弧数,n是有向图
G中的节点数所以环形复杂度为:
V(G)=17-13+5=9,所以McCabe
程序复杂度为9。
word专业资料
.
实验三、软件测试实验
一、实验目的
学会使用CASE工具完成软件测试用例的设计以及初步完成对单
元测试,深刻理解单元测试的基根源理及CASE工具的基本使用。
二、实验容
1、单元测试的逻辑覆盖测试考据实验:
运用工具完成对以下例
子的单元测试,要求分别完成语句覆盖、判断覆盖、条件覆盖、
判断条件覆盖、条件组合覆盖和路径覆盖测试的测试用例编写以
及测试。
要求第一按格式编写出该测试所需要的测试用例,而后
编写测试程序,对其进行测试,最后把你写的测试用例按格式记
录到实验报告中。
测试用例的格式以下:
{[输入],[希望结果]},对于本例请依据以下格式:
{[A,B,X],[X]}
word专业资料
.a
b
F
T
c
(A>1)
and(B=0)
X=X/A
d
e
F
T
(A=2)or(X>1)
X=X+1图1单元测试逻辑覆盖的考据实验其余,请测试以下状况:
(1).假如将第1个判断中的“AND”错写成了“OR”,用数据
{[2,0,3],[2.5]}(第一,该组数据满足何种逻辑覆盖)对程序
进行测试,可否发现错误?
为何?
请先测试,而后把结论
记录到实验报告中。
(2).假如将第2个判断中的“x>1”错写成了“x<=1”,则用
数据{[2,0,3],[2.5]}对程序进行测试,可否发现错误?
为什
么?
请先测试,而后把结论记录到实验报告中。
word专业资料
.
(3).假如将第1个判断中的“AND”错写成了“OR”,则用数
据{[3,0,1],[1/3]}和{[2,1,2],[3]}(第一,该组数据满足何种逻
辑覆盖)对程序进行测试,可否发现错误?
为何?
请先测
试,而后把结论记录到实验报告中。
(4).
假如将第2个判断中的“x>1”错写成了“x<=1”,则用
数据{[3,0,1],[1/3]}和{[2,1,2],[3]})对程序进行测试,可否发
现错误?
为何?
请先测试,而后把结论记录到实验报告中。
(5).
假如将第2个判断中的“x>1”错写成了“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>1”错写成了“a<=1”,且把
“b=0”错写成了“b<>0”,则用数据{[2,1,1],[2]}
、
{[2,0,2],[2]}、{[1,1,1],[1]}和{[1,0,2],[3]}对程序进行测试,可
否发现错误?
为何?
请先测试,而后把结论记录到实验报
告中。
word专业资料
.
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++;
word专业资料
.
}*=4;
Output(a);要求为该程序设计满足简单循环的全部测试用例,记录到实
验报告中。
3、等价类区分及界限值测试的考据实验:
有以下算法A和B均
是非负整型变量(注:
int型),假如10假如0=100,则
B=A*100-200,请分别用等价类区分方法和界限值解析方法设计测试用例,而后编写测试程序完成测试。
并把测试结论写入到实验报告中。
三、实验结果
1、
(1)语句覆盖
word专业资料
.
不可以发现错误,因为and比or要求的要严格一些,故and可以满足的数据or也必定可以满足。
2)
不可以发现错误,第二个判断or只需满足一个条件即可,因为A=2必定成立,故第二个条件必定为真,所以不可以发现错误。
(3)语句覆盖和判断覆盖
第一组测试数据不可以发现错误,因为第一组数据可以满足第一个判断的and判断,肯
定可以经过or判断条件。
而第二组测试数据可以发现错误,因为A=2,B=1,只有A
word专业资料
.
满足条件而B不可以满足条件,痛多AND返回0。
又因为把and错写成了or,返回值为1,影响了X的值,所以能发现错误。
4)
第一组测试数据能发现错误。
经过第一个阿婆那段,履行c操作结果获取X=1/3,第二个判断条件是X<=1,判断成功返回值为1,进行e操作,最后获取结果X=4/3。
与希望结果不一样,系统想、提示错误,故能发现错误。
第二组测试数据不可以发现错误。
他、因为第一个判断条件是B=0,而B实质值为1判定不行功,将进行操作b,进行第二个判准时,因为判断条件为A=2,此时X=2,故
判断成功返回1,进行e操作,最后得结果X=3与希望结果同样,不可以发现“x>1”错
word专业资料
.
写成了“x<=1”。
故不可以发现错误。
(5)判断覆盖条件、语句覆盖、判断覆盖和条件覆盖
第一组测试数据不可以发现错误,在第2个判准时,因为A==2正确,满足条件,进行e操作。
最后x=,与希望结果同样。
所以不可以发现“x>1”错写成了“x<=1”。
对于第二组测试数据,因为对于第二个判断A=2,而A的实质值为1,此时后边的判断X>1或许X<=1对结果就有影响了,错写以后因为X=1,对于X<=1判断成立,返回1,影响X的值,故能发现错误。
(6)
word专业资料
.第一组测试数据不可以发现错误,因为本来履行路径是abe。
犯错后履行路径仍为abe,所以不可以发现错误。
第二组测试数据也不可以发现错误,因为本来履行路径是abe。
犯错后履行路径仍为abe,所以也不可以发现错误。
7)第一组测试数据不可以发现错误,因为本来履行路径是abe。
犯错后履行路径仍为
word专业资料
.
abe,所以不可以发现错误。
第二组测试数据可以发现错误,因为本来履行路径是ace。
犯错后履行路径仍为abe,所以能发现错误。
第三组测试数据不可以发现错误,因为本来履行路径是abd。
犯错后履行路径仍为acd,所以不可以发现错误。
第四组测试数据不可以发现错误,因为本来履行路径是abe。
犯错后履行路径仍为
word专业资料
.
abe,所以也不可以发现错误。
程序代码:
#includevoidmain(){intA,B;floatX,Y;printf("请输入A,B,X:
\n");scanf("%d%d%f",&A,&B,&X);printf("请输入希望值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的值:
");
word专业资料
.
printf("%f",X);}}printf("输出X的值:
");printf("%f\n",X);}2、循环结构
程序:
#includevoidmain(){inti,a;cout<<"请输入i和a:
"<>i>>a;while(i<=10){a=a+2;if(a>4){a=a*2;a=a+3;}
word专业资料
.
else{if(a>1)a=a-4;elsea=a+5;}i++;}a=a*4;cout<测试用例:
(i,a)为(11,2)(1,5)(1,1)(1,-3)
3、考据实验
实验程序:
#includevoidmain(){intA,B;printf("请输入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("请输出B的值:
");
word专业资料
.
printf("%d\n",B);}
输入条件的等价类区分
ID
输入
希望结果
备注
1
50
输入有效
覆盖有等价类1
2
5
输入有效
覆盖有等价类2
3
150
输入有效
覆盖有等价类3
有效等价类测试用例
ID
输入
希望结果
备注
1
50
输入有效
覆盖有效等价类1
2
5
输入有效
覆盖有效等价类2
3
150
输入有效
覆盖有效等价类3
无效等价类测试用例
ID输入希望结果备注
1-1输入无效覆盖无效等价类4
2Abc输入无效覆盖无效等价类5
界限值解析:
依据题意可以取:
-1,0,1,9,10,11,99,100,101,
102
word专业资料
.
实验四:
软件动向模型建模实验
一、实验目的
运用Visio和Powerdesigner等Case工具完成软件问题的时序
图、状态图以及活动图的绘制,真切理解这些动向模型的含义,并能
娴熟的使用Case工具。
二、实验容
1、Powerdesigner完成教材图的状态图设计
2、Powerdesigner完成以下软件问题的状态图设计。
复印机的工
作流程大体以下:
未接到复印命令时处于闲置状态,一旦接到复印命令后则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等候下一个复印命令;假如履行复印命令时发现没有纸,则进入缺纸状态,发出警告,等候装纸,装满纸后进入闲置状态,准备接受复印命令;假如复印时发生卡纸故障,则进入卡纸状态,发出警告,等候维修人员来清除故障,故障清除后回到闲置状态。
3、Powerdesigner完成以下所示的时序图设计
word专业资料
.图1某系统时序图
4、完成以下用户身份考据功能的活动图设计:
用户第一输入其个
人信息,假如确认其输入则向系统提交用户信息,并在数据库
中盘问用户信息,比较用户信息,同时进行考据,考据经过,
该用户获取受权可以进入系统的主界面,不然,考据失败重新
回到输入用户信息界面。
假如用户放弃输入,则结束程序。
5、综合题。
综合运用所学OOA和OOD方法和技术完成教材
P263习题8的第10题。
word专业资料
.三、实验结果1、图
2、打印机
word专业资料
.
3、时序图
word专业资料
.
4、用户身份考据功能活动图
word专业资料
.
5、习题
word专业资料
.对象模型
word专业资料