华东交通大学软件工程实验报告教程.docVIP

  • 53
  • 0
  • 约5.77千字
  • 约 27页
  • 2017-05-04 发布于湖北
  • 举报

华东交通大学软件工程实验报告教程.doc

华东交通大学软件工程实验报告教程

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

文档评论(0)

1亿VIP精品文档

相关文档