航空售票管理系统.doc_第1页
航空售票管理系统.doc_第2页
航空售票管理系统.doc_第3页
航空售票管理系统.doc_第4页
航空售票管理系统.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要伴随着经济的不断发展,必然带动交通业和旅游业务的不断扩大, 特别是航空售票和订票的信息管理日异复杂, 传统的售票方式已经难以满足快节奏, 高效率的现代生活需求,这就要求航空公司要有一套好的售票数据库系统。一个正常营运的航空公司需要管理所拥有的飞机、航线的设置、客户的信息等,但更重要的还要提供票务管理。面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。对数据的添加、修改、删除及查询等方面的操作应简单易行,并且能够具有较好的稳定性。航空售票管理系统主要采用Delphi 7.0做为开发工具,进行开发与设计的。本系统的使用界面具有十分人性化的特征,具有方便的查询功能,对售票、网上订票等方面的操作应简单易行,并且能够具有较好的稳定性。关键词: 航空;售票;网上订票;管理系统;数据库;SQL语言。目 录1. 开发一个航空售票管理系统的背景和意义11.1.传统售票方式的回顾和特点分析11.2.航空售票管理系统的应用现状和前景展望12. 用计算机开发一个航空售票管理系统的可行性分析12.1.技术可行性12.2.经济可行性22.3.法律可行性23. 开发环境的选择33.1.Delphi 7.0简介33.2.开发工具的选择34. 航空售票管理系统的需求分析34.1.系统分析44.2.系统功能模块设计44.3.功能子模块分析54.3.1.网上订票模块54.3.2.用户查询模块54.3.3.用户订票模54.4.后台管理系统64.4.1.后台管理系统子模块64.5.民航售票管理系统的顶级数据流程图84.6.民航售票管理系统一级数据流图94.7.数据字典定义104.7.1.数据项定义104.8.E/R模型135.详细设计145.1.系统的总体流程图145.2.系统各模块的实现155.2.1.系统登录窗口155.2.2.主界面窗口165.2.3.信息操作模块175.2.4.送票员模块225.2.5.员工管理模块235.2.6.系统模块245.2.7.售票员模块255.2.8.前台订票模块266.软件测试276.1 测试方式276.2 测试阶段276.1.1.白盒测试276.1.2.黑盒测试276.3 测试结果287.结论28谢 辞29参考文献30301. 开发一个航空售票管理系统的背景和意义1.1. 传统售票方式的回顾和特点分析航空客运业务誕生已有近一個世纪了,作为现有交通工具中最方便快捷的一种,它确确实实地给人们的生活、出行带来了极大的方便。随著航空客运业务多年来的发展,其售票业务也同样不断的发展。回顾航空客运的历史,最早的時候,飞机和机场的数量都很少,于是机票的销售量也非常少,机票直接由机场方面出售,售票的方式也非常简单,现场购买领取机票即可;后来,隨著世界经济城市的发展,飞机和机场数量的不断增加,隨著世界贸易的开放和繁荣、人们对飞机出行的需求和能力的不断增加,航空客运业务的規模日益宏大,于是为了方便客戶的购买和航空公司的销售,航空公司在各地设立销售点,将机票分配到各销售网点销售。但是这也带来了许多问题和不便。首先,由于机票是由航空公司按照各销售点平时的销售能力分配给个体销售点的,所以并不能实时地反映各销售点的销售情况,也很难实现歌销售点间的调节,同时,乘客的询问和购票也产生很多不便多不便。所以,隨着航空客运业务的发展,传统售票方式已经不能满足时代的要求。1.2. 航空售票管理系统的应用现状和前景展望随着现代航空业务流量剧增,传统的售票往往在统计,查找等方面会错误百出,这给售票人员和客户都带来了很多不便。但随着社会的不断发展,民航业在我国一直以其优良的安全性和良好的信誉度受到世界同行们的称赞。中国是一个人口大国,无论是旅游还是商业出行人员数量都很大,这样就为民航业的发展造就了一个温床。在中国加入世界贸易组织后,世界各大民航飞机制造商业把目光纷纷聚焦在中国,相信中国的民航服务将会有广阔的前景。2. 用计算机开发一个航空售票管理系统的可行性分析2.1. 技术可行性确定系统所要实现的目标。通过对企业状况的初步研究得出现状分析的结果,然后提出可行性方案并进行论证。明确项目的目标和规模以后,接下来的问题就是在确定的软件系统规模之内寻找一种达到用户提出要求的最佳解决方案。通过对信息的处理、现行的系统情况调查的基础上,得出系统的顶级数据流图如图2-1所示:输出售出机票身份验证查询订票、买票顾客民航售票系统报表查询 图2-1顶级数据流图在数据流图上列出了“顾客” 和“报表”,它们既是数据流的源点又是终点。系统输出一些信息给信息管理处。从以上分析得出,航空售票管理系统在开发的技术上是可行的。2.2. 经济可行性计算机技术发展异常迅速的根本原因在于计算机的应用促进了社会经济的发展,给社会带来了巨大的经济效益。基于计算机系统的成本分析是可行性研究的重要内容基于计算机系统的成本分为以下三个部分:a、购置并安装软硬件用有关设备的费用;b、系统开发费用;c、系统安装、运行和维护费用。d、人员培训费用经过成本效益分析,本航空公司管理信息系统的开发在经济上可行的。2.3. 法律可行性根据实际情况的调查结果,在开发本航空售票管理系统过程中没有涉及各种合同、侵权、责任以及各种与法律相抵触的问题。因此,本航空售票管理系统的开发在法律上是完全可行的。3. 开发环境的选择3.1. Delphi 7.0简介Windows图形化操作系统的出现,给用户使用计算机带来了极大的方便。但要使用传统的程序语言(如C语言)设计出Windows环境下的窗口应用程序。却是一件相对痛苦的事。为此,人们寻求一种更好的开发工具来进行Windows下的程序设计。Delphi由此应运而生。Delphi7.0是Borland公司推出的一种可视化的、方便快捷的Windows应用程序开发工具。它以完全面向对象、强大的数据库开发功能和高效的编译器等优点赢得用户的青睐。该产品一经问世,就迅速成为Windows程序设计的几种最主要的开发工具之一 作为一种深受欢迎的快速开发工具,Borland公司推出的Delphi到今天已经经历了7代产品,每一代产品都伴随着计算机软硬件系统的提高而升级。 3.2. 开发工具的选择根据航空售票的特点,更好的提供各方面的信息和管理,这需要一个好的可视化、方便快捷的开发工具和合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。对数据的添加、修改、删除及查询等方面的操作应简单易行,并且能够具有较好的稳定性。经过分析,我们选择Borland公司的推出的Delphi7.0开发工具和Microsoft SQL Server 2000,利用里的Delphi7.0 ADO组件开发数据库应用程序。Delphi7.0所提供的 ADO组件封装了整个Microsoft ADO组件,通过ADO组件可以完全不依赖BDE开发出功能完整的数据库应用程序。SQL Server 2000数据库引擎提供完整的XML支持,还具有构成Web站点的数据存储组件所需的可伸缩性、可用性和安全功能特点。SQL Server 2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据的完整性,同时将管理上千个并发修改数据库用户的开销减到最小。SQL Server 2000分布式查询可以引用来自不同数据源的数据,就好象数据是SQL Server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。4. 航空售票管理系统的需求分析软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通过对应用问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化、最终形成需求规格说明。需求分析以系统规格说明和项目规划作为分析和运用的基本出发点,并从软件角度对它们进行检查与调整;需求规格说明书是软件设计、实现、测试直至维护的重要基础。良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,提高软件质量。需求分析的基本任务是对目标系统提出完整、准确、清晰、具体的要求。4.1. 系统分析本系统设计主要根据售票业务的基本流程进行。一般地说,售票业务包括如下几个方面:售票子系统、订票子系统、财务子系统、信息子系统。a:售票:售票员根据买票顾客的信息检验其属普通用户还是VIP用户,进一步确定其是否享有打折优惠。根据退票顾客的信息检验其机票的真伪。进一步确定是否退款。b:订票:可查询当前航班的售票订票情况和乘客信息。c:财务:打印报表,输出星期、月、年财务报表。d:信息员:添加、删除、修改信息。4.2. 系统功能模块设计根据系统功能要求可以将系统分解成几个功能模块来分别设计应用程序界面,如图4-2示:网上订票系统民航售票管理系统后台管理系统图4-24.3. 功能子模块分析4.3.1. 网上订票模块网上订票模块可以分为三个子模块:用户注册模块,用户查询模块以及用户订票模块。具体功能模块介绍如下:用户注册模块:(1) 注册帐号,必须仔细填写(2) 登陆显示所有信息(3) 用户信息修改4.3.2. 用户查询模块(1) 登陆帐号(2) 查询指定航班信息4.3.3. 用户订票模(1) 登陆帐号(不登陆不能订票)(2) 输入详细订票信息网上订票系统查询订票用户注册登陆普通用户不享受优惠VIP用户享受优惠(3) 提交信息,等待回应图4-3用户登陆(分类型)送票员模块售票员模块财务员模块信息员模块后台管理系统4.4. 后台管理系统图4-44.4.1. 后台管理系统子模块送票员模块:如图4-5送票员模块功能说明:(1)送票员登陆帐号(2)查询目前所有订票情况(3)打电话给客户确认(4)确认通过,送票给客户 (5)用户取消,删除订购信息(6)打印月报表,送交财务处登陆系统(送票员)审核信息(电话确认)确认通过送票用户取消图4-售票员模块:如图4-6售票员模块功能说明:(1) 售票员登陆系统(2) 前台售票,检验用户,相应用户卖相应价格(3) 退票处理,检验机票,真票、不过期的退款,其他的结束操作登陆系统(售票员)买票处理退票处理检验用户检验机票普通用户价格售票VIP用户价格售票退款放弃操作图4-财务员模块:如图4-7财务员模块功能说明:(1) 登陆系统(2) 查询,整理,打印报表(3) 报表上交登陆系统(财务员)打印报表报表上交上级图4-信息操作员模块:如图4-8信息操作员模块功能说明:(1) 登陆系统(2) 与航空公司收集信息(3) 添加、修改、删除信息登陆系统(信息操作员)信息操作添加信息修改信息删除信息图4-84.5. 民航售票管理系统的顶级数据流程图输出售出机票身份验证查询订票、买票顾客民航售票系统报表查询图4-94.6. 民航售票管理系统一级数据流图售票输出信息确认信息返回信息报表输出打印命令报表查询添加、修改、删除信息输入信息身份验证、买票信息显示输入信息送票返回信息发送信息返回信息身份验证、查询、订票顾客网上订票系统送票员电话系统控制面板显示面板售票员信息操作员财务员打印机图4-104.7. 数据字典定义4.7.1. 数据项定义用户类型表:如表4-7-1数据项名标识符数据类型长度备注用户类型IDUser_Type_Idtinyint1主键用户类型名User_Type_Namenvarchar20非空表4-7-用户信息表:如表4-7-2数据项名标识符数据类型长度备注用户IDUser_Idint4主键自动编号用户名User_Name nvarChar10非空用户密码User_PasswordvarChar50非空用户性别User_Sexnvarchar4先生、女士用户电话User_Phonevarchar20非空用户邮箱User_Email varChar50可空用户地址User_AddrnvarChar60可空用户身份证号User_Pidvarchar18非空用户积分User_jfInt4非空注册日期Reg_timedatetime8非空用户类型IDUser_Type_Idtinyint1User Type表的外键表4-7- 订票表:如表4-7-3数据项名标识符数据类型长度备注订票IDBook_Idint4主键(自动编号)用户IDUser_Idint4做为User_Info表的外键机票IDTickts_Idvarchar30票ID (航班号+日期+座位号) (做为机票表的外键)订票时间Book_Timedatetime8非空送票idSend_idint4001物品重量Thing_Weightint4可空乘客类型Type1tinyint1成人或小孩状态Book_Typenvarchar 4(审核和完成)表4-7- 航班表:如表4-7-4数据项名标识符数据类型长度备注航班号Plane_Idnvarchar30主键飞机类型Plane_Typenvarchar20非空航空公司名Companynvarchar50非空起点From_Citynvarchar10默认桂林终点To_Citynvarchar10非空起飞时间Go_Timedatetime8非空到达时间Arrive_Timedatetime8非空班期Plane_datevarchar7星期17头等舱票数Head_Ticktsint4非空商务舱票数Business_Ticktsint4非空普通舱票数Common_Ticktsint4非空经济舱票数Economy_Tikctsint4非空表4-7- 机票票表:如表4-7-5数据项名标识符数据类型长度备注机票IDTickts_Idvarchar30(航班号+日期+座位号)航班号Plane_Idnvarchar30做Price表的外键座位号Tickts_Numint4可空价格Pricesmallmoney4(不打折直接取Price表的数据,打折的Price表的数据*折数)座位类型Saet_Typetinyint1(做Price表的外键)机票时间Tickts_date datetime 8(机票当天有效时间)机票类型Tickts_Typetinyint10 为未操作,1为售出,2为退票表4-7- 管理员类型表:如表4-7-6数据项名标识符数据类型长度备注管理员类型IDAdmin_Type_Idtinyint1主键管理员类型名Admin_Type_Namenvarchar10可空表4-7- 管理员信息表:如表4-7-7数据项名标识符数据类型长度备注管理员IDAdmin_Idint10主键管理员姓名Admin_Namenvarchar20可空管理员密码Admin_Pwdvarchar20可空管理员性别Admin _Sexvarchar10可空管理员电话Admin _Phonevarchar2可空管理员邮箱Admin _Emailvarchar3可空管理员地址Admin _Addrnvarchar60可空管理员身份证号Admin _Pidvarchar3可空管理员注册时间RegTimedatetime3可空管理员类型IDAdmin _Type_Idtinyint3做为Admin _Type表的外键表4-7- Report表:如表4-7-8数据项名标识符数据类型长度备注报表IDReport_Id自动编号主键报表名Report_Namechar50可空财务员名User_Namechar10可空日收入Income_Day货币可空月收入Income_Month货币可空年收入Income_Year货币可空表4-7- Price表:如表4-7-9价格表IDPrice_Idint4主键航班IDPlane_Idnvarchar30(做Plane表的外键)座位类型Seat_Typetinyint1可空价格Pricesmallmoney4可空表4-7-94.8. E/R模型售票客户联系方式姓名编号特殊客户积分身份证订票、买票送票员售票管理系统售票员编号编号信息操作员编号财务员编号打印报表如图4-115. 详细设计5.1. 系统的总体流程图售票输出信息确认信息返回信息报表输出打印命令报表查询添加、修改、删除信息输入信息身份验证、买票信息显示输入信息送票返回信息发送信息返回信息身份验证、查询、订票顾客网上订票系统送票员电话系统控制面板显示面板售票员信息操作员财务员打印机图5-15.2. 系统各模块的实现5.2.1. 系统登录窗口图5-2-1系统登录窗口,是使用本系统时出现的第一用户操作窗口,主要防止非法用户使用系统。采用自适性窗口设计,位于屏幕中间。此界面由三个标签、两个列表框和一个文本框、两个按钮和一幅图片组成。它的登录窗口如图(图5-2-2):图5-2-2程序运行时首先进入该界面,用户可以选择登陆类型,输入工号和对应的密码后进入该系统,反之,如果输入密码错误,系统将提示“密码错误!”的错误信息。5.2.2. 主界面窗口主界面窗口是进入系统的第一用户界面,是调用和切换系统其它功能的主控窗口。它提供了各个功能菜单和部分快捷键菜单。主界面设计有系统、航线信息管理、客户信息管理、票务信息管理、系统帮助等不同的菜单。该窗口如图(图5-2-3)图5-2-3菜单设计:在MDI主菜单中,设计了5项菜单,分别为:信息操作、订票操作、员工管理、售票操作、系统。信息操作 售票操作机票生成 售票窗口航班管理 退票窗口票价管理 系统订票操作 使用帮助订票审核 关于业绩查询 员工管理 添加员工 员工信息 具体设置如下表所示: 5.2.3. 信息操作模块 机票生成模块(图5-3-1)在该模块中,信息操作员可以根据航班的飞行情况,预先生成各航班的机票。机票生成模块主要实现的功能如下所示: (1)选择要生成机票的航班:可以多项选择。(2)选择机票的日期:机票的有效日期。(3)生成机票:采用多线程快速生成机票。图5-3-1核心代码:procedure Tfrm_tickts_add.btn_tickts_addClick(Sender: TObject);var Plane_Id,strsql,Tickts_id,Tickts_Time:string; T_Price:array0.3 of Currency; h_tickts,b_tickts,c_tickts,e_tickts,i,j,Select_Count,Tickt_num:integer;begin lb_status.Caption:=正在生成机票.; self.Timer1.Enabled:=true; Select_Count:=self.Grid_plane.SelectedRows.Count; self.ProgressBar1.Max:=Select_Count*300; dm.air_conn.BeginTrans; /开始一个事务,锁定数据库操作 Try for j:=0 to Select_Count-1 do begin Plane_Id:=Grid_plane.SelectedRows.Itemsj; grid_plane.DataSource.DataSet.GotoBookmark(Pointer(self.Grid_plane.SelectedRows.itemsj); Plane_Id:=grid_plane.DataSource.DataSet.fieldbyname(Plane_Id).AsString; /取得机票日期 if self.lb_tickts_time.Caption= then begin Messagedlg(请选择机票日期!,mtError,mbOK,0); exit; end else Tickts_time:=lb_tickts_time.Caption; /下面是取得不同类型的舱位数 dm.DataOprate(dm.qry_op,select * from Plane where Plane_Id=+quotedstr(Plane_Id),open); h_tickts:=strtoint(dm.qry_op.fieldbyname(Head_Tickts).AsString); b_tickts:=strtoint(dm.qry_op.fieldbyname(Business_Tickts).AsString); c_tickts:=strtoint(dm.qry_op.fieldbyname(Common_Tickts).AsString); e_tickts:=strtoint(dm.qry_op.fieldbyname(Economy_Tickts).AsString); /取得不同舱位的不同价格数 dm.DataOprate(dm.qry_op,select * from Price where Plane_Id=+quotedstr(Plane_id)+ order by Seat_Type,open); for i:=0 to 3 do begin T_Pricei:=dm.qry_op.fieldbyname(Price).AsCurrency; dm.qry_op.Next; end; Tickt_num:=1; for i:= 1 to h_tickts do /生成N张头等票 begin Tickts_Id:=Plane_Id+-+Tickts_Time+-+inttostr(Tickt_num); strsql:=insert into Tickts(Tickts_Id,Plane_Id,Tickts_Num,Seat_Type,Price,Tickts_date,Tickts_Type_Id); strsql:=strsql+ values(+quotedstr(Tickts_Id)+,+quotedstr(Plane_Id)+,+inttostr(Tickt_num)+,1,+floattostr(T_Price0)+,+quotedstr(Tickts_time)+,0); dm.DataOprate(dm.qry_op,strsql,ExecSQL); Tickt_num:=Tickt_num+1; /showmessage(strsql); end; for i:=1 to b_tickts do /生成N张商务票 begin Tickts_Id:=Plane_Id+-+Tickts_Time+-+inttostr(Tickt_num); strsql:=insert into Tickts(Tickts_Id,Plane_Id,Tickts_Num,Seat_Type,Price,Tickts_date,Tickts_Type_Id); strsql:=strsql+ values(+quotedstr(Tickts_Id)+,+quotedstr(Plane_Id)+,+inttostr(Tickt_num)+,2,+floattostr(T_Price1)+,+quotedstr(Tickts_time)+,0); dm.DataOprate(dm.qry_op,strsql,ExecSQL); Tickt_num:=Tickt_num+1; /showmessage(strsql); end; for i:=1 to c_tickts do /生成N张普通票 begin Tickts_Id:=Plane_Id+-+Tickts_Time+-+inttostr(Tickt_num); strsql:=insert into Tickts(Tickts_Id,Plane_Id,Tickts_Num,Seat_Type,Price,Tickts_date,Tickts_Type_Id); strsql:=strsql+ values(+quotedstr(Tickts_Id)+,+quotedstr(Plane_Id)+,+inttostr(Tickt_num)+,3,+floattostr(T_Price2)+,+quotedstr(Tickts_time)+,0); dm.DataOprate(dm.qry_op,strsql,ExecSQL); Tickt_num:=Tickt_num+1; /showmessage(strsql); end; for i:=1 to e_tickts do /生成N张经济票 begin Tickts_Id:=Plane_Id+-+Tickts_Time+-+inttostr(Tickt_num); strsql:=insert into Tickts(Tickts_Id,Plane_Id,Tickts_Num,Seat_Type,Price,Tickts_date,Tickts_Type_Id); strsql:=strsql+ values(+quotedstr(Tickts_Id)+,+quotedstr(Plane_Id)+,+inttostr(Tickt_num)+,4,+floattostr(T_Price3)+,+quotedstr(Tickts_time)+,0); dm.DataOprate(dm.qry_op,strsql,ExecSQL); Tickt_num:=Tickt_num+1; /showmessage(strsql); end; end; dm.air_conn.CommitTrans;/记住要确认事务 except messagedlg(生成机票出错,请重新尝试!,mtError,mbOK,0); dm.air_conn.RollbackTrans; end; lb_status.Caption:=完成操作!; self.ProgressBar1.Position:=self.ProgressBar1.Max; messagedlg(生成机票成功!,mtInformation,mbOK,0); lb_status.Caption:=就绪!;end; 航班管理模块(图5-3-2)航班管理模块,信息操作员可以查询、添加、修改和删除航班的信息。航班管理模块主要实现功能如下所示:(1) 添加航线信息:管理员可以对航空公司的每条航线进行信息的添加。(2) 修改航线信息:管理员可以对航空公司的每条航线进行信息的修改。(3) 删除航线信息:管理员可以对航空公司的每条航线进行信息的删除。(4) 查询航线信息:管理员可以查询有关航空公司航线的信息。图5-3-票价管理模块(图5-3-3) 票价管理模块,信息操作员根据每架航班的舱位情况,设置相应的舱位机票价格。航班管理模块主要实现功能如下所示:(1) 添加票价信息:管理员可以对每条航线进行不同舱位价格的添加。(2) 修改票价信息:管理员可以对每条航线进行不同舱位价格的修改。(3) 删除票价信息:管理员可以对每条航线进行不同舱位价格的删除。查询票价信息:管理员可以查询有关不同航班的票价信息。图5-3-35.2.4. 送票员模块订票操作模块(图5-3-4) 订票操作模块,送票员根据实时刷新的订票信息,打电话给客户核实,通过核实的派员工被机票送到客户手中,然后增加用户的积分。没通过核实的就删除订票记录。图5-3-订票操作模块 订票操作模块可以按年份、月份、日期查询送票员的业绩状态。订票操作模块主要实现功能如下所示(1) 年份业绩查询:送票员可以每年的业绩进行查询。(2) 月份业绩查询:送票员可以每月的业绩进行查询。(3) 当天业绩查询:送票员可以当天的业绩进行查询。5.2.5. 员工管理模块 员工信息模块(图5-3-5)员工信息模块,操作员可以添加、查询、修改和删除员工的资料。员工信息模块主要实现功能如下所示图5-3-55.2.6. 系统模块 系统帮助模块(如图5-3-6)系统帮助模块为介绍本系统的开发背景和各项操作,以方便新员工的操作。图5-3-65.2.7. 售票员模块 售票窗口模块(如图5-3-7)售票窗口模块为售票员根据乘客的要求,查询用户指定的机票。然后根据乘客的信息,给予相应的价格。如图5-3-7核心代码:procedure Tfrm_tickt_sale.btn_priceClick(Sender: TObject);var u_name,u_pid,u_type,n_price,strsql:string; o_price:Currency;begin u_name:=user_name.Text; u_pid:=user_pid.Text; if user_type.Text= then begin MessageDLG(请选择乘客类型!,mtError,mbOK,0); ischeck:=false; Exit; end else if u_name= then begin MessageDLG(请输入乘客姓名!,mtError,mbOK,0); ischeck:=false; Exit; end else if u_pid= then begin MessageDLG(请输入乘客身份证号!,mtError,mbOK,0); ischeck:=false; Exit; end else begin u_type:=user_type.Text; /开始计算票价 o_price:=strtofloat(frm_shp.tickts_grid.Columns9.DisplayText); if u_type=儿童 then n_price:=floattostr(o_price*0.5) else begin strsql:=select User_Type_Id from User_Info where User_Pid=+quotedstr(u_pid)+ and User_Name=+quotedstr(u_name); dm.DataOprate(dm.qry_op,strsql,open); if dm.qry_op.FieldByName(User_Type_Id).AsInteger=1 then n_price:=floattostr(o_price*0.8) else n_price:=floattostr(o_price); end; price.Text:=n_price; ischeck:=true; end;end; 退票窗口模块退票窗口模块,售票员根据乘客退回的机票,检验机票的真假、机票的日期,然后把机票的价钱还给乘客,然后把机票的状态改为未售出状态。主要功能为:(1) 机票日期查询:查询机票是否已经过期。(2) 乘客信息查询:根据乘客买票的价格把钱退回给乘客。(3) 信息操作:把机票的状态改为未售出状态,然后把乘客的积分-1。5.2.8. 前台订票模块 前台订票模块为ASP模式,由本组搭档完成。具体见李国艳同学的论文报告。6. 软件测试6.1测试方式白盒测试:关心软件内部设计和程序实现,主要测试依据是设计文档黑盒测试:不关心软件内部,只关心输入输出,主要测试依据是需求文档6.2 测试阶段6.1.1. 白盒测试 根据本系统的需求分析文档,分模块来检查功能的完善程度,通过测试,本系统基本完成了需求分析文档的功能,有一个功能没实现:送票员报表打印模块,根据分析,该模块不需要送票员完成,直接集合到财务员模块里面。6.1.2. 黑盒测试 登陆模块测试 选择没一个员工类型,然后乱输工号和密码,均出现用户名和密码错误提示。 主界面模块测试 根据登陆员工的权限,判断该员工应该显示何种响应的功能模块,通过测试,一切正常。 生成机票模块 选择一条和多条航班记录,批量生成机票,输出结果正确。发现缺陷为:生成机票时间过慢、生成机票进度条和时间不一致。 航班信息管理模块 输入尽可能多的数据,测试:查询、添加、修改和删除功能,每个功能都能正确完成。发现缺陷:添加功能的机票数字段没判断长度,输入过长数字会发生内存溢出情况。 员工信息管理模块 输入尽可能多的数据,测试:查询、添加、修改和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论