软件工程实验指导书(新)

  • 格式:doc
  • 大小:717.50 KB
  • 文档页数:27

《软件工程》实验指导书第一部分软件工程综合实验一、实验目的软件工程实验课的目标是:通过一个小型软件项目的开发,使学生理论与实践相结合,体会项目开发各阶段所面临的问题,探索相应的解决办法,从而理解软件工程的过程、方法、工具三个要素。

学生在实验中的收获将包括:1. 掌握从需求理解、概要设计、详细设计、编码、测试、到产品发布的软件开发全过程;2. 掌握规范化软件开发流程;3. 更深刻理解面向对象分析和设计的思想,培养面向对象开发的思维方式;4. 培养快速学习新的知识,并在实践中运用的能力;5. 掌握在项目中快速应用外部技术的能力。

二、实验选题三、实验要求根据软件工程方法,按项目启动、需求分析、概要设计、详细设计、编码实现、测试六个主要阶段实现一个系统,对每个阶段进行评审,并形成相应文档。

以下六个阶段并非完全按照顺序进行,而是依据敏捷方法的思想,以软件架构为中心,通过分析、设计、实现、测试工作的多次迭代不断完善整个系统。

1.软件工程综合性实验要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。

班级按项目小组进行分组,每组不得超过4人,每个小班中各小组的选题不得重复。

小组成员分别担任项目经理、技术经理、配置管理员、测试负责人等角色,分工合作。

2.文档及代码应按规范编写,按时提交3.最后提交的文档和代码:(1)需求规约说明书(2)设计说明书(包括数据库设计)(3)测试用例文档(4)帮助文档(含功能展示视频)(5)项目源代码(6)测试项目代码(7)项目的安装文件(Setup.exe)五、考核形式1.实验成绩评定提交项目开发文档(电子版+打印版),综实验成绩满分50分,即占总成绩的50%。

2.实验成绩评定参考标准(1)工程文档是否符合规范;(2)图、表是否规范且重点突出、图文并茂;(3)开发过程中是否能正确使用软件工程工具;(4)项目分析、设计、测试质量高低;(5)演示效果好坏第二部分软件工程基础实验实验一数据流图实验一、实验目的通过绘制系统流程图和数据流图,熟练掌握系统流程图和数据流图的基本原理,并能对简单问题进行系统流图和数据流图的分析,独立地完成数据流图设计。

此外,学会使用Case工具完成数据流图和系统流程图的分析与实现。

二、实验内容实验内容如下:a)用Microsoft Visio绘制出如下定货系统的SFD(系统流程图)的模型。

图1 某定货系统SFDb)用Microsoft visio绘制教材中定货系统的DFD的顶层模型、第一层模型和第二层模型。

(参考课本上P69~P70的图3.4,图3.5和图3.6)教材图3.4 仓库定货系统的顶层数据流图描述教材图3.5 仓库定货系统的第一层数据流图描述教材图3.6 “处理事务”的第2层数据流图描述c)用Microsoft Visio 绘制如下图所示的取款手续的数据流图。

图2 取款手续d)请结合目前的银行柜台取款手续,对图2的取款数据流图进行改进,绘制当前银行柜台取款手续的顶层数据流图和第一层数据流图。

(要求合理地进行需求分析、并完成DFD的分层设计)三、实验结果一张系统流程图和六张数据流图,要求把画出的系统流程图和数据流图打印后粘贴在实验报告中。

实验报告一份。

四、成绩评定该实验成绩满分10分,即占总成绩的10%。

五、附录:Visio中SFD和DFD绘制的基本使用Step1:安装Visio,本说明书中使用的是Visio2003,大家也可下载Visio2007等新版本,如下图:(注:下图表示计算机已经安装了Visio,大家只要根据安装向导StepbyStep的完成安装即可)图3 Visio安装Step2: 打开visio,绘制系统的系统流程图,选择“流程图”下的“基本流程图”,先选择好图形的基本物理元素,如下图:图4 系统流程图基本物理元素Step3:绘制数据流之后得到完整的系统流程图(SFD)图5 完整的系统流程图绘制DFD方法1:Step1: 绘制DFD,选择“软件”中的“数据流模型图”来进行DFD的绘制,首先也是先将基本元素选择好,如下图:图6 顶层模型基本元素Step2: 绘制数据流,并为数据流命名,得到课本图2.5“定货系统”完整的顶层数据流图,如下图:图7 完整的顶层模型Step3: 绘制该顶层流图的细化L1层流图,如下图:图8 完整的L1层模型绘制DFD方法2:Step1:选择“新建”菜单中“流程图”中的“数据流图表”,进行基本模型的绘制,首先也是先将基本元素选择好,如下图:图9顶层模型基本元素Step2:绘制数据流,形成完整的顶层数据流图,如下图:图10 完整的顶层数据流图Step3:绘制第1层数据流图,如下图所示:图11 完整的第1层数据流图实验二软件设计实验一、实验目的学会使用Case工具完成描述软件结构的软件结构图和软件层次图的设计,并熟练地掌握几种常用的软件详细设计的具,如程序流程图、盒图、PAD 图和判定表,并能把给定的软件问题描述转化为过程设计结果,同时进行环路复杂度计算,判断结构化设计结果的复杂性。

二、实验内容1、软件结构设计:(1)采用visio绘制教材的图4.26中的软件结构图,如下图:教材图4.26(2)采用visio或word绘制教材的图4.41的软件层次图,如下图。

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

(注意,请用结构图,而非层次图)图1 某系统的数据流图2、软件的详细设计:某航空公司规定,乘客可以免费托运重量不超过20公斤的行李,当行李重量超过20公斤,对头等舱的国内乘客超重部分每公斤收费6元,对公务舱的国内乘客超重部分每公斤收费8元,对经济舱的国内乘客超重部分每公斤收费10元。

对外国顾客超重部分每公斤收费比国内乘客多1.5倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。

实验包含如下四个部分的内容:a)用word设计描述其详细设计结果的判定表。

b)用viso画出它的程序流程图。

c)用类C代码写出它的伪代码。

d)将程序流程图转换为流图,然后计算它的Mccabe程序复杂度。

(要求把计算过程写到实验报告中)三、实验结果文档:软件结构图、软件层次图、伪代码、判定表和程序流程图以及环路复杂度的计算过程,打印后粘贴在实验报告中;实验报告一份。

四、成绩评定该实验成绩满分10分,即占总成绩的10%。

五、附录:Visio中软件结构和流程图的绘制Step1: 软件结构图的绘制,选择“软件”中的“程序结构图”,例如绘制出如下图所示的软件结构(教材图5.5):图2 软件结构图Step2: 软件层次图的绘制,选择“组织结构图”绘制,如下图:图3 软件层次图Step3: 程序流程图的绘制,visio中选择“流程图”中的“基本流程图”,得到如下图形:(下图仅是一个例子)图4 程序流程图实验三软件测试实验一、实验目的深刻理解软件测试的目的,熟知软件测试的基本方法和基本策略。

学会使用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”,则用数据{[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]}对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。

经过上述的测试过程,你有什么体会,请写到实验报告中!2、循环结构测试现有一个简单循环,需要对其进行测试,其程序伪代码如下:Int i,a;Input(i,a);While(i<=10){a += 2;if(a>4){a *= 2;a += 3;}Else{If(a>1)a -= 4;elsea += 5;}i++;}a *=4;Output(a);要求为该程序设计满足简单循环的所有测试用例,记录到实验报告中。

3、等价类划分及边界值测试的验证实验:有如下算法A和B均是非负整型变量(注:int型),如果10<A<100,则B=A*20-5,如果0<A<=10,则B=A*15+20,如果A>=100,则B=A*100-200,请分别用等价类划分方法和边界值分析方法设计测试用例,然后编写测试程序完成测试。

并把测试结论写入到实验报告中。

三、实验结果包含测试用例、测试程序以及测试结论的实验报告一份。

四、成绩评定该实验成绩满分15分,即占总成绩的15%。