软件工程实验指导书--要求及参考范本

软件工程课程

综合实验

验 指 导

计算机学院 2011年9月

实 书

《软件工程》综合实验指导书

目录(Contents)

第一章 概述(Overview) ......................................................................... 1 第二章 实验内容(Experiments) .................................................................... 2 附录一:实验要求 ......................................................................................... 4 附录二:实验题目 ......................................................................................... 4 附录三:实验报告(Reports) .......................................................................... 7 附录四:设计范例 ......................................................................................... 9

第一章 概述(Overview)

一、实验目的:

软件工程实验是为计算机相关专业本科《软件工程》课程配套设置的,是《软件工程》课程讲授中一个重要的、不可或缺的实践环节。其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件总体设计、软件详细设计、软件测试等阶段的方法和技术,通过该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。

按该课程的特点,实验内容包括软件开发的两大方法学的专题训练,即结构化(生命周期学)的方法学和面向对象的方法学,通过对一个简单项目,要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项目的开发。主要设置三个实验项目,从项目需求分析,项目设计到编码测试,覆盖软件开发的整个过程,此外又引入我国国家《计算机开发规范》,以规范技术文档的书写标准,提高实验教学质量。 通过实验训练,达到如下目的:

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

二、面向专业:计算机科学与技术、信息管理、电子商务、软件设计 三、先修课程:一门计算机高级语言、数据库概论 四、实验学时数:10学时 五、实验环境

1.单机模式

操作系统: WindowsXP, Windows2000等 开发工具:自选

2.客户机/服务器模式(C/S)

操作系统: WindowsXP, Windows2000等

数据库管理系统:Access, SQL Server, Oracle8i等

开发工具:VB, Dephi6.0, PB, C++Builder, VC++, C#, VB.Net等

3.Web服务器模式(B/S)

操作系统: Windows2000 Server等

数据库管理系统:Access, SQL Server, Oracle8i等 开发工具: C#, ASP, JSP,.NET, Java 等

六、成绩考核

分实验报告和考勤两项来考核。书面(打印)文档连同实验报告要求在2011年11月1日前

上交。

第二章 实验内容(Experiments)

实验一:项目需求分析

1.实验目的:确定课题,合理分工,熟悉软件开发环境,培养团队精神。确定项

目的可实施性,在此基础上完成系统的逻辑功能模型的建立,使同学们掌握结构化数据流分析技术。

2.实验要求:根据各组选择的课题,实行项目经理制,各组推荐一名组长统一管理整个项目的实施过程,并合理调整资源和负责项目全局;

要求做到使用结构化数据流分析技术分析课题需求,写出详细的数据流图和数据字典,数据流图的基本处理的个数不得少与5个。

3.实验内容:学习软件开发小组的组织和管理,合理分工,将项目开发各阶段的任务明确,并熟悉相应的软件开发环境。采用不同的软件开发技术、进行软件系统需求分析,得出系统得数据流图,数据字典以及规格说明书。

4.实验步骤:

1.到相关单位进行需求分析。

2.综合利用Internet网和相关书籍整理并完善需求分析。 3.画出系统数据流图(分清系统是事务型还是加工型)。 4.得出系统数据字典。

5.思考题

1、项目开发首先要做的事是什么? 2、你认为怎样分工是最合理的?

3、需求分析在软件开发中真的有那么重要吗?

4、分析系统流程图,流程图和数据流图的区别和各自的特点。 5、怎样组织对该工作的评审?

实验二:项目设计

1.实验目的:在实验一基础上完成系统的体系结构的建立和系统详细设计,并给

出相应的规格说明书,通过实例使同学们掌握结构化程序设计的基本概念与技术。

2.实验要求:认真分析实验一的结果,给出系统合理的体系结构,描绘系统结构

图,并合理划分系统的各组成模块,最后给出系统的各部分设计规格说明书。要求做到对上一实验的软件需求进行软件结构设计,模块数不少于四个。然后再进行详细设计。

3.实验内容:功能结构图设计,软件处理流程设计,输出设计(主要指打印输出设计),存储文件格式设计(数据库结构设计),输入设计(主要指数据录入卡设计),代码设计,程序设计说明书

4.实验步骤:

1.首先进行总体设计(分清系统是事务型还是加工型)。 2.再进行详细设计。

5.思考题

1.系统设计和需求分析的关系是什么?两者必须先后关联吗? 2.怎样描绘系统的体系结构? 3.怎样绘制符合规范的流程图。 4.怎样组织对设计阶段工作的评审?

实验三:编码测试

1.实验目的:在实验二的基础上完成对系统的组装和测试,通过实例使同学们掌

握软件编码和测试的一般步骤。

2.实验要求:要求对上一实验所得详细设计结果进行编写程序并进行测试。 (1)能够正确运用软件测试的过程与方法,结合一个模拟课题,复习、巩固、软件工程中系统测试知识,提高软件测试的实践能力。

(2)熟悉单元测试、综合测试、确认测试、系统测试的方法,掌握测试用例的设计方法。

(3)树立正确的软件测试思想,培养分析问题、解决问题的能力,提高查询资料和撰写书面文件的能力,并掌握程序修改的常用技术。

3.实验内容:首先编写程序代码,然后正确运用软件测试技术和方法,完成系统的单元测试、综合测试、确认测试、系统测试的方法,掌握测试用例的设计方法,并给出测试报告。

4.实验步骤:

1.首先进行编码,并设计测试方案(分别采用白盒法和黑盒法)。 2.进行测试。

3.对于出错的程序进行修改。 4.并不断循环直至程序符合要求。 5.写出测试说明书。

5.思考题

1.怎样看待测试的重要性。 2.怎样选择测试的技术和方案。

3.比较逻辑测试和基本路径测试的不同和联系。 4.怎样组织对测试阶段工作的评审?

附录一:实验要求

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

1. 班级按项目小组进行分组,每组3-4人,题目自定或采用附录二中的题目。

2. 每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目,项目中的每项任务要落实到人且规定该任务的起止日期和时间

3.每个项目小组必须按照《软件工程实验指导书》附录三中给定的实验报告格式填写实验报告

4.软件开发的方法自定(结构化或面向对象的方法学)

附录二:实验题目

题目一:“教务管理系统之子系统——学院课程安排”

1.系统简介

每个学期的期中,学校教务处向各个学院发出下各学期的教学计划,包括课程名称、课程代码、课时、班级类别(本科、专科、成人教育、研究生)、班号等;学院教学主管人员根据教学任务和要求给出各个课程的相关限制(如:任课教师的职称、上课的班数、最高和最低周学时数等);任课教师自报本人授课计划,经所在教研室协调任可,将教学计划上交学院主管教学计划的人员,批准后上报学校教务处,最终由教务处给出下个学期全学院教师的教学任务书。

假设上述排课过程全部由人工操作,现要求为上述过程实现计算机自动处理过程。 2.限定条件 (1)每位教师的主讲课程门数不超过2门/学期:讲师以下职称的教师不能承担学院定主课的主讲任务。

(2)学院中层干部的主讲课时不能超过4学时/周。

(3本学期出现严重教学事故的教师不能承担下各学期的主讲任务。

(4)本系统的输入项至少包括:教务处布置的教学计划,学院教师自报的授课计划和学院定的有关授课限制条件。

(5)本系统的输出项至少包括:教务处最终下达全院教师的教学任务书和学院各个班

级下各学期的课程表(可以不含上课地点)。

题目二:“学校教材定购系统”

1.系统简介

本系统可以细化为两个子系统:销售系统和采购系统

销售系统的主要工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生可以到书库领书。

采购系统的主要工作过程为:若是教材脱销,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员。

以上功能要求在计算机上实现。 2.技术要求和限制条件

(1)当书库中的各种书籍数量发生变化(包括进书和出书)时,都应修改相关的书库记录,如库存表或进/出库表。

(2)在实现上述销售和采购的工作过程时,需考虑有关的合法性验证。 (3)系统的外部项至少包括:教师、学生和教材工作人员。

(4)系统的相关数据存储至少包括:购书表、库存表、缺书登记表、待购教材表、进库表和出库表。

题目三:“机票预定系统”

1.系统简介

航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。

2.技术要求和限制条件

(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。

(2)对于本系统还应补充一下功能: 1.旅客延误了取票时间的处理 2.航班取消后的处理

3.旅客临时更改航班的处理

(3)系统的外部输入项至少包括:旅客、旅行社和航空公司。

题目四:“学校内部工资管理系统”

1.系统简介

假设学校共有教职工约1000人,10个行政部门和8个系。每个月20日前各个部门(包

括系和部门)要将出勤情况上报人事处,23日前人事处将出勤工资、奖金及扣款清单送到财务处 。财务处于每个月月底将教职工的工资表做好并将数据送银行。每个月3日将工资条发给每个单位。若由员工调入或调出、校内调动、离退休变化,则由人事处通知相关部门和财务处。

2.技术要求和限制条件

(1)本系统的数据存储至少包括:工资表、部门汇总表、扣税款表、银行发放表等。 (2)除人事处、财务处外,其他职能部门和系名称可以简化表示。 (3)工资、奖金、扣款细节由学生自定义。

题目五:“实验室设备管理系统”

1.系统简介

每学年要对实验室设备使用情况进行统计、更新。其中:

(1)对于已彻底损坏的做报废处理,同时详细记录有关信息。

(2)对于由严重问题(故障)的要及时修理,并记录修理日期、设备名、编号、修理厂家、修理费用、责任人等。

(3)对于急需修改但又缺少的设备,需以“申请表”的形式送交上级领导请求批准购买。新设备购入后要立即进行设备登记(包括类别、设备名、编号、型号、规格、单价、数量、购置日期、生产厂家、保质期和经办人等信息),同时更新申请表的内容。

(4)随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段等查询。

2.技术要求及限制条件

(1)所有工作由专门人员负责完成,其他人不得任意使用。

(2)每件设备在做入库登记时均由系统按类别加自动顺序号编号,形成设备号;设备报废时要及时修改相应的设备记录,且有领导认可。

(3)本系统的数据存储至少包括:设备记录、修理记录、报废记录、申请购买记录。 (4)本系统的输入项至少包括:新设备信息、修理信息、申请购买信息、具体查询统计要求。

本系统的输出项至少包括:设备购买申请表、修理/报废设备资金统计表

附录三:实验报告(Reports)

实验题目:

实验一:项目需求分析

1.软件系统需求描述:

2.软件系统数据流图(由加工、数据流、文件、源点和终点四种元素组成):

1)顶层数据流图

2) 一层数据流图

3)二层数据流图

4)总数据流图

3.软件系统数据字典:

1.数据流条目

2.加工条目

3.文件条目

实验二:项目设计

1.软件系统模块结构图:

2.软件系统其中的3个模块的详细设计(画程序流程图):

实验三 数据库设计

1. 概要模型设计

2. 逻辑模型设计

实验四:编码测试

1.软件系统其中的2个模块的编码: 可省略

2.设计测试用例15个(白盒法10个,黑盒法5个):

最后 项目总结

附录四:设计范例

设计题目:开发基于Web的高校教学资料管理系统

软件工程综合实验报告

学号姓名(组长): 学号姓名: 学号姓名:学号姓名:班级:教师:

××××大学 计算机科学与技术学院

一、项目需求描述

利用C#.NET作为开发工具、SQL Server2000作为数据库开发一个基于WEB的高校教学资料网络管理系统。要求实现如下功能:

1.教学资料录入; 2.教学资料修改; 3.教学资料审核; 4.教学资料打印;

随着信息时代的到来,高校的信息化建设显得愈来愈重要。本系统是从某大学的实际出发,针对学校的教学资料管理的现状,经过详细的系统调查,为学校“量体裁衣”开发出的一个基于Web的教学资料管理系统。其目的是改善高校工作运行效率和效果,提高高校资料的管理水平和整体素质,加快高校的信息化建设。

本管理系统是采用当今流行的C#开发而成。作为一种面向对象的编程语言,它对系统的设计起到了很大的帮助。另外作为开发环境的Asp.net是一种建立在通用语言上的程序框架,能够只用一台Web服务器来建立强大的Web应用程序。后台数据库使用的是SQL Server 2000,在此数据库中进行相关的操作直观、简单,为本系统的开发提供了很大的方便。

教学资料管理系统包括对教学日历,课程教学小结,教学时间分配,试卷分析以及毕业论文送审表的录入、修改、删除和审核。

分工:某某 需求分析………

二、需求分析 1.数据流图(DFD)

顶层图

1层数据流图

教学日历表

教学日历表

2层数据流图(同学们请把编号加上 如

3.1 3.2.。。。。。

2、数据字典

待开发软件的功能已经用层次方框图和顶层数据流图表示出来了,其中涉及到的静态数据及其数据字典如下:(这是另一个系统的数据字典,可参考格式)

产成品出库单(或产成品临时出库单)

等等等等等等等等等等等等等等等等等等等等等等等等等等等等滴滴答答 三、概要系统设计

(另一系统的)

本软件将辅助管理人员完成全公司产成品入库、出库、库存等方面的管理,可以进行查询、统计、打印报表等工作,提高公司对产成品的管理效率。在分析阶段,我们已经提出了系统的结构、顶层数据流图和数据字典。本节我们将对系统的硬件环境作简要介绍,并对待开发系统作概要设计。

1系统运行环境

根据目前市场上能够提供的硬件。我们设计系统的硬件环境如下:

● IBM PC286及以上档次微机、便携机、各种品牌兼容机,最佳档次为386以上微机。

● 1M或1M以上内存,最好具备扩展内存,最佳运行环境要求具备4M或4M以上扩展内存。 ● EGA、VGA、TVGA、所有SUPERVGA彩色显示器。 ● 20M以上硬盘。

● 任何光电鼠或机械鼠。 ● 通用打印机。

软件环境如下:

● MS(PC)DOS3.3或以上版本;

● 系统采用图文窗口数据库系统WinBase进行开发;

● UCDOS、NCDOS,最好采用WinBase自带的直接写屏汉字系统WBSDOS。

2模块总体结构

1.处理流程

(1)系统启动,进入身份验证。 (2)初始化系统,导入数据库。

(3)进入消息循环状态,通过事件驱动激活各模块,执行各任务。 (4)一任务执行完毕后重新进入消息循环状态。 (5)通过事件驱动退出系统。 2.系统总体结构和模块设计。

通过以上分析,我们进一步设计出了产成品管理系统的总体结构模块图(见图3)。

系统总体结构图

各模块设计如下:

系统模块结构图

各模块功能分配如下:

(1) 系统控制功能:初始化模块(M1)、关闭系统模块(M2)、系统功能模块(M3)。 (2) 数据维护功能:入库数据维护模块(M4.1)、出库数据维护模块(M4.2)。 (3) 数据归档功能:入库数据归档模块(M5.1)、出库数据归档模块(M5.2)。 (4) 查询统计功能:查询统计入库情况模块(M6.1)、查询统计出库情况模块(M6.2)。 (5) 打印功能:打印入库情况模块(M7.1)、打印出库情况模块(M7.2)、打印库存情况模块(M7.3)、打印月末库存情况模块(M7.4)。

(6)月末处理功能:月末处理模块(M8)。 (7) 密码管理功能:密码管理模块(M9)。 (8) 身份验证功能:身份验证模块(M10)。 (9) 帮助功能:帮助模块(M11)。

3接口设计

1.外部接口 (1) 用户界面

采用图形用户界面(GUI),包含菜单、按钮、对话框等元素。 (2) 软件接口

软件运行于MS-DOS3.3以上和UCDOS平台上。 (3) 硬件接口

运行于IBM PC386及兼容机以上。 2.内部接口

(1) 初始化模块(M1):系统初始时由操作系统调用,之后进入消息循环状态。

(2) 关闭系统模块(M2):由系统功能模块调用,之后退出系统。 (3) 系统功能模块(M3):接受各事件驱动消息,启动入库数据维护模块、入库数据归档模块等模块。

(4) 入库数据维护模块(M4.1):由相应事件驱动消息激活,完成入库数据维护功能,之后进入消息循环状态。

(5) 出库数据维护模块(M4.2):由相应事件驱动消息激活,完成出库数据维护功能,之后进入消息循环状态。

(6) 入库数据归档模块(M5.1):由相应事件驱动消息激活,完成入库数据归档功能,之后进入消息循环状态。

(7) 出库数据归档模块(M5.2):由相应事件驱动消息激活,完成出库数据归档功能,之后进入消息循环状态。

(8) 查询统计入库情况模块(M6.1):由相应事件驱动消息激活,完成查询统计入库情况功能,之后进入消息循环状态。

(9) 查询统计出库情况模块(M6.2):由相应事件驱动消息激活,完成查询统计出库情况功能,之后进入消息循环状态。

(10) 打印入库情况模块(M7.1):由相应事件驱动消息激活,完成打印入库情况功能,之后进入消息循环状态。

(11) 打印出库情况模块(M7.2):由相应事件驱动消息激活,完成打印出库情况功能,之后进入消息循环状态。

(12) 打印库存情况模块(M7.3):由相应事件驱动消息激活,完成打印库存情况功能,之后进入消息循环状态。

(13) 打印月末库存情况模块(M7.4):由相应事件驱动消息激活,完成打印月末库存情况功能,之后进入消息循环状态。

(14) 月末处理模块(M8):由相应事件驱动消息激活,完成月末处理功能,之后进入消息循环状态。 (15) 密码管理模块(M9):由系统功能模块调用,完成密码管理功能。 (16) 身份验证模块(M10):由初始化模块调用,完成身份验证功能。 (17) 帮助模块(M11):由相应事件驱动消息激活,完成帮助功能,之后进入消息循环状态。

5设计人机界面

1.采购员工作窗口

用户输入职工号,系统自动显示姓名、登录时间。

按“发布”按钮,到图书编辑窗口,创建类“新书目录”的对象,调用“新书目录”对象的 “更新” 操作,来发布新书,完成后,返回“新书目录”对象。对“新书目录”对象操作结束,返回采购员工作窗口。

按“检索”按钮,调用对象“书”的“查重”操作,调用对象“预选清单”的“检索”操作,调用对象“验收事件”的“检索”操作,检索结果显示在采购员工作窗口中的图书信息中。

按“订购”按钮,生成一张送交供货单位的订单,即创建一个“订单”对象,调用“数据编辑”对象的相关操作,并调用“订单”对象的操作“订购计价”,返回到采购员工作窗口。

2.验收员工作窗口

用户输入职工号,系统自动显示姓名、验收时间。

若到馆书籍来源属于订购方式,则输入订单号,按“验收”按钮,创建“验收事件”对象,调用“订单”对象的“核对”操作,对长期不到馆的书作相应处理,返回验收员工作窗口。

若到馆书籍来源方式为非订购方式,创建“验收事件”对象,录入到馆书籍信息。此时会发现,在设计的窗口上,还缺少让用户选择书籍来源方式的按钮,增设一个下拉列表框,选择后,就创建“验收事件”对象。

验收完毕,按“登记”按钮,调用“书”对象的“种类增删”操作。

查询图书到馆情况,按“检索”按钮,调用“验收事件”对象的“检索”操作。 3.供货单位管理窗口

显示供货单位详细信息,无论按“增加”按钮、“删除”按钮,还是“修改”按钮,都调用“数据编辑”对象的相关操作来实现。

4.读者窗口

根据读者的要求选择相应的操作。

按下“借书”按钮,显示借书操作窗口,列出书籍信息,读者选定书籍后,按下“选定”按钮,调用“读者”对象的“借书”操作。若有预约书籍可借,也要显示在借书操作窗口,并与其他书籍信息相区别。返回读者窗口。

按下“续借”按钮,显示续借操作窗口,列出读者借阅书籍信息,读者选定书籍后,按下“选定”按钮,调用“读者”对象的“借书”操作。返回读者窗口。

按下“预选”按钮,显示预选操作窗口,列出新书信息及馆藏书籍信息,读者选定书籍后,按下“选定”按钮,调用“读者”对象的“预选”操作,创建“预选清单”对象,返回读者窗口。

按下“预约”按钮,显示预约操作窗口,列出馆藏书籍信息,读者选定书籍后,按下“选定”按钮,调用“读者”对象的“预约”操作。返回读者窗口

四、数据库设计 1.概要模型设计

2.逻辑模型设计

五.详细设计 1 登陆模块

2

六、编码( 可省略)

编码就是将详细设计的程序流程图翻译成某种语言所写成的代码,同学们可以选择自己熟悉的编程语言来进行,VB6.0, Dephi6.0, PB7.0, C++Builder, VC++, C#, VB.Net等都可以。

七、测试和调试

现在测试登录模块,只有输入正确的用户名和密码,才能打开下一个窗体,如果用户名或密码有一个不对或两个都不对,则不能打开下一个窗体,提示用户不是一个合法用户。

假设正确的用户名和密码是:Bajao;Totti,因此可设计一组测试用例:

1)用户名 Bajao 密码 Totti

2)用户名 Bajao 密码= Totti

3)用户名= Bajao 密码 Totti

4)用户名= Bajao 密码= Totti

这一组测试可以检测出登录模块的编码是否满足功能要求。

调试就是依据测试发现的问题而修改程序代码,直到测试不再发现问题。

(仅供参考)

输入测试用例设计

● PersInfoExam 过程:

在 PersInfoExam 过程中,首先对用户的输入信息进行测试。客户机上的输入信息为旅客资料或帐单号,还包括一个定票/领票选项。输出为打印帐单或机票,和确认或出错信息。

在输入的测试数据中可分为有效输入类.无效输入类。

其中的错误种类有:

无效输入类

1.数据类型不匹配,PErrorType =T;否则=F;

姓名 string 旅行目的地 string

性别 string 旅行时间 date

工作单位 string (年/月/日 yy/mm/dd) 身份证号码 long int 定票/取票 boolean

2.数据超出规定范围PErrorRank =T; 否则=F;等等

性别只能是‘男’或‘女’;身份证号码按规定必须是13位旅 行时间必须在定票的当天过一天以后; 等等

有效输入类

1.当用户的输入只有旅客资料或帐单号时,则

● CheckNoticeExam过程:

在CheckNoticeExam 过程中,对在帐单和取票通知的信息界面中输入的各项信息进行初步检验。 无效输入类:

1.数据结构不匹配,CerrorType=T,否则=F;

帐单号 long int

姓名 string

身份证号码 long int

付款金额 money

航班号 string

取票截止日期 date

目的地 string

2.数据超出规定范围CErrorRank =T; 否则=F;

如帐单号不是规定的15位;金额为负;取票截止日期已过;等等

● PersInfoInput 过程:

将输入界面表单中的数据输入到Class PersInfo

Class PersInfo{ /* 伪码 */

String name= 姓名 ;

String sex= 性别;

String company= 工作单位;

Long int idcode= 身份证号码;

Date stime= 旅行时间;

(syear/smonth/stime=年/月/日) String denist= 目的地

Bool ocflag= 定票/取票

}

● CheckNoticeInput过程:

经检验无误后,将输入界面表单中的数据输入到Class CheckNotice

Class CheckNotic{

Long int cncode=帐单号

String name=姓名

Long int idcode=身份证号码

Money bill = 付款金额

String planecode= 航班号

Date dtime= 取票截止日期

String denist= 目的地

}

2 输出测试用例设计

● PersInfoExam 过程:

对在旅客信息界面中输入的各项信息进行初步检验。若发现错误,令

PErrorAppear=T,判断错误类型,并将相应的错误类型PErrorType或PerrorRank

作为参数,转入IErrorHandle过程。若未发现错误,转入PersInfoInput过程。 ● PersInfoInput 过程:

● CheckNoticeExam过程:

对在帐单和取票通知的信息界面中输入的各项信息进行初步检验。若发现错

误,令CErrorAppear=T,判断错误类型,并将相应的 错误类型CErrorType或

CErrorRank作为参数,转入IErrorHandle过程。若未发现错误,转入

CheckNoticeInput过程。

● ErrorHandle过程:

在PersInfoExam或CheckNoticeExam过程中若发现错误,就转入本过程,执行 相应的处理,并输出相应的出错信息。

If (PErrorType==T)

输出“您的个人信息可能输错了位置。请重试。”

If (PErrorRank==T)

输出“您的个人信息不适应规定范围。请重试。”

再转入旅客信息输入的界面中。

If (CErrorType==T)

输出“您的帐单信息可能输错了位置。请重试。”

If (CErrorRank==T)

输出“您的帐单信息不适应规定范围。请重试。”

再转入帐单和取票通知信息的输入界面。

● DBOperaCheck过程:

检验网络传输过来的数据。若是出错信息,转入OErrorHandle过程。否则转 入JudgeOrderOrCheck过程。

● CheckNoticeOutput过程:

将帐单和取票通知输出到界面1中。注意格式。

Long int cncode =帐单号;

String name= 姓名 ;

String sex= 性别;

String company= 工作单位;

Long int idcode= 身份证号码;

Date stime= 旅行时间;

( syear/smonth/stime=年/月/日) String denist= 目的地

Bool ocflag= 定票/取票

● TicketOutput过程:

将机票输出到界面2。注意格式。

Long int planecode=航班号;

Date/time stime=起飞时间;

String name=姓名;

Long int idcode=身份证号码;

Int seatcode = 座位号;

Money price= 票价;

八、项目总结

软件工程课程

综合实验

验 指 导

计算机学院 2011年9月

实 书

《软件工程》综合实验指导书

目录(Contents)

第一章 概述(Overview) ......................................................................... 1 第二章 实验内容(Experiments) .................................................................... 2 附录一:实验要求 ......................................................................................... 4 附录二:实验题目 ......................................................................................... 4 附录三:实验报告(Reports) .......................................................................... 7 附录四:设计范例 ......................................................................................... 9

第一章 概述(Overview)

一、实验目的:

软件工程实验是为计算机相关专业本科《软件工程》课程配套设置的,是《软件工程》课程讲授中一个重要的、不可或缺的实践环节。其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件总体设计、软件详细设计、软件测试等阶段的方法和技术,通过该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。

按该课程的特点,实验内容包括软件开发的两大方法学的专题训练,即结构化(生命周期学)的方法学和面向对象的方法学,通过对一个简单项目,要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项目的开发。主要设置三个实验项目,从项目需求分析,项目设计到编码测试,覆盖软件开发的整个过程,此外又引入我国国家《计算机开发规范》,以规范技术文档的书写标准,提高实验教学质量。 通过实验训练,达到如下目的:

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

二、面向专业:计算机科学与技术、信息管理、电子商务、软件设计 三、先修课程:一门计算机高级语言、数据库概论 四、实验学时数:10学时 五、实验环境

1.单机模式

操作系统: WindowsXP, Windows2000等 开发工具:自选

2.客户机/服务器模式(C/S)

操作系统: WindowsXP, Windows2000等

数据库管理系统:Access, SQL Server, Oracle8i等

开发工具:VB, Dephi6.0, PB, C++Builder, VC++, C#, VB.Net等

3.Web服务器模式(B/S)

操作系统: Windows2000 Server等

数据库管理系统:Access, SQL Server, Oracle8i等 开发工具: C#, ASP, JSP,.NET, Java 等

六、成绩考核

分实验报告和考勤两项来考核。书面(打印)文档连同实验报告要求在2011年11月1日前

上交。

第二章 实验内容(Experiments)

实验一:项目需求分析

1.实验目的:确定课题,合理分工,熟悉软件开发环境,培养团队精神。确定项

目的可实施性,在此基础上完成系统的逻辑功能模型的建立,使同学们掌握结构化数据流分析技术。

2.实验要求:根据各组选择的课题,实行项目经理制,各组推荐一名组长统一管理整个项目的实施过程,并合理调整资源和负责项目全局;

要求做到使用结构化数据流分析技术分析课题需求,写出详细的数据流图和数据字典,数据流图的基本处理的个数不得少与5个。

3.实验内容:学习软件开发小组的组织和管理,合理分工,将项目开发各阶段的任务明确,并熟悉相应的软件开发环境。采用不同的软件开发技术、进行软件系统需求分析,得出系统得数据流图,数据字典以及规格说明书。

4.实验步骤:

1.到相关单位进行需求分析。

2.综合利用Internet网和相关书籍整理并完善需求分析。 3.画出系统数据流图(分清系统是事务型还是加工型)。 4.得出系统数据字典。

5.思考题

1、项目开发首先要做的事是什么? 2、你认为怎样分工是最合理的?

3、需求分析在软件开发中真的有那么重要吗?

4、分析系统流程图,流程图和数据流图的区别和各自的特点。 5、怎样组织对该工作的评审?

实验二:项目设计

1.实验目的:在实验一基础上完成系统的体系结构的建立和系统详细设计,并给

出相应的规格说明书,通过实例使同学们掌握结构化程序设计的基本概念与技术。

2.实验要求:认真分析实验一的结果,给出系统合理的体系结构,描绘系统结构

图,并合理划分系统的各组成模块,最后给出系统的各部分设计规格说明书。要求做到对上一实验的软件需求进行软件结构设计,模块数不少于四个。然后再进行详细设计。

3.实验内容:功能结构图设计,软件处理流程设计,输出设计(主要指打印输出设计),存储文件格式设计(数据库结构设计),输入设计(主要指数据录入卡设计),代码设计,程序设计说明书

4.实验步骤:

1.首先进行总体设计(分清系统是事务型还是加工型)。 2.再进行详细设计。

5.思考题

1.系统设计和需求分析的关系是什么?两者必须先后关联吗? 2.怎样描绘系统的体系结构? 3.怎样绘制符合规范的流程图。 4.怎样组织对设计阶段工作的评审?

实验三:编码测试

1.实验目的:在实验二的基础上完成对系统的组装和测试,通过实例使同学们掌

握软件编码和测试的一般步骤。

2.实验要求:要求对上一实验所得详细设计结果进行编写程序并进行测试。 (1)能够正确运用软件测试的过程与方法,结合一个模拟课题,复习、巩固、软件工程中系统测试知识,提高软件测试的实践能力。

(2)熟悉单元测试、综合测试、确认测试、系统测试的方法,掌握测试用例的设计方法。

(3)树立正确的软件测试思想,培养分析问题、解决问题的能力,提高查询资料和撰写书面文件的能力,并掌握程序修改的常用技术。

3.实验内容:首先编写程序代码,然后正确运用软件测试技术和方法,完成系统的单元测试、综合测试、确认测试、系统测试的方法,掌握测试用例的设计方法,并给出测试报告。

4.实验步骤:

1.首先进行编码,并设计测试方案(分别采用白盒法和黑盒法)。 2.进行测试。

3.对于出错的程序进行修改。 4.并不断循环直至程序符合要求。 5.写出测试说明书。

5.思考题

1.怎样看待测试的重要性。 2.怎样选择测试的技术和方案。

3.比较逻辑测试和基本路径测试的不同和联系。 4.怎样组织对测试阶段工作的评审?

附录一:实验要求

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

1. 班级按项目小组进行分组,每组3-4人,题目自定或采用附录二中的题目。

2. 每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目,项目中的每项任务要落实到人且规定该任务的起止日期和时间

3.每个项目小组必须按照《软件工程实验指导书》附录三中给定的实验报告格式填写实验报告

4.软件开发的方法自定(结构化或面向对象的方法学)

附录二:实验题目

题目一:“教务管理系统之子系统——学院课程安排”

1.系统简介

每个学期的期中,学校教务处向各个学院发出下各学期的教学计划,包括课程名称、课程代码、课时、班级类别(本科、专科、成人教育、研究生)、班号等;学院教学主管人员根据教学任务和要求给出各个课程的相关限制(如:任课教师的职称、上课的班数、最高和最低周学时数等);任课教师自报本人授课计划,经所在教研室协调任可,将教学计划上交学院主管教学计划的人员,批准后上报学校教务处,最终由教务处给出下个学期全学院教师的教学任务书。

假设上述排课过程全部由人工操作,现要求为上述过程实现计算机自动处理过程。 2.限定条件 (1)每位教师的主讲课程门数不超过2门/学期:讲师以下职称的教师不能承担学院定主课的主讲任务。

(2)学院中层干部的主讲课时不能超过4学时/周。

(3本学期出现严重教学事故的教师不能承担下各学期的主讲任务。

(4)本系统的输入项至少包括:教务处布置的教学计划,学院教师自报的授课计划和学院定的有关授课限制条件。

(5)本系统的输出项至少包括:教务处最终下达全院教师的教学任务书和学院各个班

级下各学期的课程表(可以不含上课地点)。

题目二:“学校教材定购系统”

1.系统简介

本系统可以细化为两个子系统:销售系统和采购系统

销售系统的主要工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生可以到书库领书。

采购系统的主要工作过程为:若是教材脱销,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员。

以上功能要求在计算机上实现。 2.技术要求和限制条件

(1)当书库中的各种书籍数量发生变化(包括进书和出书)时,都应修改相关的书库记录,如库存表或进/出库表。

(2)在实现上述销售和采购的工作过程时,需考虑有关的合法性验证。 (3)系统的外部项至少包括:教师、学生和教材工作人员。

(4)系统的相关数据存储至少包括:购书表、库存表、缺书登记表、待购教材表、进库表和出库表。

题目三:“机票预定系统”

1.系统简介

航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。

2.技术要求和限制条件

(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。

(2)对于本系统还应补充一下功能: 1.旅客延误了取票时间的处理 2.航班取消后的处理

3.旅客临时更改航班的处理

(3)系统的外部输入项至少包括:旅客、旅行社和航空公司。

题目四:“学校内部工资管理系统”

1.系统简介

假设学校共有教职工约1000人,10个行政部门和8个系。每个月20日前各个部门(包

括系和部门)要将出勤情况上报人事处,23日前人事处将出勤工资、奖金及扣款清单送到财务处 。财务处于每个月月底将教职工的工资表做好并将数据送银行。每个月3日将工资条发给每个单位。若由员工调入或调出、校内调动、离退休变化,则由人事处通知相关部门和财务处。

2.技术要求和限制条件

(1)本系统的数据存储至少包括:工资表、部门汇总表、扣税款表、银行发放表等。 (2)除人事处、财务处外,其他职能部门和系名称可以简化表示。 (3)工资、奖金、扣款细节由学生自定义。

题目五:“实验室设备管理系统”

1.系统简介

每学年要对实验室设备使用情况进行统计、更新。其中:

(1)对于已彻底损坏的做报废处理,同时详细记录有关信息。

(2)对于由严重问题(故障)的要及时修理,并记录修理日期、设备名、编号、修理厂家、修理费用、责任人等。

(3)对于急需修改但又缺少的设备,需以“申请表”的形式送交上级领导请求批准购买。新设备购入后要立即进行设备登记(包括类别、设备名、编号、型号、规格、单价、数量、购置日期、生产厂家、保质期和经办人等信息),同时更新申请表的内容。

(4)随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段等查询。

2.技术要求及限制条件

(1)所有工作由专门人员负责完成,其他人不得任意使用。

(2)每件设备在做入库登记时均由系统按类别加自动顺序号编号,形成设备号;设备报废时要及时修改相应的设备记录,且有领导认可。

(3)本系统的数据存储至少包括:设备记录、修理记录、报废记录、申请购买记录。 (4)本系统的输入项至少包括:新设备信息、修理信息、申请购买信息、具体查询统计要求。

本系统的输出项至少包括:设备购买申请表、修理/报废设备资金统计表

附录三:实验报告(Reports)

实验题目:

实验一:项目需求分析

1.软件系统需求描述:

2.软件系统数据流图(由加工、数据流、文件、源点和终点四种元素组成):

1)顶层数据流图

2) 一层数据流图

3)二层数据流图

4)总数据流图

3.软件系统数据字典:

1.数据流条目

2.加工条目

3.文件条目

实验二:项目设计

1.软件系统模块结构图:

2.软件系统其中的3个模块的详细设计(画程序流程图):

实验三 数据库设计

1. 概要模型设计

2. 逻辑模型设计

实验四:编码测试

1.软件系统其中的2个模块的编码: 可省略

2.设计测试用例15个(白盒法10个,黑盒法5个):

最后 项目总结

附录四:设计范例

设计题目:开发基于Web的高校教学资料管理系统

软件工程综合实验报告

学号姓名(组长): 学号姓名: 学号姓名:学号姓名:班级:教师:

××××大学 计算机科学与技术学院

一、项目需求描述

利用C#.NET作为开发工具、SQL Server2000作为数据库开发一个基于WEB的高校教学资料网络管理系统。要求实现如下功能:

1.教学资料录入; 2.教学资料修改; 3.教学资料审核; 4.教学资料打印;

随着信息时代的到来,高校的信息化建设显得愈来愈重要。本系统是从某大学的实际出发,针对学校的教学资料管理的现状,经过详细的系统调查,为学校“量体裁衣”开发出的一个基于Web的教学资料管理系统。其目的是改善高校工作运行效率和效果,提高高校资料的管理水平和整体素质,加快高校的信息化建设。

本管理系统是采用当今流行的C#开发而成。作为一种面向对象的编程语言,它对系统的设计起到了很大的帮助。另外作为开发环境的Asp.net是一种建立在通用语言上的程序框架,能够只用一台Web服务器来建立强大的Web应用程序。后台数据库使用的是SQL Server 2000,在此数据库中进行相关的操作直观、简单,为本系统的开发提供了很大的方便。

教学资料管理系统包括对教学日历,课程教学小结,教学时间分配,试卷分析以及毕业论文送审表的录入、修改、删除和审核。

分工:某某 需求分析………

二、需求分析 1.数据流图(DFD)

顶层图

1层数据流图

教学日历表

教学日历表

2层数据流图(同学们请把编号加上 如

3.1 3.2.。。。。。

2、数据字典

待开发软件的功能已经用层次方框图和顶层数据流图表示出来了,其中涉及到的静态数据及其数据字典如下:(这是另一个系统的数据字典,可参考格式)

产成品出库单(或产成品临时出库单)

等等等等等等等等等等等等等等等等等等等等等等等等等等等等滴滴答答 三、概要系统设计

(另一系统的)

本软件将辅助管理人员完成全公司产成品入库、出库、库存等方面的管理,可以进行查询、统计、打印报表等工作,提高公司对产成品的管理效率。在分析阶段,我们已经提出了系统的结构、顶层数据流图和数据字典。本节我们将对系统的硬件环境作简要介绍,并对待开发系统作概要设计。

1系统运行环境

根据目前市场上能够提供的硬件。我们设计系统的硬件环境如下:

● IBM PC286及以上档次微机、便携机、各种品牌兼容机,最佳档次为386以上微机。

● 1M或1M以上内存,最好具备扩展内存,最佳运行环境要求具备4M或4M以上扩展内存。 ● EGA、VGA、TVGA、所有SUPERVGA彩色显示器。 ● 20M以上硬盘。

● 任何光电鼠或机械鼠。 ● 通用打印机。

软件环境如下:

● MS(PC)DOS3.3或以上版本;

● 系统采用图文窗口数据库系统WinBase进行开发;

● UCDOS、NCDOS,最好采用WinBase自带的直接写屏汉字系统WBSDOS。

2模块总体结构

1.处理流程

(1)系统启动,进入身份验证。 (2)初始化系统,导入数据库。

(3)进入消息循环状态,通过事件驱动激活各模块,执行各任务。 (4)一任务执行完毕后重新进入消息循环状态。 (5)通过事件驱动退出系统。 2.系统总体结构和模块设计。

通过以上分析,我们进一步设计出了产成品管理系统的总体结构模块图(见图3)。

系统总体结构图

各模块设计如下:

系统模块结构图

各模块功能分配如下:

(1) 系统控制功能:初始化模块(M1)、关闭系统模块(M2)、系统功能模块(M3)。 (2) 数据维护功能:入库数据维护模块(M4.1)、出库数据维护模块(M4.2)。 (3) 数据归档功能:入库数据归档模块(M5.1)、出库数据归档模块(M5.2)。 (4) 查询统计功能:查询统计入库情况模块(M6.1)、查询统计出库情况模块(M6.2)。 (5) 打印功能:打印入库情况模块(M7.1)、打印出库情况模块(M7.2)、打印库存情况模块(M7.3)、打印月末库存情况模块(M7.4)。

(6)月末处理功能:月末处理模块(M8)。 (7) 密码管理功能:密码管理模块(M9)。 (8) 身份验证功能:身份验证模块(M10)。 (9) 帮助功能:帮助模块(M11)。

3接口设计

1.外部接口 (1) 用户界面

采用图形用户界面(GUI),包含菜单、按钮、对话框等元素。 (2) 软件接口

软件运行于MS-DOS3.3以上和UCDOS平台上。 (3) 硬件接口

运行于IBM PC386及兼容机以上。 2.内部接口

(1) 初始化模块(M1):系统初始时由操作系统调用,之后进入消息循环状态。

(2) 关闭系统模块(M2):由系统功能模块调用,之后退出系统。 (3) 系统功能模块(M3):接受各事件驱动消息,启动入库数据维护模块、入库数据归档模块等模块。

(4) 入库数据维护模块(M4.1):由相应事件驱动消息激活,完成入库数据维护功能,之后进入消息循环状态。

(5) 出库数据维护模块(M4.2):由相应事件驱动消息激活,完成出库数据维护功能,之后进入消息循环状态。

(6) 入库数据归档模块(M5.1):由相应事件驱动消息激活,完成入库数据归档功能,之后进入消息循环状态。

(7) 出库数据归档模块(M5.2):由相应事件驱动消息激活,完成出库数据归档功能,之后进入消息循环状态。

(8) 查询统计入库情况模块(M6.1):由相应事件驱动消息激活,完成查询统计入库情况功能,之后进入消息循环状态。

(9) 查询统计出库情况模块(M6.2):由相应事件驱动消息激活,完成查询统计出库情况功能,之后进入消息循环状态。

(10) 打印入库情况模块(M7.1):由相应事件驱动消息激活,完成打印入库情况功能,之后进入消息循环状态。

(11) 打印出库情况模块(M7.2):由相应事件驱动消息激活,完成打印出库情况功能,之后进入消息循环状态。

(12) 打印库存情况模块(M7.3):由相应事件驱动消息激活,完成打印库存情况功能,之后进入消息循环状态。

(13) 打印月末库存情况模块(M7.4):由相应事件驱动消息激活,完成打印月末库存情况功能,之后进入消息循环状态。

(14) 月末处理模块(M8):由相应事件驱动消息激活,完成月末处理功能,之后进入消息循环状态。 (15) 密码管理模块(M9):由系统功能模块调用,完成密码管理功能。 (16) 身份验证模块(M10):由初始化模块调用,完成身份验证功能。 (17) 帮助模块(M11):由相应事件驱动消息激活,完成帮助功能,之后进入消息循环状态。

5设计人机界面

1.采购员工作窗口

用户输入职工号,系统自动显示姓名、登录时间。

按“发布”按钮,到图书编辑窗口,创建类“新书目录”的对象,调用“新书目录”对象的 “更新” 操作,来发布新书,完成后,返回“新书目录”对象。对“新书目录”对象操作结束,返回采购员工作窗口。

按“检索”按钮,调用对象“书”的“查重”操作,调用对象“预选清单”的“检索”操作,调用对象“验收事件”的“检索”操作,检索结果显示在采购员工作窗口中的图书信息中。

按“订购”按钮,生成一张送交供货单位的订单,即创建一个“订单”对象,调用“数据编辑”对象的相关操作,并调用“订单”对象的操作“订购计价”,返回到采购员工作窗口。

2.验收员工作窗口

用户输入职工号,系统自动显示姓名、验收时间。

若到馆书籍来源属于订购方式,则输入订单号,按“验收”按钮,创建“验收事件”对象,调用“订单”对象的“核对”操作,对长期不到馆的书作相应处理,返回验收员工作窗口。

若到馆书籍来源方式为非订购方式,创建“验收事件”对象,录入到馆书籍信息。此时会发现,在设计的窗口上,还缺少让用户选择书籍来源方式的按钮,增设一个下拉列表框,选择后,就创建“验收事件”对象。

验收完毕,按“登记”按钮,调用“书”对象的“种类增删”操作。

查询图书到馆情况,按“检索”按钮,调用“验收事件”对象的“检索”操作。 3.供货单位管理窗口

显示供货单位详细信息,无论按“增加”按钮、“删除”按钮,还是“修改”按钮,都调用“数据编辑”对象的相关操作来实现。

4.读者窗口

根据读者的要求选择相应的操作。

按下“借书”按钮,显示借书操作窗口,列出书籍信息,读者选定书籍后,按下“选定”按钮,调用“读者”对象的“借书”操作。若有预约书籍可借,也要显示在借书操作窗口,并与其他书籍信息相区别。返回读者窗口。

按下“续借”按钮,显示续借操作窗口,列出读者借阅书籍信息,读者选定书籍后,按下“选定”按钮,调用“读者”对象的“借书”操作。返回读者窗口。

按下“预选”按钮,显示预选操作窗口,列出新书信息及馆藏书籍信息,读者选定书籍后,按下“选定”按钮,调用“读者”对象的“预选”操作,创建“预选清单”对象,返回读者窗口。

按下“预约”按钮,显示预约操作窗口,列出馆藏书籍信息,读者选定书籍后,按下“选定”按钮,调用“读者”对象的“预约”操作。返回读者窗口

四、数据库设计 1.概要模型设计

2.逻辑模型设计

五.详细设计 1 登陆模块

2

六、编码( 可省略)

编码就是将详细设计的程序流程图翻译成某种语言所写成的代码,同学们可以选择自己熟悉的编程语言来进行,VB6.0, Dephi6.0, PB7.0, C++Builder, VC++, C#, VB.Net等都可以。

七、测试和调试

现在测试登录模块,只有输入正确的用户名和密码,才能打开下一个窗体,如果用户名或密码有一个不对或两个都不对,则不能打开下一个窗体,提示用户不是一个合法用户。

假设正确的用户名和密码是:Bajao;Totti,因此可设计一组测试用例:

1)用户名 Bajao 密码 Totti

2)用户名 Bajao 密码= Totti

3)用户名= Bajao 密码 Totti

4)用户名= Bajao 密码= Totti

这一组测试可以检测出登录模块的编码是否满足功能要求。

调试就是依据测试发现的问题而修改程序代码,直到测试不再发现问题。

(仅供参考)

输入测试用例设计

● PersInfoExam 过程:

在 PersInfoExam 过程中,首先对用户的输入信息进行测试。客户机上的输入信息为旅客资料或帐单号,还包括一个定票/领票选项。输出为打印帐单或机票,和确认或出错信息。

在输入的测试数据中可分为有效输入类.无效输入类。

其中的错误种类有:

无效输入类

1.数据类型不匹配,PErrorType =T;否则=F;

姓名 string 旅行目的地 string

性别 string 旅行时间 date

工作单位 string (年/月/日 yy/mm/dd) 身份证号码 long int 定票/取票 boolean

2.数据超出规定范围PErrorRank =T; 否则=F;等等

性别只能是‘男’或‘女’;身份证号码按规定必须是13位旅 行时间必须在定票的当天过一天以后; 等等

有效输入类

1.当用户的输入只有旅客资料或帐单号时,则

● CheckNoticeExam过程:

在CheckNoticeExam 过程中,对在帐单和取票通知的信息界面中输入的各项信息进行初步检验。 无效输入类:

1.数据结构不匹配,CerrorType=T,否则=F;

帐单号 long int

姓名 string

身份证号码 long int

付款金额 money

航班号 string

取票截止日期 date

目的地 string

2.数据超出规定范围CErrorRank =T; 否则=F;

如帐单号不是规定的15位;金额为负;取票截止日期已过;等等

● PersInfoInput 过程:

将输入界面表单中的数据输入到Class PersInfo

Class PersInfo{ /* 伪码 */

String name= 姓名 ;

String sex= 性别;

String company= 工作单位;

Long int idcode= 身份证号码;

Date stime= 旅行时间;

(syear/smonth/stime=年/月/日) String denist= 目的地

Bool ocflag= 定票/取票

}

● CheckNoticeInput过程:

经检验无误后,将输入界面表单中的数据输入到Class CheckNotice

Class CheckNotic{

Long int cncode=帐单号

String name=姓名

Long int idcode=身份证号码

Money bill = 付款金额

String planecode= 航班号

Date dtime= 取票截止日期

String denist= 目的地

}

2 输出测试用例设计

● PersInfoExam 过程:

对在旅客信息界面中输入的各项信息进行初步检验。若发现错误,令

PErrorAppear=T,判断错误类型,并将相应的错误类型PErrorType或PerrorRank

作为参数,转入IErrorHandle过程。若未发现错误,转入PersInfoInput过程。 ● PersInfoInput 过程:

● CheckNoticeExam过程:

对在帐单和取票通知的信息界面中输入的各项信息进行初步检验。若发现错

误,令CErrorAppear=T,判断错误类型,并将相应的 错误类型CErrorType或

CErrorRank作为参数,转入IErrorHandle过程。若未发现错误,转入

CheckNoticeInput过程。

● ErrorHandle过程:

在PersInfoExam或CheckNoticeExam过程中若发现错误,就转入本过程,执行 相应的处理,并输出相应的出错信息。

If (PErrorType==T)

输出“您的个人信息可能输错了位置。请重试。”

If (PErrorRank==T)

输出“您的个人信息不适应规定范围。请重试。”

再转入旅客信息输入的界面中。

If (CErrorType==T)

输出“您的帐单信息可能输错了位置。请重试。”

If (CErrorRank==T)

输出“您的帐单信息不适应规定范围。请重试。”

再转入帐单和取票通知信息的输入界面。

● DBOperaCheck过程:

检验网络传输过来的数据。若是出错信息,转入OErrorHandle过程。否则转 入JudgeOrderOrCheck过程。

● CheckNoticeOutput过程:

将帐单和取票通知输出到界面1中。注意格式。

Long int cncode =帐单号;

String name= 姓名 ;

String sex= 性别;

String company= 工作单位;

Long int idcode= 身份证号码;

Date stime= 旅行时间;

( syear/smonth/stime=年/月/日) String denist= 目的地

Bool ocflag= 定票/取票

● TicketOutput过程:

将机票输出到界面2。注意格式。

Long int planecode=航班号;

Date/time stime=起飞时间;

String name=姓名;

Long int idcode=身份证号码;

Int seatcode = 座位号;

Money price= 票价;

八、项目总结


    相关文章

    技术服务协议参考范本

    甲方: 乙方: 现有工程,甲方因施工现场项目管理人员经验不足,特委托乙方 对甲方的现场管理人员进行技术支持和指导.本工程(协议书)本着 公平.公正.诚实守信.协议双方自愿的原则,具体约定内容如下: 一. 工程名称: 二. 工程施工地点: 三 ...

    建筑工程毕业设计论文模板

    黑龙江林业职业技术学院 建筑工程技术毕业设计(论文)规范要求(试行) 一.一般格式和顺序 1.封面:(格式见封面范本) (1)题目:应能高度概括整个论文最重要的内容,具体.切题.不能太笼统,但要引人注目:题名力求简短, 严格控制在25字以内 ...

    校长任期目标责任书范本

      我校在过去几年里,以邓小平“三个面向”为指针,以培养“四有”人才为目标,从课程结构教学内容教学方法教学形式及师资队伍和校园文化建设等多方面入手,全面实施素质教育,并取得了一定的成效。为了更好地贯彻区教育人事制度改革精神,深化教育改革,推 ...

    水利水电工程施工招标文件范本的使用1

    水利水电工程施工 招标文件范本的使用 一.水利水电工程施工招标文件范本简介 1.水利水电工程施工招标的历史 我国招标历史沿革.1979年,我国一些建筑企业开始参加国际的招标投标活动.1980年10月17日,国务院在<关于开展和保护社会 ...

    教学工作目标责任书范本

      2011-2011学年度教学工作目标责任书   为使兴隆的教育教学工作更上一个台阶,使兴隆的教育质量成为一个闪亮的耀点,特制定《中江县兴隆镇中心学校2011-2011学年度教学工作目标责任书》,希望各学校根据目标责任书的内容和要求,认真 ...

    29.消防工程监理实施细则范本

    湖南电力建设监理咨询有限责任公司技术文件 消防工程监理实施细则范本 HECC-ZHGL-FB-HD-02-07-00 现行版本:A 2006年9月30日发布 湖南电力建设监理咨询有限责任公司 范本使用说明 本细则范本根据公司的要求编制,是对 ...

    施工劳务合同范本

    甲方: (以下简称甲方) 乙方: (以下简称乙方) 根据<中华人民共和国合同法>和<建筑工程承包合同条例>的有关精神,经甲乙双方协商,甲方同意将本项目的 工程的劳务承包给乙方,为明确双方权力与义务,特签订如下协议条款 ...

    本科毕业论文评阅人评语范本

    本科毕业论文评阅人评语范本 基于现场总线的液位控制实验系统设计: 该课题来源于生产实际需求,目的明确,中心突出,选题对生产实践有一定参考价值.课题调研资料准备充分,内容涉及现场总线,PID 控制,模糊控制几方面的知识.论文内容合理.图纸齐全 ...

    水土保持工程设计收费标准参考范本

    水土保持工程设计收费规定及计算表(初步设计.施工图设计阶段) 国家计委.建设部关于发布<工程勘察设计收费管理规定>的通知(计价格[2002]10号)收费 <工程勘察设计收费管理规定>依据 <工程设计收费标准&g ...