9基于ssm的航空售票系统.docx
《9基于ssm的航空售票系统.docx》由会员分享,可在线阅读,更多相关《9基于ssm的航空售票系统.docx(22页珍藏版)》请在冰豆网上搜索。
9基于ssm的航空售票系统
基于ssm的航空售票系统
摘要
21世纪的特征是数字化、网络化和信息化,它是一个以数据库技术为核心的信息时代。
而随着信息技术的发展,航空售票业也成为一个高度依赖信息业的行业。
信息技术的飞速发展不仅使航空售票工作者逐渐摆脱了繁重的手工劳动、提高了工作效率,而且推着航空事业向现代化管理迈进。
现代化的航空售票也应该有现代化的管理系统。
在科技日益发达的今天,人们对旅游出行更加重视。
因此,航空售票进行现代化管理就变的尤为重要。
本论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。
重点的说明了系统设计的重点设计思想和系统的详细设计。
实现了一个现代化的在线航空售票系统,可以简化便利航空公司业务压力同时为广大旅客出行提供便利。
关键词:
航空售票,航空售票管理,Java,Access
AIRTICKETINGSYSTEMBASEONSSM
ABSTRACT
KEYWORDS:
AirTicket,AirTicketManagement,Java,Access
目 录
前 言
现在人们更多的使用飞机作为出行交通工具,因此机票票务市场也在快速发展。
人们希望机票销售手段也能相应地有所调整,并对如何能经济、方便和及时地购买到自己所需要的机票表现出极大的关注。
随着社会的不断进步,国内外航空事业的飞速发展,各航空公司对票务管理的要求也在不断的提高,本系统就是针对这种日益增长的需求而进行开发的。
本系统实现一个单机版的机票销售管理系统,通过考察分析,构建出数据库,并且实现票务管理模块、客户信息管理模块和航班信息管理模块。
第1章绪论
1.1课题研究的背景
随着旅游业的逐渐的成熟发达,航空客运量大幅度的提高,国内国际的旅游航班的增加,这些都对航空的信息管理系统提出了更高的要求,所以要不断的完善更新航空售票系统,提高航空售票系统的工作效率。
航空系统中,售票系统是很重要的一个环节,要想提高整个航空公司的工作效率,就要先提高售票系统的工作效率和安全性,故而研发此系统,此系统能够为售票工作提供方便快捷的售票服务,广大的客户可以得到更好的票务服务。
本文通过分析航空公司的现状、发展历史、发展趋势、以及客户需求状况,基于研究背景设计和实现了一款基于SSM框架的航空售票系统。
1.2课题研究的意义
随着信息化在传统行业的不断渗透、人们消费习惯的改变以及网上支付业务的配套完善,在线票务板块的革新引人注目。
借势移动互联网,中国在线票务行业依托技术、资金与资源优势谋求从信息的获取转型服务的连接,不断进行技术革新,让用户摆脱买票时大排长龙的烦恼,打造轻松、便捷、愉快的购票体验。
本机票预订系统实现后,能够提高乘客的机票预定效率。
降低售票服务中的错误发生率,减少信息交流的烦琐过程及其带来的开销。
机票预订系统实施的目标就是要带给民航及国际旅游开发公司看得出见的效益,其开发过程中也要考虑到人力、资金和时间的约束。
因此,在设计中,重点是给用户更好的体验,减少不必要的程序流程,并提供快捷高效的旅行体验。
1.3课题研究的现状和发展趋势
1.3.1国内外发展现状
国内发展现状
从1996年,商旅管理初步进入人们视线,中国商旅行业也在国外优秀企业的大冲击下开始开启面对企业商旅管理的服务。
在这种大市场环境下,商旅管理、商旅投资收益成为企业的关注焦点[13]。
然而传统的一般旅游服务和面对企事业单位的商旅服务虽然有异曲同工之效,但是在实际操作中确有很大的差别。
如盈利模式,在一般旅游服务中,旅行社的收入主要来自代理销售机票酒店的差价,而在商旅管理中,收入主要是从合作客户中收取的服务费,而这一服务费的多少便与整个协议期间帮客户节省的商旅费用有关。
除此之外,在个性化程度上也有所差异,商旅服务要体现出一种管家式个性化服务,达到某企业全年的商旅费用预算,小到出差过程中的酒店、车辆安排都必须设计,而一般旅行服务则没有这么细致。
在我国,较为早期的在线旅行服务公司携程旅行网,成功的整合了高科技产业与传统旅行行业,向超过2000万的会员提供酒店、机票、度假、商旅等服务的预定与管理,被誉为互联网和传统旅游无缝结合的典范[14-16]。
除此之外类似去哪儿网、芒果网等,也均提供了较为完善的机票、酒店等信息。
但由于中外不同的经济发展状况,航空票务服务已经较为完善,但商旅管理在国内发展比较晚。
根据飞航网的数据提供,截至2012年,商旅管理在中国企业中,并没有得到足够的重视。
众所周知,只有当企业的商旅费用达到一定规模后,才需要商旅管理公司提供相应的服务,而众多的中小企业并没有商旅管理的理念,更谈不上商旅管理应用了,因此商旅管理仍然是一项较新的管理模式。
虽然近年来,国内提供商旅服务的公司如雨后春笋,但主要提供的服务目前仅集中在为企业提供机票预定、酒店预定的业务,仅仅实现了票务预定的作用,为企业节约成本的效果并不明显[17-18]。
根据2013年中国商旅服务市场研究报告显示,商旅管理在未来五年内仍将成为机票代理公司的新亮点,并呈现以本土化、专业化公司将获得良好发展机遇、行业并购整合将全面加速、互联网及移动互联网在商旅市场渗透率加快、商旅市场对人才的需求增长将加快、金融支付将加快进入商旅市场。
为此天津某航空服务公司将更加重视商旅管理方面的服务,从而获得企业发展的新方向、新动力。
国外发展现状
商旅管理这个词进入中国的时间并不长,但早在上个世纪50年代,国际上便已经出现了商旅管理的萌芽。
美国运通公司作为全球最大的商旅管理公司,已经较为超前的完成了商旅管理与信息技术的预订管理结合[19]。
在2007年的美国商务旅行协会NationalBusinessTravelAssociation(简称NBTA)上,美国运通公司便发布了全新的商旅信息网上管理工具AmericanExpressAXIS@Workml。
该工具将数据做了较好的整合,并在报告种类等多方面也有所建树,其可从全球超过60个重要市场上抽取和整合公司商旅费用信息口8侧。
欧美领先的在线旅游代理公司,也将焦点逐渐深入到传统的商旅管理公司业务领域,以Expedia商旅(ExpediaCorporateTravel)和Orbitz商旅(OrbitzCorporateTravelSolutionsGroup)为代表,ExpediaCorporateTravel推出的全球整合报告,基于互联网,实现来自多个预定渠道和多个地域的商旅整合管理;而Orbitz商旅公司,通过TRX的专业数据处理公司服务,实现了对预定订单的、信用卡支付、费用报销等商旅数据的全覆盖整合[20-21]。
第2章相关技术介绍
本章根据当前互联网技术和web开发技术的发展状况,分析各项技术配合使用的效果,确定项目开发使用技术。
2.1开发技术
前端界面的主要技术手段为HTML5语言,代替了传统的HTML语言来实现相关界面内容的美化与开发;采用Eclipse编译软件,通过Java编译语言来完成对系统的设计与实现。
Web服务器端则采用Tomcat服务器。
数据库系统则采用免费开源的MySQL数据库,进而简化整体系统的维护与执行。
系统框架采用Mybatis+Spring+springmvc[5]。
2.1.1MySQL概述
MySQL数据库的诞生为人们对于数据信息的使用提供了一个有力的平台,上个实际90年代以来。
数据库语言不断的标准化,成为了计算机行业一大通用的国际语言,推动了计算机技术与互联网技术的快速发展,为高校信息化的建设与发展起着重要的作用,便捷了高效对于计算机技术的快速应用[7]。
Mysql技术优势:
目前市场上常见的数据库主要有Oracle、sqlserver、mysql。
Mysql相对于其他数据库具有体积小、免费开源、运行速度较快的特点,并且可以支持多种操作系统。
可以简洁快速的完成一系列数据工作,其覆盖面包括对数据信息的定义与增删改查等操作,具有高效使用性能。
可以转化为客户所需要的文件信息进行传输与响应,删繁就简,将系统不必要的程序自动进行删除,而保留其中的关键程序,最终实现智能化的操作过程。
因此在本系统中采用mysql数据库【11】。
2.1.2Spring+SpringMVC+Mybatis框架整合
Spring+SpringMVC+Mybatis是目前JavaWeb开发中最流行的轻量级框架组合。
它们不依赖于重量级的JavaEE容器,能够运行在任何支持Java的服务器中;能够开发快捷、高效,并且具有良好的扩展性。
SSM集成框架是J2EE架构下的三大开源框架,是目前较为流行的一种搭建WEB应用程序的开源框架。
使用SSM能够提高开发效率,性能稳定,后期因需求变更也方便升级和改进,解耦合性强,还有良好的可扩展性和可维护性。
2.1.3Tomacat概述
Tomcat主要是运行于web服务器端的一个应用程序,或者说是一个中间构件。
作为web服务器端的一个容器,可以对servlet与jsp进行良好的支持与应用,并且扩展了应用程序的功能,具有一定程度的服务器特征[5]。
由于其免费开源的特性,因此可以从互联网上直接下载使用,并且可以进行学习与测试使用。
技术研发人员在对该程序进行使用的时候,依旧可以学习该程序的相关内容。
该应用程序具有良好的可兼容性与可移植性,因此可以应用于其他的服务器端,以此来提高服务器的处理效能,并且支持静态与动态网页的设置与使用。
Tomcat技术优势:
目前市场上常见的web服务器主要有IIS、WebLogic、Jboss等,Tomcat是一个免费开源代码的轻量级web服务器,是用来开发调试jsp程序的首选,相对于中间插件而言,其服务特性并不强大,因此无法对EJB等软件设备提供支持与使用,但是可以与web的Jboss服务器相互结合,进而可以实现对于EJB的支持与使用[3]。
本系统中Tomcat的使用主要是基于web服务器而提供相关的服务于信息。
进而提高了服务器端性能的稳定、减少了资源的浪费,尤其是针对于动态网页而言。
并且tomcat服务器还是免费开源的这可以极大减少系统的开发成本,因此综上所述在本系统开发中采用tomcat作为web服务器。
第3章需求分析
3.1可行性分析
3.1.1可行性分析
利用计算机实现航空信息管理势在必行。
对于航空公司来说,利用计算机支持管理部门高效率完成航空信息管理的日常事务,是适应现代航空公司制度要求、推动航空公司由劳动型管理走向科学化、规范化的必要条件;而航空信息管理是一项琐碎、复杂而又必须十分细致准确的工作,航线信息的管理,客户信息的管理,票务信息的管理,绝对的不允许出错,如果实行手工操作,需手工填制大量的表格,这就会耗费工作人员大量的时间和精力,而且安全度也不理想,利用计算机进行航空公司信息工作的管理,不仅能够保证各项信息准确无误、快速输出,同时计算机具有手工管理所无法比拟的优点,例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高航空信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
3.1.2经济可行性分析
本系统开发简单但要耗去一定的时间,所用的开发工具和软件都差不多是免费的。
而且,由于系统能够在未来较长的一段时期内稳定地发挥作用,这对于航空公司自动化管理,节省公司的人力、物力资源等都有很大的帮助。
由此可见,开发此系统在经济上是完全可行的。
3.1.3技术可行性分析
从目前IT业界比较流行的数据库开发、管理软件来看,对于航空管理这一类对数据要求比较严格的企业,Eclipse和Access的结合无疑是在实际应用中较为成功的一种解决方案。
为用户提供了软件开发一直坚持的非常友好、操作简单的用户界面、完善强大的数据库操作功能和简洁明了的数据库接口。
所以技术实行起来相对会容易。
3.2系统分析
3.2.1系统架构
本系统是基于SSM框架的Java开发,该框架选取主流开源产品搭建的技术框架,轻量的技术路线,适合于敏捷开发。
使用主流开源前端框架:
jQuery、Bootstrap、jQueryligerUI等,服务器使用动态模板技术,如SpringMVC,后端采取Spring+MyBatis实现关系型数据库业务逻辑。
本系统包含如下功能:
1、用户管理
管理员查看用户信息、修改用户信息、删除用户信息。
2、订单管理
管理员查询订单、修改订单、删除订单。
3、个人信息
用户登录、注册、查看个人信息、修改个人信息。
4、航班信息
用户查询航班、预定航班、改签航班、退订航班。
5、特色服务
用户拼车、目的地约车、系统景点推荐、酒店推荐。
系统架构图如图3-1所示。
图3-1系统架构图
3.2.2数据库需求分析
航空售票系统使用了Mysql数据库,Mysql数据库是一种可靠性好的、高效率、适应高的、吞吐量大的数据库,熟悉Mysql数据库的语法,系统需要利用数据库的增加、删除、修改、查找语句来实现信息的及时更新。
航空售票系统主要包括航空订票查询、航空售票管理、用户管理、航空售票管理、用户角色管理、用户角色分配等功能。
3.2.3数据字典
数据字典是指对数据的数据存储、处理逻辑、数据流、数据项、数据结构、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。
数据字典是一种用户可以访问应用程序元数据和记录数据库的目录。
航空售票系统的用户数据模型表的数据字典,是由用户详细信息组成的,而这些信息是保存在数据库中,用户可以通过该信息登录平台系统。
如表3-1所示。
表31航空售票系统用户数据模型表
数据项存储名
航空售票系统的用户信息
数据项来源
航空售票系统的用户信息信息表
数据项去向
航空售票系统的用户登陆模块
数据项组成
航空售票系统的用户信息=航空售票系统的用户账号+航空售票系统的用户密码
数据项描述
保存了航空售票系统用户的基本信息
航空售票系统票源信息的数据模型表是保存票源信息的数据字典,这些信息保存在数据库中。
如表3-3所示。
表33航空售票系统票源信息的数据模型表
数据项存储名
票源信息
数据项来源
票源信息表
数据项去向
票源信息模块
数据项组成
票源信息=票日期+出发城市+终止城市+价格
数据项描述
保存了发布的票源信息
用户订单信息的数据模型表是从数据库中输出数据,是保存用户订单信息的数据字典。
如表3-4所示。
表34用户订单信息的数据模型表
数据项存储名
用户订单信息
数据项来源
票源信息表
数据项去向
用户订单列表信息模块
数据项组成
用户订单列表信息=用户id+票id
数据项描述
查询了用户订单信息
第4章概要设计
4.1系统功能设计
本系统包含两个子系统,其中航空售票中心所使用的是航空售票管理系统,而航空售票中心所使用的是管理员用户子系统,管理员用户子系统又称为后台管理子系统。
每个子系统包换了若干子功能模块,每个子功能模块完成相应的处理操作功能。
其中管理员的权限是大于票据信息用户的。
基本设计流程如下图所示:
图3-1系统功能图
由图可知,当系统启动后,用户需要通过验证进入系统。
系统根据用户的验证判断用户的权限,当是管理员用户登录时会转入管理员功能模块,否则转入票据信息用户模块。
成功登录后,用户可以完成权限限制内的操作,即当前可以操作的功能模块。
用户操作时,系统自动判断用户所想要调用的功能子模块,并提交给用户,在用户完成操作后可以退出系统。
4.2系统总体结构设计
4.2.1总体功能设计
动态航空售票系统主要包括航空订票查询、航空售票管理、用户管理、航空售票管理、用户角色管理、用户角色分配等功能,各个功能的具体描述如下:
1.航空订票查询
(1)添加新的票据信息种类,票据信息种类为票据信息的上级目录;
(2)修改票据信息种类;
(3)删除票据信息种类;
2.航空售票管理
(1)添加新的票据信息,票据信息为系统的主要内容,其中票据信息又包括普通票据信息、图片票据信息和附件票据信息几个大类;
(2)修改票据信息,同时可以更新票据信息的附件;
(3)删除票据信息,同时从服务器上删除该票据信息所包括的附件;
3.用户管理
(1)添加系统管理用户,包括系统用户和航空售票管理用户,其中系统用户维护系统的正常运行,航空售票管理用户管理系统的票据信息信息及其资源;
(2)修改系统管理拥护,该项功能主要是修改用户的权限等;
(3)删除系统管理用户以及该用户的权限;
(4)管理用户更新自己的密码。
4.航空售票管理
航空售票管理主要是管理系统的票据销售管理功能,对需要旅行或外出需要空运的旅客售票服务。
它的具体功能如下:
(1)添加起始站点;
(2)添加终点站;
(3)添加旅客身份证;
(4)售票;
5.航空退票管理
航空退票管理主要是管理系统的退票管理功能,对延误旅行或因特殊原因需要退票的旅客退票服务。
它的具体功能如下:
(1)修改票据退票标示位;
(2)添加备注信息;
6.用户的角色分配管理
用户的角色分配管理主要管理用户的角色分配问题,不管是系统的新用户或是已经存在的老用户,系统可以动态分配给他们的角色。
它的具体功能如下:
(1)修改用户的角色;
(2)删除用户的角色;
4.2.2系统用例图
管理员用户管理用例图如图2-1所示。
图2-1管理员用户管理用例图
管理员登录之后,可以查询用户信息、删除用户信息、查询订单、删除订单、修改订单。
普通用户登陆、注册、查询航班、预定航班、改签航班、退订航班。
普通用户个人信息管理用例图如图2-2所示。
图2-2普通用户个人信息管理用例图
系统可以根据用户的需求,以及偏好给用户推荐相应的景点、酒店等。
系统特色推荐用例图如图2-3所示。
图2-3系统特色服务用例图
4.2.3数据库表设计
表4-1用户表
编号
字段名称
字段类型
字段说明
1
Uid
char
用户id
2
Name
Char
用户名称
3
Password
Char
用户密码
4
Email
Char
用户邮箱
5
phone
Char
电话
6
photo
blob
头像
表4-2票源信息表
编号
字段名称
字段类型
字段说明
1
Tid
Int自增长
票id
2
tdate
Date
起飞时间
3
fromCity
char
出发城市
4
toCity
char
降落城市
5
price
int
价格
表4-3订单表
编号
列名
数据类型
字段说明
1
oid
Int自增长
主键
2
uid
Char(外键)
用户id
3
tid
Char(外键)
票id
第5章系统详细设计
5.1用户注册实现
系统注册模块实现了登录用户注册功能,用户必须子再本系统进行注册之后才能使用本系统。
注册页面如图5-1所示。
图5-1通用货运平台登陆首页图
核心代码:
5.2用户登陆实现
用户注册之后需要登陆本平台然后才能进行相关操作,界面如图5-2所示:
图5-2
核心代码:
5.3找回密码功能实现
用户再注册之后如果忘记密码可以通过注册时登记的邮箱进行找回。
如图53所示:
图5-3
核心代码:
5.4航班查询实现
用户登陆平台之后就可以使用该平台进行票务查询以及进行预定,用户自身需求根据出发地,目的地,出发时间,三个条件进行查找。
可以将数据库中的所有相关航班信息查询出来,以供用户选择。
对用户查询的航班信息在航班详情页面以列表的形式展示出来并对相关信息列表进行分页展示,若用户想重新搜可以在本页面的重新搜索框进行搜索操作。
实现如图5-4所示。
图5-4
核心代码:
5.5航班预定实现
当前登录的用户的基本信息和选定的航班信息进行单独展示,点击航班预定页面的“确认预定”按钮,将整条航班信息添加到我的订单数据库,并跳转到支付页面。
在预定页面点击确认预定的时候,会跳转到支付页面,支付页面会生成一张支付二维码。
实现如下图5-5所示:
图5-5
5.6改签功能实现
用户可以通过我的订单模块进入自己的历史订单查看订单详情,在我的订单页面可以点击改签退票操作跳转到改签/退模块进行相应操作,主要实现如下图5-6所示:
图5-6
5.7管理员管理实现
管理员通过管理员账号密码登陆系统之后可以对航班表进行增删改查,对用户表和订单表进行查删。
主要实现如下图5-7所示:
图5-7
5.8用户信息修改实现
用户在登陆系统之后可以点击个人中心,通过name获取登陆用户的所有信息展示到此页面,点击切换头像可进行头像上传,点击编辑跳转到修改个人信息页面。
点击信息列表页面的编辑按钮,根据uid跳转到此页面,用户可更改邮箱,电话。
点击个人中心的修改密码跳转到此页面,根据name进行修改.主要实现如下图5-8所示:
图5-8
第6章系统测试
6.1测试目的
程序员在开发过程中,难以避免的会出现一些错误。
这些错误有可能出现在系统开发的各个阶段(如:
需求分析、概要设计、详细设计、编码),假如不能在系统上线投入使用之前尽可能减少bug,这些漏洞就有可能在系统运行之后带来巨大的损失,到时再纠正是一件比较麻烦的事情,付出的代价也很大,产生的后果也会非常严重。
开发任何一个软件系统都必须经过严格的检查测试才能正式投入使用。
只有经过严格测测试流程,才能保证软件系统中的错误能够及时被发现。
发现、检查并纠正错误是软件测试的一个重要步骤,也是对软件进行开发不可缺少的过程。
6.2测试方法
软件的开发流程是一个漫长复杂的流程,各个流程都有可能会出现错误,通信和配合在各类人员之间也不是十全十美的,所以,在每一阶段都会出现一些小差错,但我们会尽自己最大的能力去发现这些差错并及时的进行纠正。
假如在软件开发好之前没有发现到,但是这些差错随时都有可能暴露,一旦暴露就有可能产生难以估计的灾难。
因此为了能够提前发现软件系统中的漏洞就需要进行软件测试。
测试原则:
程序出现的错误是经过测试之后才发现的,这样我们就可以在发现之前没有发现到的错误。
定义测试:
“对程序进行执行的过程是为了将其中的错误寻找出来”。
对测试的目的要有正确的认识,并且对设计具有一定的决定性。
如果程序是正确的,并对其进行测试,就需要对测试方案进行设计。
6.3系统测试用例
(1)测试项目,如表6-1所示。
表61测试项目表
功能编号
测试项编号
测试内容
测试优先级
1
A1
预定机票
高
2
B2
登录功能
低
3
C3
改签功能
高
(2)测试需求,如表6-2所示。
表62测试项目需求表
序号
测试功能
测试优先级
A1
机票查询
高
A2
机票预定
高
B1
用户注册
高
B2
用户登陆
高
B2
用户个人信息查看
高
B3
用户个人信息修改
高
B4
个人订单查询
高
C1
订单改签
高
C2
退订
高
C3
支付
高
(3)测试用例,如表6-3所示。
表63测试项目用例表
测试需求
航空售票系统
描述
系统所有功能的测试
优先级
高
预置条件
管理员登录平台系统(账号:
admin密码:
admin)
测试时间
测试人员
测试用例序号
输入条件
操作步骤
预期输出
测试结果
A1
填写要查询的航班信息
点击查询