软件工程
- 格式:docx
- 大小:763.06 KB
- 文档页数:26
华东交通大学软件学院上机/实验报告册
专业:软件工程
班级:软件工程9班
姓名:刘悦
学号:2015211001000923课程名称:软件工程
教师:袁朝晖
学期:大二上
2016年12月20日
实验一:数据流图实验
一、实验目的
通过绘制数据流图掌握数据流图的基本原理,并能对简单问题进行数据流图的分析,独立地完成数据流图的分析与设计。此外,学会使用Case工具完成数据流图和系统流程图的分析与实现。
二、实验内容
实验内容如下:
a)用visio绘制出如下定货系统的SFD(系统流程图)的模型。
图1 某定货系统SFD
b)用visio绘制教材中分别绘制出定货系统的DFD的顶层模型、
第一层模型和第二层模型。(具体参考课本上P69~P70的图
3.4,图3.5和图3.6)
c)用visio 绘制如下图所示的取款手续的数据流图。
图2 取款手续
d)请结合目前的银行柜台取款手续,对图2的取款数据流图进行
改进,绘制当前银行柜台取款过程的顶层和第一层数据流图。
三、实验结果:
系统流程图基本物理元素
绘制数据流之后得到完整的系统流程图(SFD)
顶层模型基本元素
完整的顶层数据流图,如下图:
完整的顶层模型
当前银行柜台取款过程的顶层数据流图:
第一层数据流图:
实验二:软件设计实验
一、实验目的
学会使用Case工具完成描述软件结构的软件结构图和软件层次图的设计,并熟练地掌握几种常用的软件详细设计的工具,如程序流程图、盒图、PAD图和判定表,并能把给定的软件问题描述转化为过程设计结果。
二、实验内容
1、软件结构设计:
(1)采用visio绘制教材的图4.26中的软件结构图;
(2)采用visio绘制教材的图4.41的软件层次图。
(3)分析如下所示的数据流图,并把它转换成软件结构图,然
后用visio把结果画出来。(注意,请用结构图)
图1 某系统的数据流图
2、软件的详细设计:某航空公司规定,乘客可以免费托运重量不超过20公斤的行李,当行李重量超过20公斤,对头等舱的国内乘客超重部分每公斤收费6元,对其他舱的国内乘客超重部分每公斤收费8元,对外国顾客超重部分每公斤收费比国内乘客多1.5倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。
实验包含三部分的内容:
a)用word设计描述其详细设计结果的PAD图、判定表。
b)用viso画出它的程序流程图,并计算它的Mccabe程序复杂度。
(要求把计算过程写到实验报告中)
三、实验结果
1、(1).采用visio绘制教材的图4.26中的软件结构图;
实验包含三部分的内容:
e)用word设计描述其详细设计结果的PAD图、判定表。f)用viso画出它的程序流程图,并计算它的Mccabe程序复杂度。(要求把计算过程写到实验报告中)
三、实验结果
1、(1).采用visio绘制教材的图4.26中的软件结构图;
(2).采用visio绘制教材的图4.41的软件层次图
(3).分析如下所示的数据流图,并把它转换成软件结构图,然后用visio把结果画出来。
2 PAD图:
判定表:
程序流程图:
计算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、单元测试的逻辑覆盖测试验证实验:运用Nunit工具完成对如下例子的单元测试,要求分别完成语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖和路径覆盖测试的测试用例编写以及测试。要求首先按格式编写出该测试所需要的测试用例,然后编写测试程序,对其进行测试,最后把你写的测试用例按格式记录到实验报告中。
测试用例的格式如下:
{[输入], [期望结果]},对于本例请遵循如下格式:
{[A,B,X],[X]}
图1 单元测试逻辑覆盖的验证实验
此外,请测试如下情况:
(1). 如果将第1个判定中的“AND ”错写成了“OR ”,用数据{[2,0,3],[2.5]}(首先,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。
(2). 如果将第2个判定中的“x>1”错写成了“x<=1”,则用数据{[2,0,3],[2.5]}对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。
(3). 如果将第1个判定中的“AND ”错写成了“OR ”,则用数据
(A>1) and (B=0)
(A=2) or (X>1)
X = X/A X = X+1
T
T
F
F
a
b
d
c
e