1、 本科实验报告本科实验报告 课程名称:软件工程导论 实验项目:机票预订系统 实验地点:专业班级:学生姓名:指导教师:年 月 日 1.实验目的和要求实验目的和要求 目的:为本实验课程做好各项准备工作,熟悉软件开发环境,熟悉电子资源的获取,了解学校内部工资系统的流程及其内容。本实验课程通过完整地实施软件生命周期各阶段的任务,让学生系统地学习到软件开发过程的主要理论、方法、技术、标准和规范,使他们具备基本的软件开发设计能力;通过软件工程中常用 CASE 工具和软件项目管理的实践,使他们具备运用各种工具完成项目设计和实施的基本技能;通过集体项目开发,培训学生的合作意识和团队精神,培养学生对技术文档的编
2、写能力。要求:确定分组成员,根据提供的课题需求,作出相应的可行性研究报告,需求分析,结构化设计等。结合具体的开发项目进行分析、设计。二、实验内容和原理二、实验内容和原理 1 班级按项目小组进行分组,每组不得超过 5 人。2 每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目,所有实验中都要采用同一个实验题目。项目开发的每项任务要落实到人且规定该任务的起止日期和时间。3 每个项目小组全体成员参加集体讨论需求分析,完成需求分析报告,修订并评审需求分析报告,确定系统的需求分析模型。4.项目总体设计小组每个成员根据第 3 步需求分析的结果对系统进行总体设计,并完成文档,提
3、交项目小组讨论。2.5.项目详细设计小组人员每人选择第 4 步的一个模块进行详细设计。6.项目小组全体成员选择第 4 步的一个模块编码实现。7.由需求分析人员对第 5 步的结果进行黑盒测试,设计人员进行白盒测试,并编写测试计划和测试结果报告。三、三、主要仪器设备主要仪器设备 计算机,相关软件开发工具和环境,浏览器 四、四、操作方法与实验步骤操作方法与实验步骤 小组情况小组情况 项目题目 :机票预订系统 项目成员 一、可行性分析报告一、可行性分析报告 1.1.引言引言 1.1 目的 为了方便旅客,航空公司拟开发一个飞机票预订系统。旅游公司把预订机票的旅客信息(姓名、年龄、工作单位、身份证号码、旅
4、游时间,旅游目的地等)输入系统,系统为旅客安排航班,打印出取票通知和账单,旅客在飞机起飞的三天内凭取票通知和账单交款取票,系统校对无误即可打印出飞机票给旅客。1.2 背景:开发项目软件名称:航空机票预订系统 项目任务提出者:民航以及国际旅游开发公司 项目开发者:开发小组(团队名称:五人行)用户:民航以及国际旅游开发公司 实现软件单位:国际旅游开发公司 项目与其他软件、系统的关系:本项目采用 b/s 模式,客户只需要一个浏览器就能登录系统,服务器采用 linux 系统,数据库采用 Oracle 10g 2 2 可行性研究的前提可行性研究的前提 2.1 要求:主要功能:为游客提供机票预订服务,方便
5、旅游局的售票工作,提高旅游局的服务质量和服务效率 性能要求:机场提供的信息必须能及时的反应在旅游局的工作平台上,售票系统的订单必须无差错的存储在机场的主服务器上,对服务器的数据必须进行及时正确地刷新。输出要求:数据完整,详实 输入要求:简捷,实时 安全与保密要求:服务器的管理员享有对机场航班信息库、机票信息库和订票信息库德管理与修改,售票只享有对订票信息库的部分修改(写入与读出)。完成期限:预计四个月 2.2 目标:“机票预定系统”的主要功能是帮助航空公司对乘客的信息进行统计,更新。并对自己的航班做出相应的调整,来达到最好的运输效果。其功能描述如下:(1)旅行社将乘客的信息传输到该系统,并在系
6、统中注册。(2)系统为乘客安排航班。(3)旅客交付了预定金后,系统印出取票通知和帐单给旅客(4)旅客在飞机起飞的前一天凭取票通知和帐单交款取票,系统核对无误即印出机票给旅客 (5)航空公司为随时掌握各航向飞机的乘载情况,系统定期进行查询统计,以便适当调整。(6)系统对旅客延误了取票时间的处理 (7)系统对班机取消后的处理 (8)旅客临时更改机票班次的处理 2.3 条件、假定和限制:建议软件使用寿命:四到五年(软件当然会根据市场环境和社会等一系列环境的不同做些必要的更新和维护)经费来源:旅游开发公司,民航 硬件条件:服务器 Linux,数据库服务器 Oracle,开发端客户机条件尽量高,cpu
7、至少要奔腾系列,内存至少要达到 1G,最好到 2G 运行环境:Linux 数据库:Oracle 投入运行最迟时间:四个月 2.4 进行可行性研究的方法:进行全面的市场调查,深入研究国内的经济环境、社会环境,通过小组会议进行多次研究与探讨并通过科学论证来规划整个系统的草图以及制定项目计划并按部就班的完成各阶段的任务。3 3 对现有系统的分析对现有系统的分析 此处的现有系统是指传统的人工办理订票事务的系统。传统的人工录入不仅工作效率低,可变性差而且容易因为人为的主观因素而导致各个环节出现不可预估的差错。分析现有系统的目的是为了进一步阐明建议中的开发系统或修改现有系统的必要性。3.1 数据流程和处理
8、流程 旅客先去航空公司的订票处输入订票信息,然后航空公司的工作人员登记旅客信息,并进行审核。之后工作人员根据旅客的订票信息查询相关航班信息,并将此信息反馈给旅客。若订票成功旅客则交付预定金,工作人员打印单据给旅客,在飞机起飞的前一天,旅客凭单据及本人身份证明拿机票。若订票不成功,则旅客可更改航班或放弃订票 3.2 工作负荷 现有系统使航空公司的工作人员需 24 小时轮班工作,还需对大量的旅客信息进行登记统计,大大增加了工作时间也降低了工作效率。3.3 费用支出 现有的系统需支付工作人员工资以及纸张费、打印费等费用 3.4 人员 现有系统需大量工作人员,如:旅客信息登记人员,有效性审查人员、会计
9、、出纳、服务人员、保安人员等等。3.5 设备 微机、打印机、刷卡机、柜员机、柜台等。3.6 局限性 现有系统在众多旅客订票时处理时间较长,也不能及时向旅客反馈航班信息。4 4 所建议的系统所建议的系统 4.1 对所建议的系统的说明 该系统是一个自动化系统,能方便快捷的为旅客订票,并能及时向旅客反馈航班信息,使旅客能及时作出更改。4.2 数据流程和处理流程 旅客能在通过互联网登录到系统,输入自己的信息,并选择所需的航班,该系统就反馈出该航班信息,旅客根据此信息来确定自己是否已预订机票;若已预订,则通过网上银行交付预定金,该系统打印出单据,旅客在飞机起飞的前一天凭单据去航空公司交付余款金额,并领取
10、机票。若无预订,则旅客可更改航班。4.3 改进之处 若旅客想退票,则需要制定一个退票系统,使得该系统更加的完备。4.4 影响 该系统的开发需得到航空公司以及政府和旅客的大力支持,在开发完成后航空公司需供应该系统所需的设备。4.5 局限性 该系统在取票时需旅客出示身份证明,若旅客由于身份证丢失等原因而不能证明自己的身份,则不能为旅客办理取票手续,从而为旅客的出行带来了诸多不便。5 5 技术技术可行性可行性 处理流程和数据流程 6 6 经济可行性经济可行性 6.1 支出:终端 pc 机 6 到 8 台、一些网络必须设备、Linux 服务器、辅助设施、开发人员工资、服务器端管理人员培训费、数据库服务
11、器、其他一些费用 6.2 效益:初期收益:网站刚刚推出,收益是零 长期收益:系统大大提高了售票的售票效率 当网站推出市场之后,能收取一定的广告费用,经过严密的估算,长期收益大于 500 万 通用的机票预订系统对于快速处理旅客的订票请求可以起到事半功倍的效果。它能大大较少投资成本,使企业和个人不需要通过繁琐主力以及专业技术就可以轻松应对旅客订票、变更机票等各种请求。与此同时还可以减少大量的人力物力资源、减少出错的几率,并能使旅客可以方便快捷的预订机票和更改机票,降低了大量的中间等待过程所耗费的时间。一次性支出包括系统设计、开发费用等。非一次性支出包括系统维护费用等。收益需实现飞机票预订自动化,减
12、少专门人员的管理费用、办公设备购买费用和维修费用,极大的提高办公效率。6.3 投资回收周期 预期二到三年 系 统 管理员 事务 航 班 信 息的更新 服务器终端显示数据 产生报表 售票员 查询请求 数据库 产生报表 客户机终端显示数据 售票员 表单申请 产生报表 客户机终端显示数据 售票员 机票核对事务 在客户端打印机票和帐 产生报表及 帐单 7 7 法律法律可行性可行性 法律方面的可行性:所建议系统的研制和开发将不会侵害他人、集体、国家的利益,不会违反相关的国家政策和法律。操作方面的可行性:本系统的研制和开发充分考虑了软件的人性化,方便用户傻瓜式的直接使用,无需用户具备相应的专业知识,并充分
13、保证的用户信息的私密性。机票预订系统需求规格说明书机票预订系统需求规格说明书 此部分由李杰、李海鹏、刘世杰共同完成此部分由李杰、李海鹏、刘世杰共同完成 一一 目的目的 需求分析说明书提供用户与开发人员对开发软件的共同理解,使用户与开发单位就该系统的功能定义、环境需求达成共识,是今后各阶段设计工作的基础和依据,也是本阶段评审和测试阶段确认验收的依据。明确机票预订系统的软件需求,以便安排项目规划与进度,组织软件开发与测试,撰写本文档。二二 任任务务 功能分析图 机票预订系统实现后,能够运行于 Internet 环境,提供远程机票预订功能,包括远程航班信息查询,机票预订与确认等;使用机票预订系统可使
14、机票订购过程简单化、电子化、数字化,节省常规过程所不必要的资源浪费。提高服务效率。降低售票服务中的错误发生率,减少信息交流的繁琐过程及其带来的开销。2.数据流图 数据流图是全面描述系统逻辑模型的工具,它抽象概括地把系统中各种业务处理过程联系起来。在画“机票预订系统”的数据流图时,首先要画出整个顶层图,以保证对整个系统的概况有个整体了解,然后把顶层图中的细节用下一层次的数据流程图来表示,按照由粗到细、逐层细化的原则对系统的各个模块进行深入的分析。本系统的数据流图如下:1),旅客订票数据流图 2),旅客取票数据流图 3)票务数据流图 3.数据字典:数据字典是软件分析过程中对数据的描述,是数据流图的
15、必不可少的辅助资料。数据字典的定义和数据流图是同时进行的,每当完成一张数据流图时,都需要对该数据流图中的成分进行完整的定义,数据字典是需求分析阶段一个重要的工具,通过在数据字典中建立一组严密一致的数据定义可以帮助软件分析人员和用户之间交流,同时也有助于软件人员之间的交流,容易达到对数据的统一认识。本系统的数据字典如下:(1)数据流名称:旅客信息 简 述:订票旅客基本信息及订票要求 数据流来源:旅客确定订票后,由订票管理人员编码整理后,输入计算机 数据流去向:加工 1 安排航班,该加工将录入的数据存入数据库(订票基本信息表)数据项组成:身份证号+姓名+性别+工作单位+旅行日期+旅行时间+旅行目的
16、地+联系方式(2)数据流名称:订票信息 简 述:航班安排结果 数据流来源:旅客信息和航班信息 数据流去向:加工 2,打印通知和账单 数据项组成:身份证号+姓名+性别+班次+航班起飞时间+航班到达时间+航班目的地+票价(3)数据流名称:航班信息 简 述:通知单 数据流来源:加工 1.1 航班管理 数据流去向:加工 1.2 安排 数据项组成:航班日期+航班起飞时间+航班到达时间+航班目的地+班次+票价+票余量(4)数据流名称:取票通知和账单信息 简 述:返回给旅客的航班安排结果及旅 客取票时用来核对的凭证 数据流来源:加工 1.2 打印取票通知和账单 数据流去向:加工 2.1 核对订票信息 数据项
17、组成:身份证号+姓名+性别+班次+航班日期+航班时间+航班目的地+票价(5)数据流名称:订票信息核对正确 简 述:将旅客的取票通知和账单与系统中的订票信息核对,二者一致产生的信息 数据流来源:加工 2.1 核对订票信息 数据流去向:加工 2.2 收费 数据项组成:身份证号+姓名+性别+班次+航班日期+航班起飞时间+航班目的地+票价(6)数据流名称:收费信息 简 述:对订票信息核对正确的旅客收费产生的信息 数据流来源:加工 2.2 收费 数据流去向:加工 2.3 打印机票 数据项组成:身份证号+姓名+性别+班次+航班日期+航班起飞时间+航班目的地+票价 加工条目(1)加 工 名:安排航班 处理逻
18、辑编号:1.1 处理逻辑:接收旅客信息的录入,并检查有无错误,如果没有错误,将数据存入订票信息表,并在航班信息表里查找符合旅客订票信息的相应航班,生成订票信息 激发条件:接收到旅客信息时 输 入:旅客信息 输 出:订票信息(2)加 工 名:打印通知和账单 编 号:1.2 处理逻辑:由生成的订票信息,打印取票通知和账单 激发条件:接收到已经安排了航班的订票信息时 输 入:订票信息 输 出:通知和账单信息(3)加 工 名:核对机票信息 编 号:2.1 处理逻辑:对旅客订票信息进行核对 激发条件:接收到旅客的取票通知和账单 输 入:无 输 出:“订票信息正确”的信息(4)加 工 名:收费 编 号:2
19、.2 处理逻辑:对订票信息核对正确的旅客进行收费,收费后生成收费信息 激发条件:接收到订票信息核对正确的信息并收到旅客交费要求 输 入:交费信息 输 出:打印机票信息(5)加 工 名:打印机票 编 号:2.3 处理逻辑:由打印机票信息打印机票 激发条件:收到打印机票的信息 输 入:无 输 出:机票 数据存储条目(1)数据存储编号:D1 数据存储名称:订票信息表 简 述:存储旅客详细信息及订票要求 组 成:旅客身份证号+姓名+性别+工作单位+航班起飞时间+航班到达时间+旅行目的地 关 键 字:旅客身份证号 组织方式:索引文件,以旅客身份证号为关键字 数据项条目(1)数据项名称:身份证号 简 述:
20、表明每个人身份的证件号 组 成:籍贯代码+出生年月日+其他代码码 类 型:字符 长 度:20 位 取值范围:数字 0-9,字母 a-x(2)数据项名称:姓名 简 述:旅客姓名 组 成:姓名 类 型:字符 长 度:10 位 取值范围:汉字或字母(3)数据项名称:性别 简 述:旅客性别 组 成:男或女 类 型:字符 长 度:2 位 取值范围:男或女(4)数据项名称:联系方式 简 述:联系电话 组 成:数字 类 型:字符 长 度:11 位 取值范围:数字 0-9(5)数据项名称:班次 简 述:航班班次 组 成:航班类型+航班号码 类 型:字符 长 度:10 位 取值范围:字母+数字(6)数据项名称:
21、航班日期 简 述:航班起飞的日期 组 成:年月日 类 型:日期 长 度:10 位 取值范围:正确的年月日(7)数据项名称:航班起飞时间 简 述:航班起飞的时间 组 成:时分 类 型:时间 长 度:20 位 取值范围:正确的时分(8)数据项名称:航班到达时间 简 述:航班到达的时间 组 成:年月日+时分秒 类 型:字符 长 度:20 位 取值范围:正确的年月日和时分秒(9)数据项名称:航班目的地 简 述:航班飞往的目的地 组 成:国家或地区+机场 类 型:字符 长 度:10 位 取值范围:汉字或英文(10)数据项名称:票价 简 述:相应航班对应机票的价格 组 成:数字+货币单位 类 型:浮点型
22、长 度:8 位 取值范围:数字 0-9(11)数据项名称:票余量 简 述:机票剩余数量 组 成:数字 类 型:整型 长 度:4 位 取值范围:数字 0-9 总体设计总体设计 1 1.1.1 需求规定需求规定 航空公司为方便旅客,需开发一个机票预定系统。为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。要求系统能有效、快速、安全、可靠
23、和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。1 1.2.2 运行环境运行环境 系统将由两部分程序组成,安装在各旅行社客户机上的客户程序及航空公司内的数据服务器程序。根据调研得知所有旅行社的计算机配置均在 Pentium 133 级别以上,客户程序应能够在 Pentium 133 级别以上,Win NT 环境下运行。1 1.3.3 基本设计概念和处理流程基本设计概念和处理流程 航空公司为方便旅客,需开发一个机票预定系统。为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机
24、票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。1 1.4.4 结构结构 下面以结构图来描述机票预定系统的软件总体结构。框内注明了模块的名字;方框之间的直线表示模块的调用关系。2 2 接口设计接口设计 2 2.1.1 用户接口用户接口 本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:输入界面、输出界面)。用户对程
25、序的维护,最好要有备份。2 2.2.2 外部接口外部接口 3.2.1 3.2.1 用户界面用户界面 在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。外观上也要做到合理化。总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用 2 2.3.3 内部接口内部接口 内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。3 3 运行设计运行设计
26、 3 3.1.1 运行模块组合运行模块组合 客户机程序在有输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化。在接收数据模块得到充分的数据时,将调用网络传输模块,将数据通过网络送到服务器,并等待接收服务器返回的信息。接收到返回信息后随即调用数据输出模块,对信息进行处理,产生相应的输出。服务器程序的接收网络数据模块必须始终处于活动状态。接收到数据后,调用数据处理/查询模块对数据库进行访问,完成后调用网络发送模块,将信息返回客户机。3 3.2.2 运行控制运行控制 运行控制将严格按照各模块间函数调用关系来实现。在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径
27、。在网络传方面,客户机在发送数据后,将等待服务器的确认收到信号,收到后,再次等待服务器发送回答数据,然后对数据进行确认。服务器在接到数据后发送确认信号,在对数据处理、访问数据库后,将返回信息送回客户机,并等待确认。3 3.3.3 运行时间运行时间 在软体的需求分析中,对运行时间的要求为必须对作出的操作有较快的反应。网络硬件对运行时间有最大的影响,所以建议采用高速ATM 网络。其次硬件对本系统的速度影响将会大于软件的影响,建议使用 Pentium III 处理器。硬件对本系统的速度影响将会大于软件的影响。4 4 系统数据结构设计系统数据结构设计 4 4.1.1 逻辑结构设计要点逻辑结构设计要点
28、passager表 乘客ID 姓名 性别 工作单位 旅行时间 旅行目的地 说明:乘客表保存了所有定票旅客的个人信息和旅行信息。主键为乘客ID。Plane表 航班号 目的地 座位数 票价 起飞时间 剩余座位数 座位号分配 说明:航班班次表保存了所有从本地起飞的班机信息,它的主键为航班号。在定位前先查寻座位空数,在定位后将修改剩余座位号。Ticket表 机票号 取票单号 座位号 说明:机票表里存储了有关机票的信息。主键为机票号。Getticket表:取票单号 乘客ID 航班号 起飞时间 订票数量 说明:取票表里存储的是有关取票的核对信息和要取机票有关的信息。4 4.2.2 物理结构设计要点物理结构
29、设计要点 物理数据结构设计主要是设计数据在模块中的表示形式。数据在模块中都是以结构的方式表示。旅客信息 通知单信息 5 系统出错处理设计 1旅客姓名 2旅客性别 3身份证号码 4工作单位 1 帐单号 2 取票通知单号 3 旅客姓名 4 身份证号码 5 航班号 6 起飞时间 7 目的地 5 5.1.1 出错信息出错信息 程序在运行时主要会出现两种错误:1、由于输入信息,或无法满足要求时产生的错误,称为软错误。2、由于其他问题,如网络传输超时等,产生的问题,称为硬错误。对于软错误,须在定票/领票操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中
30、。对与硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置。返回输入阶段。5 5.2.2 补救措施补救措施 所有的客户机及服务器都必须安装不间断电源以防止停电或电压不稳造成的数据丢失的损失。在网络传输方面,可考虑建立一条成本较低的后备网络,以保证当主网络断路时数据的通信。在硬件方面要选择较可靠、稳定的服务器机种,保证系统运行时的可靠性。5 5.3.3 系统维护设计系统维护设计 维护方面主要为对服务器上的数据库数据进行维护。可使用 SQL SERVER 的数据库维护功能机制。例如,定期为数据库进行 Backup,维护管理数据库死锁问题和维护数据库内数据的一致性等 四四 详细设计详细设计规
31、划规划 1 1引言引言 1.11.1 编写目的编写目的:在本阶段中,我们对在本阶段中对系统所做的所有详细设计进行说明:确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的 程序语言书写的程序。主要的工作有:根据前阶段描述的数据、功能、运行、性能需求,及处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等),解决如何 1接受:旅客信息及取票通知和账单;2输出:取票通知和账单及机票;3网络输出,输入;4分辨信息的种类并采取相应的处理步骤;5判断信息的正误并采取相应的处理步骤;6进行数
32、据库的查询、修改工作;7接受并判断错误,输出相应的出错消息。1.21.2 文中定义文中定义 数据库管理系统(DBMS)。SQL:一种用于访问查询数据库的语言 事务流:数据进入模块后可能有多种路径进行处理。主键:数据库表中的关键域。值互不相同。外部主键:数据库表中与其他表主键关联的域。此部分由此部分由*完成完成 :2.2.系统结构设计:系统结构设计:2.12.1 系统结构图系统结构图 3.3.模块设计模块设计 机票预订系统 服务器端 客户端 密码管理 用户管理 系统管理 数据 库 管理 订票信息管理 航班信息管理 客户信息删除 客户信息添加 客户信息管理 客户信息修改 查询模块 用户注册模块 用
33、户登陆模块 航班信息修改 航班信息添加 订票业务模块 订票信息查询 航班信息查询 退票业务模块 此部分由此部分由*完成完成 3.1 3.1 登陆登陆模块模块 1.模块描述 本模块的主要功能,是根据旅行社提供的预定机票的旅客信息,由操作员输入旅客信息,同时保存在数据库。2.功能 主要是记录预定机票的旅客信息,是系统产生取票通知和账单的源数据。开始 进入登陆界面 输 入 用户名、密码 是否为注册用户?首页 结束 进入注册界面 否 输 入 旅客信息 是否为注册用户?注册成功 是 否 是 3.性能 操作员输入预定机票的旅客信息后,数据库立即保存记录,并通过查询可以检测保存是否成功。4.输入项 客户定票
34、信息:任意长度字符串,包括数字、汉字和英文字母。5.输出项 有效用户和无效用户。此部分由此部分由*完成完成 3.23.2 机票预订机票预订模块模块 1.模块描述 本模块的主要功能,是根据操作员在输入数据模块中输入的预定机票的旅客信息由系统产生的相关取票通知和账单。2.功能 系统地产生与客户信息相对应的取票通知和账单。3.性能 操作员输入客户信息后,立即产生相对应的取票通知和账单,如果数据库中没有预定的票,则提示无票,说明原因。4.输入项 客户定票信息:任意长度字符串,包括数字和汉字和英文字母。5.输出项 开始 进入订票界面 输 入 起飞时间、目的地 订 票 数 座位数?显示航班 信息库 结束
35、否 是 进入表单申请界面 打 印 错误信息 取票通知和账单。(1)取票通知 姓名:任意长度字符串。班次:8 位长度字符串(班次=出发地+目的地+序列号)。日期:date 类型。(2)账单 姓名:任意长度字符串。账单号:账单号=日期+序列号,序列号:00000009999900。金额:任意位数字。日期:date 类型。此部分由此部分由*完成完成 4 4查询模块查询模块 (1)航班信息的查询部分;(2)用户信息查询部分。5 5数据库设计数据库设计 首先我们新建一个数据库 flight,其中包含了 4 张表:预定信息表、航班班次表、旅客资料表、机位信息表。数据库逻辑设计:(1)旅客信息表 passe
36、nger information。旅客信息表是用来旅客信息的表。表 passenger inf 的结构如表 41 所示:表 4-1passenger information的结构 编号 字段名称 数据结构 说明 1 Pname Varchar 10 旅客姓名 2 Psex Varchar 2 旅客性别 3 Pid Varchar 10 身份证号码 4 Pjop Varchar 30 工作单位 5 Fdetminnation Varchar 50 目的地 6 Ftime Date/Time 起飞时间 (2)航班信息表 Flight information 航班信息表是用来记录航班信息。表 Fli
37、ght inf 的结构如表 42 所示:表 4-2 Flight inf的结构 编号 字段名称 数据结构 说明 1 Fnum Varchar10 航班号 2 Fdetminnation Varchar 50 目的地 3 Ftime Date/Time 起飞时间 4 Fseat int 座位空数 航班班次表保存了所有从本地起飞的班机信息,它的主键为航班号。在定位前先查寻座位空数,在定位后将修改座位空数。(4)机票信息表 ticket information 机票信息表用来记录机票特征的表。表 ticket inf.构如表 44 所示:表 4-4 ticket inf的结构 编号 字段名称 数据结
38、构 说明 1 Fnum Varchar10 航班号 2 Fdeterminnation Varchar 50 目的地 3 Tprice Varchar10 价格 4 Pname Varchar 10 旅客姓名 5 Ftime Date/Time 起飞时间 6 Pid Varchar 10 身份证号码 (4)帐单信息表 Bill inf 帐单信息表用来记录帐单基本属性特征的表。表 Bill inf 的结构如表 44 所示:表 4-4 Bill inf 的结构 编号 字段名称 数据结构 说明 1 Bnum Varchar 20 账单号 2 Pname Varchar 10 旅客姓名 3 Pid V
39、archar 10 身份证号码 4 Fnum Varchar10 航班号 5 Ftime Date/Time 起飞时间 账单信息/旅客资料表保存已定位的旅客信息资料,它的主键为旅客身份证号,外部主键为账单号。主要用于领票时将旅客信息一同返回。机票预定系统的逻辑模型如下图所示:1 1 1 N 起飞时间 姓名 性别 目的地 身份证号码 工作单位 取票通知 订票旅客清单 售出机票信息 价格 帐单 航班号 可售机票 起飞时间 航班机票信息 航空公司 旅客 旅行社 合适航班机票 订票 五五 编码编码 此部分由此部分由*完成完成 1 11 1 登录模块登录模块 (1)旅行社登陆 登陆成功以后可以进行旅客信
40、息的输入,机票的预订与退订等活动。登陆代码如下:string ls_user,ls_password ls_user=sle_1.text select 密码 into:ls_password from lxs where 旅行社名称=:ls_user;if sle_1.text=then messagebox(,不能为空!)return end if if sle_2.text=ls_password then open(w_main)close(parent)else messagebox(,错误!)end if 1)管理员登陆 在这一登陆模式中登陆者为管理员。登陆成功后管理员可进行航班的
41、时间的修改以及航班的开通和取消操作。具体代码如下:string ls_user,ls_password ls_user=sle_1.text select 管理员名称 into:ls_password from gly where 管理员密码=:ls_user;if sle_1.text=then messagebox(,不能为空!)return end if if sle_2.text=ls_password then open(w_hbcz)close(parent)else messagebox(,错误!)end if 此部分由此部分由*完成完成 1 12 2 查询模块查询模块 (1)航
42、班信息的查询部分:其中按钮控件的代码如下:string tj If sle_1.text=Then Messagebox(,查询信息不能为空!)else tj=ddlb_1.text+=+sle_1.text+dw_1.setfilter(tj)filter(dw_1)dw_1.retrieve()界面代码为:dw_1.settransobject(sqlca)dw_1.retrieve(1)connect using sqlca;End if (2)用户信息查询部分:其中按钮控件的代码如下:string tj If sle_1.text=Then Messagebox(,查询信息不能为空!)
43、else tj=ddlb_1.text+=+sle_1.text+dw_1.setfilter(tj)filter(dw_1)dw_1.retrieve()界面代码为:dw_1.settransobject(sqlca)dw_1.retrieve(1)connect using sqlca;End if(3)旅客预订信息查询部分:在这一界面中基本上是通过数据窗口控件来实现的,通过创建数据窗口控件以后,再将其与数据窗口连接起来,再在主界面加入以下代码:dw_1.settransobject(sqlca)dw_1.retrieve(1)此部分由此部分由*完成完成 1 13 3 机票预订模块机票预订
44、模块 旅行社可以通过主界面进入以上界面。在这一界面中旅行社可以进行机票的预订以及退订操作。其部分实现如下:主界面代码:dw_1.settransobject(sqlca)dw_1.retrieve(1)订票代码:insert lkyd(姓名,目的地,起飞时间)values(:sle_1.text,:sle_2.text,:sle_3.text,)using sqlca;update hbxx set hbxx.座位数=hbxx.座位数-1 using sqlca;commit;退票代码:delete from lkyd where lkyd.姓名=:sle_1.text using sqlca
45、;update hbxx set hbxx.座位数=hbxx.座位数+1 using sqlca;commit;保存代码:dw_1.update()dw_1.retrieve()返回上一级菜单代码:close(parent)open(w_main)14 其它模块(1)旅行社登陆成功以后可进行的操作:部分代码如下:w_main 的 open 事件:dw_1.settransobject(sqlca)dw_1.retrieve()(2)如果选择管理员登陆,则可进入进行操作:代码如下:if sle_1.text=or sle_2.text=then messagebox(,输入信息有误!请重新输入!
46、)else update hbxx set hbxx.起飞时间=:sle_2.text where hbxx.航班号=:sle_1.text using sqlca;commit;messagebox(,修改成功!)messagebox(,请通知旅行社,航班时间已修改)end if 而取消以及添加新航班操作则是连接下面两个窗口。(3)取消航班的操作:在数据窗口中将 footer 下拉 后再添加两按钮在 actiong 中分别选择 取消航班按钮选择 deleterow(10)打印航班按钮选择print(15)确认按钮选择 update(13)(4)开通新航班的操作:在数据窗口中将 footer
47、下拉后再添加两按钮在 actiong 中分别选择 开通新航班按钮选择 appendrow(11)确认开通按钮选择 update(13)四、测试报告四、测试报告 1 1、概述、概述 1.1 项目简介 机票预定系统;为方便旅客,航空公司拟开发一个机票预定系统。旅客可向该系统查询航班情况(按目的地、起飞时间、航班班次等)。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入该系统,系统为旅客安排航班,打印取票通知和帐单,旅客在收到取票通知和帐单后可交费并于飞机起飞前 24 小时凭取票通知和交款单经系统校对无误后打印机票给旅客。旅客也可向系统提出退票要求,系统针对
48、具体情况计算手续费后进行相应退票处理。1.2 术语定义 将该测试报告中的术语、缩写进行定义,包括用户应用领域与计算机领域的术语与缩写等。1.3 参考资料 说明该测试报告使用的参考资料,如:1 需求规格说明书 2 设计规格说明书 2 2、计划、计划 2.1 测试方案 测试方案是测试阶段的关键技术问题。为了提高测试效率降低测试成本,本测 试方案采用黑盒法设计基本的测试方案,再用白盒法补充一些方案。在黑盒法测试 方案中,采用等价划分技术,把所有可能的输入数据(有效的和无效的)划分成几 等价类,其划分类在以下的输入中再详述。2.2 测试项目 客户机接受信息模块测试 客户机输出信息模块测试 网络接受和发
49、送模块结构测试 服务器模块(包括数据库)测试 各模块之间的接口测试 系统测试 2.3 测试准备 在测试前,与各模块的主要负责人共同协商讨论,以概要设计说明书.详细设 计说明书作为总的提纲,选择合适的输入输出数据,并加以意义列举说明。2.4 测试机构及人员 测试机构由 小组工作组组成,人员有软件开发小组全体人员。3 3、步骤及操作、步骤及操作 在测试过程中,首先需要对各子单元过程进行测试。各子单元过程的测试必须先在程序设计员调试并编译通过后才能进行。在各子单元过程测试完毕后,再对各模块(包括各子单元过程之间的接口)进行测试,处理好各模块之间的接口,最后对系统进行测试和维护。其操作过程如下:1在客
50、户机接受信息模块过程中,先对各子单元过程分别进行测试,然后根据白盒法按照详细设计说明书中的流程图对其进行跟踪测试。2同样,在客户机输出信息模块 网络接受和发送模块结构和服务器模块(包括数据库)过程中先对各子单元过程分别进行测试,然后根据白盒法按照详细设计说明书中的流程图对其进行跟踪测试。,然后,根据各模块之间的各种关系,对其接口进行测试。在系统测试中,要注意对各种意外情况(列如断电硬盘损坏等)加以 处理,对数据库要注意其安全性可靠性健壮性效率。网络传输更 要注意其安全性。4.4.测试结论测试结论 当测试完成之后,测试人员应对本次测试做出结论。格式如下:测试日期:测试地点:测试环境:列出系统的强