民航售票系统.docx
《民航售票系统.docx》由会员分享,可在线阅读,更多相关《民航售票系统.docx(18页珍藏版)》请在冰豆网上搜索。
民航售票系统
课程设计报告
数据库原理
院别管理科学与信息工程学院
专业年级计算机科学与技术0912班
学生姓名1401091207宋美萱
1401091212姜英楠
1401091214李瀚文
任课教师李明
2011年10月10日
【摘要】
民航售票系统为广大旅客了解最新的出行信息提供了方便,以及进行对航班查询及订票,能够对自己的出行计划做出调整,控制减少航空公司的运营成本,减少人员支出,提高整个业务的工作效率,减少人工处理过程中可能遇到的失误,方便管理分析整个业务发展趋势,以制定出合适的发展方案。
本系统使得查询航班变得越来越方便,旅客订票越来越容易。
民航售票系统分为前台操作和后台处理,以数据库为核心。
整个系统围绕订票交易流程而设计。
总体上,其功能贯穿2条线:
一条线贯穿着航班查询、地点查询、旅客订票等操作流程;另一条线管理着航空公司的显示旅客订票信息等。
该系统正确、完整、及时地收集、加工、整理在整个订票业务流程中所发生的各类订票请求以及相关的机票信息。
通过该系统的多种多样的查询方式会让顾客越来越依赖此系统的便利性的,而且该系统极大地提高了工作效率。
关键词MyEclipseforSpring8.4MYSQL数据库课程设计民航售票系统
民航售票系统数据库系统设计报告
一、题目名称
民航售票数据库系统
二、题目简介
在实际中,我们购买飞机票可以在机场直接买票,也可以在售票点进行购买。
可以这样做就是因为有航空订票系统,如果没有该系统就需要所有的乘客都到一台计算机前购票,这样就严重影响效率。
在民航售票系统中,是应该有多个客户端的,通过这些客户端进行售票。
该系统是一个面向民航订票所开发的系统,用于对用户订票等各类信息进行管理。
本系统采用MyEclipseforSpring8结合MYSQL模式开发,针对民航工作的日常流程进行设计。
三、需求分析
1、系统目标
在航空订票系统中是明显的具有服务器端和客户端的,并且具有多个客户端,这样我们就需要使用网络编程中的多客户通信技术。
在表示客户端的售票点中,用户购票之前通常要先查看一下有哪些飞行路线。
在飞行路线中应该最少具有航班、起点、终点、价格和剩余票量等信息。
所以查询的时候应该有航班查询和地点查询两种方式。
查询得到飞行路线后,用户就要选择自己要购买的路线,因为航空票是需要记名的。
所以购买订单中最少具有航班、购买数量和购买者名称等信息。
生成订单后,还要将订单发送给服务器端,在服务器端中进行记录。
在服务器端中,要能够根据客户端发送的查询内容,得到所有路线,然后将这些路线发送给客户端。
在服务器端接收到订单信息后,要将该信息保存起来,并且根据订单中的购买数量来减少该航班的剩余票量。
2、功能模块划分
1)航班信息系统
2)客户信息系统
3、数据字典
1.数据项
1)数据项:
始发地
含义说明:
航班起飞地点
数据类型:
varchar
长度:
20
取值范围:
0-9999
与其他数据项的逻辑关系:
不能取空值
2)数据项:
目的地
含义说明:
航班降落地点
长度:
20
数据类型:
varchar
取值范围:
0-255个字符
与其他数据项的逻辑关系:
不能取空值
3)数据项:
票价
含义说明:
机票的价格
长度:
20
数据类型:
int
取值范围:
0-255个字符
小数位数:
2位
与其他数据项的逻辑关系:
不能取空值
与其他数据项的逻辑关系:
不能取空值
4)数据项:
姓名
含义说明:
乘客姓名
长度:
20
数据类型:
varchar
取值范围:
0-255个字符
与其他数据项的逻辑关系:
不可以取空值
5)数据项:
身份证号码
含义说明:
乘客的登机凭证
长度:
18
数据类型:
varchar
取值范围:
0-255个字符
与其他数据项的逻辑关系:
不可以取空值
7)数据项:
手机号码
含义说明:
乘客联系方式
长度:
11
数据类型:
varchar
取值范围:
0-255个字符
与其他数据项的逻辑关系:
不可以取空值
2.数据结构
1)旅客
含义说明:
旅客信息管理系统的一个数据结构,定义旅客的相关信息。
组成:
旅客号,顾客名,身份证号,手机号码
2)航班
含义说明:
航班信息管理系统的一个数据结构,定义航班的相关信息。
组成:
航班号,航班起点,航班终点
3)机票
含义说明:
机票信息管理系统的一个数据结构,定义机票的相关信息。
组成:
机票号,航班号,票价
4)售票
含义说明:
售票信息管理系统的一个数据结构,定义售票客的相关信息。
组成:
售票数量,汇总
四、概念结构设计
1.实现功能
根据需求分析报告,归结民航售票系统的结构和所要需求,整个航空公司票务系统分两个功能:
1.航空售票系统
(1):
航班信息
(2):
客户信息
(3):
订票信息
2.票务销售统计
(1):
票价信息
(2):
票价总汇
2.数据库结构E-R图
客户姓名
五、逻辑结构设计
根据上面所绘的订票系统E-R图联系及实体转换为下述关系模型:
旅客:
{顾客名,身份证号,手机号码}
航班:
{航班号,航班起点,航班终点}
机票:
{航班号,顾客名,票价}
六、数据库物理设计
1.设计目标
系统便于用户操作,便于数据的插入、查询,使用更加容易理解系统功能,实现访问权限的管理,以及航班信息管理系统常见的功能,便于管理员和用户的操作。
2.开发及运行环境
●操作系统:
Windows7
●数据库:
MYSQL
●开发工具:
MyEclipseforSpring8.4
七、数据库实施
(1)从需求分析中,已经知道在服务器中要保存飞行路线和订单这两种信息,所以要为它们分别创建数据库。
在飞行路线中,要具有航班、起点、终点、价格和剩余票量等信息,所以我们要为它们定义相应字段,其SQL语句为:
CREATETABLEaircraft
(
flightvarchar(20)PRIMARYKEY,
startvarchar(20),
endvarchar(20),
pricedouble,
numberint
);
insertintoaircraftvalues('CB984','changchun','beijing',530,56);
insertintoaircraftvalues('CS155','changchun','shanghai',1620,12);
insertintoaircraftvalues('ABX98','changchun','chengdu',780,30);
insertintoaircraftvalues('DFE45','changchun','beijing',620,12);
insertintoaircraftvalues('EFR56','changchun','xianggang',2440,50);
insertintoaircraftvalues('HY678','changchun','taibei',3550,55);
insertintoaircraftvalues('GRH12','changchun','nanjing',1234,90);
insertintoaircraftvalues('SD565','changchun','nanjing',1260,75);
insertintoaircraftvalues('CB156','changchun','shanghai',1600,20);
(2)在订单中,要具有航班、购买数量和购买者姓名等信息,所以也要为它们定义相应字段,其SQL语句为:
CREATETABLEorders
(
flightvarchar(20),
numberint,
namevarchar(20)
)
八、数据测试
(一)Java部分
(1)进入民航售票系统主页面,显示制作人信息,以及客户端和管理两个界面。
该界面如下图所示。
(2)在客户端中,进入航空订票系统后,首先进入查询界面,其中包括航班查询和地点查询。
在航班查询中需要输入航班,而在地点查询中需要输入起点和终点,该界面如下图所示。
(3)在查询界面中,输入航班或者输入起点和终点后,单击对应的“航班查询”按钮或者“地点查询”按钮,都会进入查询结果界面的。
在查询结果界面中要列出得到的所有路线,例如在航班文本框中输入“CA155”后,查询结果界面如下图所示。
(4)在查询结果界面中,单击“购买”按钮,就会进入购买界面。
在购买界面中,需要输入购买航班、购买数量和购买人的姓名以及证件号码等信息。
购买界面如下图所示。
运行成功以及失败结果如下图所示。
(5)要想获取指定航班的所有乘客名称,需要通过查询管理系统的订单数据表完成。
首先输入账号,密码。
如下图所示。
(6)在查询航班所有乘客界面类中,传递一个表示航班信息的字符串,从而获取该航班所有乘客的姓名。
其运行结果如图所示。
(二)数据库部分
(1)数据库连接用的mysql与java的驱动包。
下面是创建数据库minhang的显示以及所建表aircraft。
表aircraft的显示信息,包括航班号码,起始地点,票价信息等。
(3)所建表orders。
包括航班号,购票数,已经购票者姓名。
显示购票人信息,以及航班号码。
九、总结
该航空订票系统使用到了Swing界面开发技术、JDBC数据库编程技术和网络编程技术,该系统是主要使用网络编程技术,是以多客户机通信为基础开发的。
在开发网络编程的项目时,要首先判断是我们学过的哪一种模型,判断出是多客户机通信模型,则直接使用该模型的服务器和客户机程序框架。
然后再判断服务器和客户机之间传递的类型信息,本系统使用的是对象字节流。
由于对知识掌握的并不是很扎实,做出来的东西只能模拟真正民航售票系统的部分功能。
因为本系统是主要用JAVA技术来实现的,所以在JAVA方面有很多的研究和学习,在开发过程中,遇到了特别多的问题,通过查阅资料,问老师和同学的方式才得以解决。
系统每一项功能的完善,特别是每一处错误的改正,都加深了我们对这一方面的了解。
采用了面向对象的设计方法,分析出了本系统的大概数据流程,编写出数据库,画出了表格。
在本次的毕业设计的过程中我们也学习到了很多的知识,以前在课堂上和书本上学到的理论知识得到了具体的应用,加深了对所学知识的理解,并且让我们认识到了自己在编程以及美工方面的不足。
可以说这次毕业设计的过程对我们的动手能力和实际水平都有很大的提高作用。
总结本次课程设计,收获很多,比如为人治学态度方面要严谨、分析画图方面要细心、疑惑不懂要经常问、面对问题要耐心解决要团队合作,齐心协力等。