当前位置:文档之家› 软件工程实验指导书汇总

软件工程实验指导书汇总

软件工程实验指导书适用专业:计算机科学与技术编写人:闻晓、杨阳、范成瑜修改人:黄敏修改时间:2013年9月1日计算机与信息科学学院2010年9月前言软件工程实验是为计算机相关专业本科《软件工程》课程配套设置的,是《软件工程》课程讲授中一个重要的、不可或缺的实践环节。

其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件初步设计、软件详细设计、软件测试等阶段的方法和技术,通过该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。

CDIO代表构思(conceive)、设计(design)、实施(implement)、运行(operate),是由美国麻省理工学院、瑞典皇家工学院、瑞典查尔摩斯工业大学和瑞典林雪平大学共同创立的工程教育改革模式。

CDIO改革的愿景是为学生提供一种在实际系统和产品的构思-设计-实施-运行的背景环境下强调工程基础的工程教育,使学生能够掌握深厚的技术基础知识;领导新产品和新系统的开发与运行;理解工程技术的研究与发展对社会的重要性和战略影响。

按该课程的特点,实验内容包括软件开发的两大方法学的专题训练,即结构化(生命周期学)的方法学和面向对象的方法学,通过对一个简单项目,要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项目的开发。

因此设置五个实验项目,从项目发的准备工作,系统分析过程,系统设计过程,软件测试到系统实施,覆盖软件开发的整个过程,此外又引入CDIO,以规范技术文档的书写标准,提高实验教学质量。

通过实验训练,达到如下目的:使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力,通过实验课程,熟悉和基本掌握软件工程方法学、软件开发的过程,文档资料的编写格式及规范,全面领会和贯通所学习的理论知识,从而培养学生综合运用所学课程知识,分析解决问题的能力,培养学生理论联系实际作风,实事求是,严肃认真的科学态度和良好的工作作风,为今后从事科学研究工作打下基础。

实验一项目准备及问题定义实验学时:3 实验类型:验证+综合一、实验目的1.确定课题,组织组员,合理分工,熟悉软件开发环境,培养团队精神。

2.通过绘制系统流程图和数据流图,熟练掌握系统流程图和数据流图的基本原理,并能对简单问题进行系统流图和数据流图的分析,独立地完成数据流图设计。

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

二、实验内容与要求1.根据各组选择的课题,实行项目经理制,各组推荐一名组长,统一管理整个项目的实施过程,并和理调整资源和负责项目全局;根据项目的难易合理分配组员的任务,对问题达成一直的看法;针对项目的实施,熟悉相应的软件开发工具的使用环境。

2.准备参考资料和阅读相关的国家有关软件开发的标准文档。

3.选择安装Microsoft Visio或Rational Rose或其他case软件,并完成如下绘制实验:a) 用Microsoft Visio绘制出如下定货系统的SFD(系统流程图)的模型。

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

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

图2 取款手续三、实验结果:1.小组实验每组5-6人,共同形成一份问题定义文档2.绘制系统流程图和数据流图每人绘制一份四、成绩评定该实验按A、B、C、D、E给出成绩,占实验总成绩的20%。

五、思考题1.项目开发首先要做的事是什么?2.你认为该软件应具备的最重要的特性是什么。

3.你认为怎样分工是最合理的?六、附录: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层数据流图实验二需求分析实验学时:3 实验类型:设计性一、实验目的确定项目的可实施性,在此基础上完成系统的逻辑功能模型的建立。

二、实验内容与要求采用结构化的软件开发技术,完成对项目的分析过程,给出系统的逻辑功能模型,数据字典以及规格说明书。

包括:绘制项目的业务流程图、逐渐细化的数据流程图,编写数据字典,数据加工处理的描述,软件系统流程设想图(新系统模型)。

三、实验结果以项目小组为单位,形成一份规范的需求规格说明书。

四、成绩评定该实验按A、B、C、D、E给出成绩,占实验总成绩的20%。

五、思考题1.需求分析在软件开发中真的有那么重要吗?2.分析系统流程图,流程图和数据流图的区别和各自的特点。

3.怎样写合乎规范的数据流图和数据词典?4.怎样组织对该工作的评审?实验三系统设计实验学时:9 实验类型:技能性一、实验目的学会使用Case工具完成描述软件结构的软件结构图和软件层次图的设计,并熟练地掌握几种常用的软件详细设计的具,如程序流程图、盒图、PAD图和判定表,并能把给定的软件问题描述转化为过程设计结果,同时进行环路复杂度计算,判断结构化设计结果的复杂性。

在实验二基础上完成系统的体系结构的建立和系统详细设计。

包括:认真分析实验二的结果,给出系统合理的体系结构,描绘系统结构图,并合理划分系统的各组成模块,最后给出系统的各部分设计规格说明书。

二、实验内容与要求1.软件结构设计:(1) 采用visio绘制教材的图4.26中的软件结构图,如下图:教材图5.5(2) 采用visio或其他工具绘制教材的图4.41的软件层次图,如下图。

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

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

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

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

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

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

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

(要求给出计算过程)3.在实验二的基础上,以项目小组为单位,完成小组项目的功能结构图设计,软件处理流程设计,输出设计(主要指打印输出设计),存储文件格式设计(数据库结构设计),输入设计(主要指数据录入卡设计),代码设计,程序设计说明书三、实验结果:1.实验内容3,每小组实验每组5-6人,共同形成一份项目设计说明文档2.实验内容1、2,每人一份实验结果四、成绩评定该实验按A、B、C、D、E给出成绩,占实验总成绩的40%。

五、思考题1.系统设计和需求分析的关系是什么?两者必须先后关联吗?2.怎样描绘系统的体系结构?3.怎样绘制复合规范的流程图。

4.怎样组织对设计阶段工作的评审?六、附录:Visio中软件结构和流程图的绘制Step1: 软件结构图的绘制,选择“软件”中的“程序结构图”,例如绘制出如下图所示的软件结构:图2 软件结构图Step2: 软件层次图的绘制,选择“组织结构图”绘制,如下图:图3 软件层次图Step3: 程序流程图的绘制,visio中选择“流程图”中的“基本流程图”,得到如下图形:(下图仅是一个例子)图4 程序流程图实验四软件测试实验实验学时:3 实验类型:验证性一、目的与任务深刻理解软件测试的目的,熟知软件测试的基本方法和基本策略。

学会使用CASE工具完成软件测试用例的设计以及初步完成单元测试,在此基础上深刻理解单元测试的基本原理及测试类CASE工具的基本使用。

二、实验内容由于小组项目尚未编码实现,无法针对每个小组的项目进行测试,所以本实验安排统一的测试题目。

1.单元测试的逻辑覆盖测试验证实验:运用Nunit工具完成对如下例子的单元测试,要求分别完成语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖和路径覆盖测试的测试用例编写以及测试。

要求首先按格式编写出该测试所需要的测试用例,然后编写测试程序,对其进行测试,最后把你写的测试用例按格式记录到实验报告中。

测试用例的格式如下:{[输入], [期望结果]},对于本例请遵循如下格式:{[A,B,X],[X]}图1 单元测试逻辑覆盖的验证实验此外,请测试如下情况: a) 如果将第1个判定中的“AND ”错写成了“OR ”,用数据{[2,0,3],[2.5]}(首先,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。

b) 如果将第2个判定中的“x>1”错写成了“x<=1”,则用数据{[2,0,3],[2.5]}对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。

c) 如果将第1个判定中的“AND ”错写成了“OR ”,则用数据{[3,0,1],[1/3]}和{[2,1,2],[3]}(首先,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。

相关主题