航空订票管理系统.docx
《航空订票管理系统.docx》由会员分享,可在线阅读,更多相关《航空订票管理系统.docx(47页珍藏版)》请在冰豆网上搜索。
![航空订票管理系统.docx](https://file1.bdocx.com/fileroot1/2023-2/13/333b7bd7-f036-4095-a612-3d36fc619064/333b7bd7-f036-4095-a612-3d36fc6190641.gif)
航空订票管理系统
天津工业大学
课程设计
航空订票管理系统
姓名任海涛(组长)
彭斯王桂林薛刚
学院管理学院
专业信息管理与信息系统
指导教师吴君
2009年9月
摘要
目前,国内航空公司的数量和规模都在扩大,国外航空公司也纷纷着陆中国,这些航空公司之间的竞争可谓日益激烈。
配备一个安全、高效、灵活、可靠的航空订票管理系统对于航空公司加强客户服务质量,提高客户服务水平,扩展业务途径,维护公众形象,提高工作效率必将发挥重要作用。
关键词:
航空订票系统;国内航空;飞机航班
目录
第一章系统需求分析…………………………………………………………………5
1.1硬件可靠性……………………………………………………………………………5
1.2系统运行的稳定性……………………………………………………………………5
1.3较高的性能价格比……………………………………………………………………5
1.4系统功能齐全、开放性好……………………………………………………………5
1.5管理人员使用的电脑安装Windows操作系统,操作界面友好……………………5
第二章系统功能…………………………………………………………………6
2.1数据的录入……………………………………………………………………………6
2.2数据的修改……………………………………………………………………………6
2.3数据的删除……………………………………………………………………………6
2.4数据的查询……………………………………………………………………………6
2.5客户端尚未解决的问题………………………………………………………………6
2.6服务端尚未解决的问题………………………………………………………………6
2.7难点问题………………………………………………………………………………6
第三章性能需求分析………………………………………………………………7
3.1可操作性………………………………………………………………………………7
3.2可靠性…………………………………………………………………………………7
3.3实用性…………………………………………………………………………………7
3.4安全性…………………………………………………………………………………7
3.5可维护性………………………………………………………………………………7
3.6可移植性………………………………………………………………………………7
第四章系统结构…………………………………………………………………8
4.1系统用例图……………………………………………………………………………8
4.2用例描述………………………………………………………………………………8第五章系统设计………………………………………………………………………10
5.1程序描述………………………………………………………………………………10
5.2功能……………………………………………………………………………………10
5.3性能……………………………………………………………………………………11
5.4输入项…………………………………………………………………………………11
5.5输出项…………………………………………………………………………………11
5.6算法……………………………………………………………………………………11
5.7流程逻辑……………………………………………………………………………11
第六章系统数据结构设计………………………………………………………18
6.1逻辑结构设计要点……………………………………………………………………18
6.2物理结构设计要点……………………………………………………………………18
6.3数据结构与程序的关系………………………………………………………………18
6.4数据库设计描述………………………………………………………………………18
6.5程序系统的组织结构…………………………………………………………………19
第七章代码设计………………………………………………………………………21
7.1查询模块…………………………………………………………………………………21
7.2数据库的链接和操作……………………………………………………………………22
7.3订单号的生成……………………………………………………………………………25
7.4订票成功…………………………………………………………………………………25
第八章系统运行效果与操作……………………………………………………31
8.1系统欢迎界面……………………………………………………………………………31
8.2管理员登录界面…………………………………………………………………………31
8.3普通查询…………………………………………………………………………………33
8.4综合查询界面……………………………………………………………………………34
8.5订票系统…………………………………………………………………………………34
8.6退票界面…………………………………………………………………………………36
8.7更新界面…………………………………………………………………………………36
8.8查看数据库界面…………………………………………………………………………37
8.9数据库的连接……………………………………………………………………………37
8.10版权所有………………………………………………………………………………40
参考文献………………………………………………………………………………………41
第一章系统需求分析
目前,国内航空公司的数量和规模都在扩大,国外航空公司也纷纷着陆中国,这些航空公司之间的竞争可谓日益激烈。
配备一个安全、高效、灵活、可靠的客户服务中心系统对于航空公司加强客户服务质量,提高客户服务水平,扩展业务途径,维护公众形象,提高工作效率必将发挥重要作用。
对航空公司来说,航空订票管理系统既能扩大服务范围,扩大公司影响,减少营业费用,又对稳固航空公司的客源有着重要的辅助作用;站在旅客的角度,航空公司提供的这种服务提供了更多的方便,节省了很多时间。
建设航空订票管理系统是体现和提高航空公司领导业绩的一条捷径,此外还具有重要意义:
1、改善航空公司服务质量;
2、创造和提升航空公司的品牌优势;
3、优化航空公司的服务流程;
4、提升信息化的水平;
1.1硬件可靠性
数据库服务器:
数据库服务器用于存放用户及航班信息等资料,配一台专用服务器,安装数据库SQLserver2000。
1.2系统运行的稳定性
系统支持操作系统如下:
Windowsvista、WindowsXP(服务器版本)(推荐)或Windows2000,系统运行稳定可靠,可以保证365天*24小时的不间断运行,并安装杀毒软件,防止病毒的干扰,保证系统的运行稳定。
SQLServer数据库服务器版,可以存储管理大量数据信息
1.3较高的性能价格比
由于这种模式极大的方便了客户及航班信息的管理,节省了很多不必要的设备,减少了项目投资。
1.4系统功能齐全、开放性好
订票,退票,查询,管理等业务,全部使用软件来控制,因此今后功能变动、业务改动很灵活。
共享航班资源。
1.5管理人员使用的电脑安装Windows操作系统,操作界面友好。
第二章系统功能
2.1数据的输入
管理员根据需要来输入航班、订票人、乘客等信息的具体数据,但必须保证其正确性和准确性。
2.2数据的修改
管理员根据需要对指定的数据进行修改,由于记录繁多,因此用户首先要输入一定的查询条件,缩小记录范围,然后再从该范围中找到指定的记录进行修改,保证修改的内容的正确性和准确性后可更新数据库的数据。
2.3数据的删除
管理员根据需要对指定的数据进行删除,由于记录繁多,因此用户首先要输入一定的查询条件,缩小记录范围,然后再从该范围中找到制定的记录进行删除,保证将要删除的内容的正确性和准确性后可删除掉数据库中的数据。
2.4数据的查询
管理员根据需要查询数据库中的所有数据,输入一定的查询条件,然后可按照输入的查询依据查询新数据库的数据。
尚未解决的问题
2.5客户端尚未解决的问题
客户端尚未解决的问题是,如何与订票人的银行账户连接。
2.6服务器端尚未解决的问题
服务器端尚未解决的问题是,系统自动检索到过期的航班后自动将其信息删除并且要保所有与该航班关联的订票人的信息和乘客的信息都删除,难点在于,如何保证数据库中的表间的一致性。
2.7难点问题
难点问题是服务器端的程序的删除部分,因为订票人的信息关系到部分乘客的信息,必须保持数据的完整性。
其次是航班信息,它关系着部分订票人的信息和乘客信息,其中还嵌套着这部分订票人当中有部分关系的乘客信息,并且同一定票人可以订购多架次航班的机票和所订购的机票的数量也不仅仅是1张,要将航班信息删除,也要保数据的完整性。
第三章性能需求分析
从实用、好用的角度出发开发航空订票管理系统,建立面向顾客管理全过程的管理与控制系统,在设计过程中主要考虑以下原则:
3.1可操作性
原始信息皆由管理员录入,系统应尽量减少操作员的数据录入量,录入数据尽量通过设计下拉列表框来选择录入,这样的处理同时也避免了许多录入异常现象的发生。
数据输入的格式应符合业务习惯,并且直观、方便。
要求系统处理的数据能准确无误,同时输出信息要求直观、简洁。
3.2可靠性
系统运行具有较高的可靠性,提供严格的并发控制,确保数据的一致性和正确性
3.3实用性
从用户的实际需要出发进行系统开发,不盲目追求高新技术的应用。
3.4安全性
系统安全措施可靠、高效、可维护性好,有权限控制、口令控制、临时锁定控制,其中口令录入界面便于系统识别登录用户。
3.5可维护性
为了保证系统的可维护性,要求具有详细的文档资料,同时,要求系统在功能设计上考虑可扩展性,以满足业务变动的需求。
3.6可移植性
系统开发完成后,要能运行于任何由WindowsNT/Windows9X操作系统所构成的计算机网络环境下。
第四章系统结构
4.1系统用例图
4.2用例描述
(1)航班查询
查看航班信息基本查询,从下拉列表中选择航班或起点或终点信息
综合查询,手动输入航班的基本信息
(2)订票
输入航班信息显示航班信息,以及打折后的票价信息,询问信息是否正确正确输入个人信息完成订票
不正确返回订票初始界面
(3)退票
输入将退票的序号显示票的具体信息,并询问是否退票退票成功,更新顾客数据库
(4)管理
登陆进入管理界面选择添加、更新、删除航班,或查看航班具体信息等业务
添加输入添加航班的具体信息更新航班数据库
更新输入所要更改航班的具体信息更新航班数据库
删除选择所要删除的航班更新航班数据库
查看航班具体信息显示数据库中所有航班的具体信息
第五章系统设计
5.1程序描述
5.1.1服务器端程序:
本套航空订票系统软件的服务器端应用程序,使用java编写前台控制软件,管理员通过使用该软件来进行对数据库中的数据进行管理。
5.1.2后台数据库:
本套航空订票系统软件的后台数据库使用MicrosoftSQLServer2000来搭建后台数据库服务器,用来存放所有的数据。
5.2功能
5.2.1服务器端的主要功能
5.2.1.1订票信息的查询功能:
1)查询航班信息包括航班号、时间、地点等信息。
2)查询及票价格包括起始地、抵达地、、机票价格等信息。
3)查询订票人的详细信息:
精确查询:
输入订票人身份证号码查询订票人详细信息。
模糊查询:
输入订票人的姓名(或订票人的姓或是年龄或是性别)查询出一系列相关的信息,然后可从小范围内找到订票人的详细信息。
4)查询乘客的详细信息:
精确查询:
输入乘客的身份证号码查询乘客的详细信息。
模糊查询:
输入乘客的姓名(或乘客的姓或是年龄或是性别)查询出一系列相关的信息,然后可从小范围内找到乘客的详细信息
5.2.1.2定票功能:
1)填写订票人的详细信息其中包括:
姓名、身份证号码、联系电话、地址等信息。
2)填写订票的详细信息,其中包括:
航班编号、订票时间、订票数量等信息。
5.2.1.3录入信息功能
1)取票功能:
根据输入的订票人身份证号验证订票人身份后,输入详细的乘客信息并进行保存。
2)直接购票:
直接输入乘客详细信息并保存(不通过订票人)。
3)录入航班信息:
录入航班的相关信息。
4)订票人取消订票:
保存订票人取消订票信息。
5.2.1.4修改功能
1)修改乘客信息:
将查找到的乘客信息,进行修改,然后进行保存。
2)修改订票人信息:
将查找到的订票人的信息进行修改然后进行保存。
3)修改航班信息:
将查找到的航班信息进行修改后保存。
5.2.1.5删除功能
1)删除乘客信息:
将查找到的乘客信息,进行删除。
2)删除订票人信息:
将查找到的订票人的信息进行删除。
3)删除航班信息:
将查找到的航班信息进行删除。
5.3性能
5.3.1灵活性
当需求发生某些变化时,机票管理应用软件操作方式、数据结构、运行环境基本不会发生变化,变化只是将对应的数据库文件内的记录改变,或改变过滤条件。
5.3.2可用性
软件应该尽可能的一目了然,使一般操作者能够使用。
5.3.3安全性
本套航空订票软件系统所涉及的数据存放于MicrosoftSQLServer数据库中,在程序中应尽可能的使用调用存储过程的方法以免使某人反编译软件后或入侵到服务器后对数据库的结构了如指掌,在程序中应该设置不同权限的人访问时的账户和密码,以保证数据不容易被错改、破坏,而且要经常对数据库进行备份操作,使得数据一旦受到破坏或是出错能够保证及时的恢复数据,将损失降低到最低。
5.3.4可维护性
5.3.4.1应用程序的维护
当用户使用本套航空订票系统软件时,遇到了软件本身的逻辑错误时,应当有软件的维护人员对软件进行修改。
5.3.4.2数据库的维护
应当有特定的数据库维护人员对数据库进行及时地进行备份,管理等操作,以保证数据库的安全性。
5.4输入项
管理员通过软件输入必要的信息,然后保存到数据库,所输入的信息是经过需求分析限定的内容,同时也是数据库中每个字段中存储的内容。
5.5输出项
本套航空订票系统软件会将所有需要浏览的数据显示在屏幕上,以便使用户能够浏览到数据库中的数据或用户想要浏览范围中的数据。
5.6算法
1)将管理员输入的数据,按字段保存到数据库中。
2)将数据库中的数据,按字段提取到用户界面中。
3)必要的去除重复项的算法。
4)按条件修改、删除数据中的数据。
5)保持表间数据的一致性。
5.7流程逻辑
5.7.1服务器端各模块的流程图
5.7.1.1查询模块流程图
5.7.1.2添加模块流程图
5.7.1.3修改模块流程图
5.7.1.4删除模块流程图
5.7.2客户端各模块的流程图
5.7.2.1查询模块的流程图
5.7.2.2订票模块的流程图
第六章系统数据结构设计
6.1逻辑结构设计要点
按照需求分析设计数据库中的字段,建立一个逻辑上的数据库的结构。
6.2物理结构设计要点
在数据库软件(SQLServer2000)中建立数据库,并要保证数据库最低要符合第二范式。
6.3数据结构与程序的关系
6.3.1静态数值需求
(1)支持并行操作的用户。
(2)处理多条记录数据。
(3)表或文件的最小为2048字节,最大无限制。
6.3.2精度需求
在进行提取数据库数据时,要求数据记录定位准确,在向数据库中添加数据时,要求输入数据准确。
主要的精度适应系统要求,不接受违规操作。
6.3.3时间特性需求
(1)响应时间应在人的感觉和视觉事件范围内;
(2)更新处理时间,随着应用软件的版本升级,以及网络的定期维护更新。
6.3.4灵活性
当需求发生某些变化时,管理应用软件操作方式、数据结构、运行环境基本不会发
生变化,变化只是将对应的数据库文件内的记录改变,或将过滤条件改变即可。
6.3.5数据管理能力需求
本应用软件可管理多条记录,本应用软件基本约用1,300千字节空间,所有文件均放置在数据库中调用,查询数据、文件、记录时,通过库文件名直接进行操作或通过存储过程来完成操作。
6.4数据库设计描述
6.4.1数据库分析
需将数据库设计成关系模式最低符合第二范式的标准。
按照需求分析,确定系统的实体。
根据实体分析的结果,在数据库中应建立如下数据表:
destine(订票人信息表)、flight(航班信息表)。
6.4.2数据库设计说明
(1)destine(订票人信息表)
在此数据表中存放的是订票人的其他信息,如:
所乘坐的航班号、所乘坐的机舱等级等信息。
订票人的信息表要与航班信息表有所关联。
在该信息表中包含以下字段:
destine_id(订票人身份证号码)、flight_no(航班号)、destine_count(订票数量)、destine_date(定票日期)、destine_status(订票状态)、destine_id(订票人身份证号码)、destine_phone(订票人联系电话)、destine_address(订票人地址)、destine_sex(订票人性别)、destine_age(订票人年龄)等字段。
(2)flight(航班信息表)
在此数据表中存放的是航班的起飞与降落的地点和时间,并通过flight_no(航班号)字段建立起与flight_infor数据表的表间连接。
在该信息表中包含以下字段:
flight_no(航班号)、begin_from(起飞地点)、end_address(降落地点)、begin_time(起飞时间)、end_time(降落时间)ticket_price(机票价格)等字段。
6.4.3数据库ER图
6.5、程序系统的组织结构
6.5.1系统组织结构图
6.5.1.1服务器端的组织结构图
第七章代码设计
7.1查询模块
为查询模块AirFirmQuery类的showResult方法添加代码,这个方法返回航空公司查询的结果:
publicvoidshowResult(ResultSetrs)
{
Stringresult=""+
"航空公司查询"+"\n";
result+="查询的航空公司:
"+airfirm+"\n";
result+="航班号航空公司起飞地点抵达地点起飞时间抵达时间"+
"儿童票价成人票价折扣班期"+"\n";
//Usedtodeterminewhethertherearenorecordsfound
intoriginLength=result.length();
Stringtime1,time2;
StringchildFare,adultFare,discount1,discount2,seat;
try
{
while(rs.next())
{
result+=rs.getString("flight")+rs.getString("airfirm")+rs.getString("start")+
rs.getString("destination");
//Whenyougetthetimefromtheresultset,itislike"1200".
//Soweshouldchangeitintotheform"12:
00".
time1=rs.getString("leaveTime");
time2=rs.getString("arriveTime");
//getTime(Stringtime)isusedtochangethetimeformintostandardone
time1=getTime(time1);
time2=getTime(time2);
result+=time1+""+time2+"";
//Makesurethatthefollowingitemshavetheexactlybits,
//sothattheycanbedisplayinaneatformat
childFare=String.valueOf(rs.getFloat("childFare"));
adultFare=String.valueOf(rs.getFloat("adultFare"));
discount1=String.valueOf(rs.getFloat("discount1"));
discount2=String.valueOf(rs.getFloat("discount2"));
seat=String.valueOf(rs.getInt("seat"));
//Makeeveryiteminaneatformat
while(childFare.length()!
=11)
childFare+="";
while(adultFare.length()!
=11)
adultFare+="";
while(discount1.length()!
=8)
discount1+="";
result+=childFare+adultFare+discount1+
rs.getString("week");
result+="\n";
}
}
catch(SQLExceptione)
{
e.printStackTrace();
}
//Meanstherearenorecordsfound
//Sogiveusermessagethatcouldn'tfindcorrelateinfomation
if(result.length()==originLength)
{
result+=""+
"对不起,找不到你想要的航班信息!
"+"\n";
}
//DisplaytheresultinamessageDialog
JOptionPane.showMessageDialog(null,re