软件工程

  • 格式:docx
  • 大小:763.06 KB
  • 文档页数:26

下载文档原格式

  / 26
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华东交通大学软件学院上机/实验报告册

专业:软件工程

班级:软件工程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