摘 要
伴随着经济的不断发展, 必然带动交通业和旅游业务的不断扩大, 特别是航空售票和订票的信息管理日异复杂, 传统的售票方式已经难以满足快节奏, 高效率的现代生活需求, 这就要求航空公司要有一套好的售票数据库系统。
一个正常营运的航空公司需要管理所拥有的飞机、航线的设置、客户的信息等,但更重要的还要提供票务管理。面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。对数据的添加、修改、删除及查询等方面的操作应简单易行,并且能够具有较好的稳定性。航空售票管理系统主要采用Delphi 7.0做为开发工具,进行开发与设计的。本系统的使用界面具有十分人性化的特征,具有方便的查询功能,对售票、网上订票等方面的操作应简单易行,并且能够具有较好的稳定性。
关键词: 航空;售票;网上订票;管理系统;数据库;SQL 语言。
目 录
1. 开发一个航空售票管理系统的背景和意义 ................................................................ 1
1.1. 传统售票方式的回顾和特点分析 ........................................ 1 1.2. 航空售票管理系统的应用现状和前景展望 ................................ 1
2. 用计算机开发一个航空售票管理系统的可行性分析 . .......................................... 1
2.1. 技术可行性 .......................................................... 1 2.2. 经济可行性 .......................................................... 2 2.3. 法律可行性 .......................................................... 2
3. 开发环境的选择 .......................................................................................................................... 3 3.1. Delphi 7.0简介 ..................................................... 3 3.2. 开发工具的选择 ...................................................... 3 4. 航空售票管理系统的需求分析 .......................................................................................... 3
4.1. 系统分析 ............................................................ 4 4.2. 系统功能模块设计 .................................................... 4 4.3. 功能子模块分析 ...................................................... 5 4.3.1. 网上订票模块 ....................................................... 5 4.3.2. 用户查询模块 ....................................................... 5 4.3.3. 用户订票模 ......................................................... 5 4.4. 后台管理系统 ........................................................ 6 4.4.1. 后台管理系统子模块 ................................................. 6 4.5. 民航售票管理系统的顶级数据流程图 .................................... 8 4.6. 民航售票管理系统一级数据流图 ........................................ 9 4.7. 数据字典定义 ....................................................... 10 4.7.1. 数据项定义 ........................................................ 10 4.8. E/R模型 ........................................................... 13
5. 详细设计 ......................................................................................................................................... 14
5.1. 系统的总体流程图 . ................................................... 14 5.2. 系统各模块的实现 . ................................................... 15 5.2.1. 系统登录窗口 ...................................................... 15 5.2.2. 主界面窗口 ........................................................ 16 5.2.3. 信息操作模块 ...................................................... 17 5.2.4. 送票员模块 ........................................................ 22 5.2.5. 员工管理模块 ...................................................... 23 5.2.6. 系统模块 .......................................................... 24 5.2.7. 售票员模块 ........................................................ 25 5.2.8. 前台订票模块 ...................................................... 26
6. 软件测试 ......................................................................................................................................... 27
6.1 测试方式 . ............................................................ 27 6.2 测试阶段 . ............................................................ 27 6.1.1. 白盒测试 .......................................................... 27 6.1.2. 黑盒测试 .......................................................... 27 6.3 测试结果 . ............................................................ 28
7. 结论 ...................................................... 28 谢 辞 . ....................................................... 29 参考文献 . ..................................................... 30
1. 开发一个航空售票管理系统的背景和意义
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-2
4.3. 功能子模块分析 4.3.1. 网上订票模块
网上订票模块可以分为三个子模块:用户注册模块,用户查询模块以及用户订票模块。具体功能模块介绍如下:
用户注册模块:
(1) 注册帐号,必须仔细填写 (2) 登陆显示所有信息 (3) 用户信息修改 4.3.2. 用户查询模块
(1) 登陆帐号 (2) 查询指定航班信息 4.3.3. 用户订票模
(1) 登陆帐号(不登陆不能订票) (2) 输入详细订票信息 (3)
4.4. 后台管理系统
图4-4
4.4.1. 后台管理系统子模块 4.4.1.1送票员模块:如图4-5
送票员模块功能说明:
(1)送票员登陆帐号
(2)查询目前所有订票情况 (3)打电话给客户确认 (4)确认通过,送票给客户 (5)用户取消,删除订购信息 (6)打印月报表,送交财务处
4.4.1.2售票员模块:如图4-6 售票员模块功能说明: (1) 售票员登陆系统
(2) 前台售票,检验用户,相应用户卖相应价格
(3) 退票处理,检验机票,真票、不过期的退款,其他的结束操作
图4-6
4.4.1.3财务员模块:如图4-7 财务员模块功能说明:
(1) 登陆系统
(2) 查询,整理,打印报表
(3) 报表上交
图4-7
4.4.1.4信息操作员模块:如图4-8 信息操作员模块功能说明:
(1) 登陆系统
(2) 与航空公司收集信息 (3) 添加、修改、删除信息
图4-8
4.5. 民航售票管理系统的顶级数据流程图
4.6.
图4-10
4.7. 数据字典定义 4.7.1. 数据项定义
4.7.1.1用户类型表:如表4-7-1
表4-7-1
4.7.1.2用户信息表:如表4-7-2
表4-7-2
4.7.1.3 订票表:如表4-7-3
表4-7-3
4.7.1.4 航班表:如表4-7-4
表4-7-4
4.7.1.5 机票票表:如表4-7-5
表4-7-5
4.7.1.6 管理员类型表:如表4-7-6
表4-7-6
4.7.1.7 管理员信息表:如表4-7-7
表4-7-7
4.7.1.8 Report表:如表4-7-8
表4-7-8
4.7.1.9 Price表:如表4-7-9
表4-7-9
4.8.
E/R模型
如图4-11
5. 详细设计
5.1. 系统的总体流程图
图5-1
5.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.2.3.1 机票生成模块(图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:array[0..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.Items[j];
grid_plane.DataSource.DataSet.GotoBookmark(Pointer(self.Grid_plane.SelectedRows.items[j]));
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 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 for i:=0 to 3 do begin
T_Price[i]:=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
* from Plane where
* from Price where
Plane_Id='+quotedstr(Plane_id)+' order by Seat_Type','open');
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_Price[0])+','+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
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_Price[1])+','+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
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_Price[2])+','+quotedstr(Tickts_time)+',0)';
dm.DataOprate(dm.qry_op,strsql,'ExecSQL'); Tickt_num:=Tickt_num+1; //showmessage(strsql); end;
into
into
for i:=1 to e_tickts do //生成N 张经济票 begin
Tickts_Id:=Plane_Id+'-'+Tickts_Time+'-'+inttostr(Tickt_num); strsql:='insert
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_Price[3])+','+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.2.3.2 航班管理模块(图5-3-2)
航班管理模块,信息操作员可以查询、添加、修改和删除航班的信息。航班管理模块主要实现功能如下所示:
(1) 添加航线信息:管理员可以对航空公司的每条航线进行信息的添加。 (2) 修改航线信息:管理员可以对航空公司的每条航线进行信息的修改。 (3) 删除航线信息:管理员可以对航空公司的每条航线进行信息的删除。 (4) 查询航线信息:管理员可以查询有关航空公司航线的信息。
into
图5-3-2
5.2.3.3票价管理模块(图5-3-3)
票价管理模块,信息操作员根据每架航班的舱位情况,设置相应的舱位机票价格。航班管理模块主要实现功能如下所示:
(1) 添加票价信息:管理员可以对每条航线进行不同舱位价格的添加。 (2) 修改票价信息:管理员可以对每条航线进行不同舱位价格的修改。 (3) 删除票价信息:管理员可以对每条航线进行不同舱位价格的删除。 查询票价信息:管理员可以查询有关不同航班的票价信息。
图5-3-3
5.2.4. 送票员模块
5.2.4.1订票操作模块(图5-3-4)
订票操作模块,送票员根据实时刷新的订票信息,打电话给客户核实,通过核实的派员工被机票送到客户手中,然后增加用户的积分。没通过核实的就删除订票记录。
图5-3-4
5.2.4.2订票操作模块
订票操作模块可以按年份、月份、日期查询送票员的业绩状态。订票操作模块主要实现功能如下所示
(1) 年份业绩查询:送票员可以每年的业绩进行查询。 (2) 月份业绩查询:送票员可以每月的业绩进行查询。 (3) 当天业绩查询:送票员可以当天的业绩进行查询。 5.2.5. 员工管理模块
5.2.5.1 员工信息模块(图5-3-5)
员工信息模块, 操作员可以添加、查询、修改和删除员工的资料。员工信息模块主要实现功能如下所示
图5-3-5
5.2.6. 系统模块
5.2.6.1 系统帮助模块(如图5-3-6)
系统帮助模块为介绍本系统的开发背景和各项操作,以方便新员工的操作。
图5-3-6
5.2.7. 售票员模块
5.2.7.1 售票窗口模块(如图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.Columns[9].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;
5.2.7.2 退票窗口模块
退票窗口模块,售票员根据乘客退回的机票,检验机票的真假、机票的日期,然后把机票的价钱还给乘客,然后把机票的状态改为未售出状态。主要功能为: (1) 机票日期查询:查询机票是否已经过期。
(2) 乘客信息查询:根据乘客买票的价格把钱退回给乘客。
(3) 信息操作:把机票的状态改为未售出状态,然后把乘客的积分-1。 5.2.8. 前台订票模块
前台订票模块为ASP 模式,由本组搭档完成。具体见李国艳同学的论文报告。
6. 软件测试
6.1测试方式
白盒测试:关心软件内部设计和程序实现,主要测试依据是设计文档 黑盒测试:不关心软件内部,只关心输入输出,主要测试依据是需求文档 6.2 测试阶段 6.1.1. 白盒测试
根据本系统的需求分析文档,分模块来检查功能的完善程度,通过测试,本系统基本完成了需求分析文档的功能,有一个功能没实现:送票员报表打印模块,根据分析,该模块不需要送票员完成,直接集合到财务员模块里面。 6.1.2. 黑盒测试 6.2.2.1 登陆模块测试
选择没一个员工类型,然后乱输工号和密码,均出现用户名和密码错误提示。 6.2.2.2 主界面模块测试
根据登陆员工的权限,判断该员工应该显示何种响应的功能模块,通过测试,一切正常。
6.2.2.3 生成机票模块
选择一条和多条航班记录,批量生成机票,输出结果正确。发现缺陷为:生成机票时间过慢、生成机票进度条和时间不一致。 6.2.2.4 航班信息管理模块
输入尽可能多的数据,测试:查询、添加、修改和删除功能,每个功能都能正确完成。发现缺陷:添加功能的机票数字段没判断长度,输入过长数字会发生内存溢出情况。 6.2.2.5 员工信息管理模块
输入尽可能多的数据,测试:查询、添加、修改和删除功能,每个功能都能正确完成。工号查询和姓名查询使用模糊查询,显示结果正确。本模块已经屏蔽添加数据各字段,没发生数据溢出问题。 6.2.2.6 订票审核模块
测试多条订票记录,测试删除和通过审核功能,测试多表修改的正确性,测试结果正确。
6.2.2.7 送票员业绩查询模块
选择不同年、月、日进行查询,检查月份所对应的天数和生成数据的正确性,测试
结果正确。
6.2.2.8 售票窗口模块
通过不同方式输入不能查询记录,然后操作多条机票记录,测试票价计算的正确度和多表添加修改的正确度以及放弃鼠标,通过键盘快速定位的准确度,测试结果正确通过。
6.2.2.9 退票窗口模块
判断输入不能为空,机票ID 的正确性和机票日期的有效性,测试结果正确。
6.2.3.0 财务报表模块
选择不能年、月、日进行报表打印操作,测试结果正确,发现软件功能缺陷:不能查询单部航班的收入报表。
6.3 测试结果
经过半盒和黑盒测试,本系统的功能完成和正确度在80%以上,虽然修改了部分BUG ,但由于时间和水平问题,三个星期的软件没能做得很完善,测试也没能考虑很周到。这些缺陷将在下次软件开发考虑进去。
7. 结论
经过将近三个星期的设计和开发,航空售票管理系统的设计已圆满完成了,功能上基本与需求相符。以上是航空售票管理系统的全部设计过程,从中我们可以清楚看出整个售票系统的流程。
在这段实训的时间里,我感觉非常充实,学到了很多知识。我充分感受到了团体精神的重要性。我们的实训是由多个功能模块组成的,我主要负责后台售票系统,我们相互学习、相互帮助、相互进步,在共同度过的三个星期里顺利地完成了我们的实训任务。
本次设计所开发的售票系统如果用于现实航空公司中还存在着一定的缺陷。因我们对现实航空公司中的一些具体工序,了解不够深入。同时由于实训时间较短,设计过程中,系统还有一些不够完善的地方,比如出错处理不够等问题,有待今后加倍学习,进一步完善。这些在以后应用系统时还需进一步升级系统的版本,使其所具有的功能更加完善。
在整个实训的过程中,当我们遇到问题时,我们都全力以赴,使问题迎刃而解。通过这一次的实训实践,我的综合知识应用和实际操作能力的水平都有进一步的提高。
谢 辞
本系统是在***老师的悉心指导下完成的,从需求分析、开发实现、论文写作、初稿修改、直至最后定稿,都倾注了老师的大量心血与精力。我们按照软件工程的方法按一定的进度来开发本次航空售票管理系统,在开发的过程中遇到了不少困难,但是*老师认真负责的工作态度,深厚的理论水平帮助我度过了难关。我所做出成绩与他给予我的帮助是分不开的。同时*老师认真负责的工作态度、严谨的治学精神和深厚的理论水平使我受益匪浅,无论在理论上还是在实践中都给与我很大的帮助,使我自己得到很大的提高,这对于我以后的学习和工作都有一种巨大的帮助。在此,我特别向我的指导老师***老师的耐心辅导表示忠心的感谢!
最后,谨向所有为本次实训的完成给予帮助和支持的领导、老师、同学致以诚挚的谢意!祝大家新年快乐!
参考文献
[1] 丁国栋 马世奎 籍亚云.Delphi 7管理信息体统实例教程. 兵器工业出版社. 2004
[2] 周松辰 . 举一反三Dlephi 程序设计实战训练. 人民邮电出版社.2004
[3] 方盈.SQL Server 2000 中文版彻底研究. 中国铁道出版社.2001
[4] 陈玉峰.SQL Server 2000 数据库开发教程. 科学出版社.2003
[5] 彭东.SQL Server 2000 应用开发技术指南. 清华大学出版社.2001
[6] 苏啸. 数据库原理与SQL Server 2000教程. 北京工业大学出版社.2002