博主简介:🍅博客专家、Java领域优质创作者、掘金特邀作者、InfoQ/华为云/阿里云等平台优质作者、专注于IT技术领域和学生毕业项目实战,指导学生毕业设计并参与学生毕业答辩指导🍅
技术范围:✌Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能与大数据、单片机开发、物联网设计与开发设计、安卓app、大数据、物联网、机器学习等设计与开发、简历模板、学习资料、面试题库、就业指导、技术互助等✌。
业务领域:✌免费功能设计定制、任务书、中期检查PPT、开题报告、系统功能实现、项目定制、论文辅导、撰写和降重、长期答辩辅导答疑、远程会议一对一专业讲解答辩辅导、模拟演练答辩、和代码讲解理解逻辑思路✌。
🍅 文章底部获取项目源码联系方式🍅
👇🏻 精彩专栏 推荐订阅 👇🏻 在下方专栏👇🏻不然下次找不到哟
《Java精品推荐项目》
《springboot+vue项目100套》
《ssm项目100套》
【万字文档+PPT+源码】基于springboot+vue的航空票务管理系统-可用于毕设-课程设计-练手学习
摘 要
信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对航空票务管理等问题,对航空票务管理进行研究分析,然后开发设计出航空票务管理系统以解决问题。
航空票务管理系统主要功能模块包括首页、轮播图管理、公告管理、用户管理(管理员、用户注册)、内容管理(在线留言、在线留言分类、航空资讯、航空资讯分类)、更多管理(客机管理、航班信息、疫情政策、余额充值、余额提现、订单中心、订单退票、机票升舱、改签申请、改签付款),采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取Mysql作为后台数据的主要存储单元,采用springboot框架、Java技术、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对航空票务管理系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现航空票务管理系统和部署运行使用它。
第1章绪论
1.1研究背景与意义
用信息化推动工业化,用信息技术改造传统产业,这是我国迫切要完成的一项战略性任务。作为工业文明的产物―航空,如何借助信息技术的帮助,实现管理方式,运营组织,服务标准的现代化,这是摆在我国航空工作者面前的重大课题。
航空信息化是航空现代化的重要标志,其根本目的是将信息技术应用到航空经营与管理决策等各项活动中,改造传统产业,提高航空运营率,提高市场竞争力,提高航空运营经济效益。
在二十一世纪的今天,我们早已步入信息时代。随着计算机技术的高速发展,网络服务已经融入我们生活的方方面面。我国近年来不断发展航空交通,简单的窗口售票模式已经不能达到方便人们出行的目的。越来越多的人们选择在网络上购买飞机票,整合先进的网络技术及计算机管理体系研究出方便快捷的网上订票模式,是社会发展的必然趋势。
航空票务管理系统通过实现票务信息的计算机管理,提高工作效率。我们可以利用数据库将整个航空公司的票务情况存入计算机,通过丰富的用户接口,完成数据的访问和管理,以满足用户需求。一个航空公司售票信息管理系统应达到的目标是提供及时、广泛的信息服务,加快信息检索的效率,实况灵活的查询,减轻管理人员制作报表和统计分析的负担。但由于航空飞机票务管理的复杂性,本毕业设计与开发也仅是一个尝试性的工作,但它很有启发性,对于研究开发该类程序可以起一个抛砖引玉的作用。
1.2开发现状
当今世界,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。纵观全球经济发展,信息技术和信息产业已经成为经济增长的主要推的转化越来越快,正在改变着传统的生产和经营方式以至生活方式,发达国家经过产业结构的升级和经济结构的转型已进入信息经济阶段。中共十七届五中全会通过的国民经济和社会发展第十个五年计划建议中己明确指出:“信息化是当今世界经济和社会发展的大趋势,也是我国产业优化升级和实现工业化、现代化的关键环节.大力推进国民经济和社会信息化,是覆盖现代化建设全局的战略举措。可见,党和国家已将国民经济和社会信息化放在优先发展位置,体现了先进生产力的客观要求,这是一项重要的战略决策,这是民航加快发展的机遇,更是民航信息化的难得机遇。随着知识经济的到来,人类已经逐步进入信息化社会,信息增长的速度越来越快,人们希望利用先进的管理理论方法手段来得到并处理越来越多的信息,以提高工作效率和管理水平。由于信息资源对人们生活的重要性,不断提高信息的收集,传输,加以利用等活动,日益成为人们社会生活的重要组成部分。航空票务管理系统的产生和发展正好满足人们的这种需求。
第2章相关技术介绍
2.1 开发技术
本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。后端部分:采用springboot作为开发框架,同时集成MyBatis、Redis等相关技术。
2.2springboot框架
springboot(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地new
一个对象,而是让Spring框架帮你来完成这一切。
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
2.3JAVA简介
Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,java servlet API,SPRINGBOOT(java server pages),和XML技术。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。
2.4MySQL数据库
MySQL 经过多次的更新,功能层面已经非常的丰富和完善了,从MySQL4版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的MySQL支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷。
针对本文中设计的软件工程课程在线考试系统在实际的实现过程中,最终选择MySQL数据库的主要原因在于在企业的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高。综合这些因素,最终选择安全性系数比较高的MySQL来对软件工程课程在线考试系统后台数据进行存储操作。
第3章系统分析
3.1可行性分析
技术性方面,采用当前主流的springboot框架进行系统主体框架的搭建,前台使用jquery,ajax,实现前台页面的设计与美观调整,以上技术,均由本人经过系统学习,并且都是在课程设计中实践过的,可以使得开发更加便捷和系统。从技术角度看,这个系统是完全可以实现的。
实用性方面,本次设计的主要任务是在航空票务管理系统内首页、轮播图管理、公告管理、用户管理(管理员、用户注册)、内容管理(在线留言、在线留言分类、航空资讯、航空资讯分类)、更多管理(客机管理、航班信息、疫情政策、余额充值、余额提现、订单中心、订单退票、机票升舱、改签申请、改签付款)等,符合当前潮流的发展。从用户角度出发,同时也考虑系统运营成本和人力资源,采用网络上的便捷方式,实现线上业务,使得业务流程更系统,也更方便用户的体验,比较实用。
经济性方面,由于本课题中设计的航空票务管理系统的主要目的是为了能够更加方便及快捷的进行票务信息的查询管理及检索服务,也就是能够可以直接投入使用的信息化软件。系统的主要成本主要是集中在对使用数据后期继续维护及其管理更新这个操作上。但是一旦系统投入到实际的运行及使用之后就能够很好的提高信息查询检索的效率,同时也需要有效的保证查询者的信息方面的安全性,同时这个航空票务管理系统所带来的实际应用方面的价值是远远的超过了实际系统进行开发与维护方面的成本,因此,从经济上来说开发这个软件是可行的。
3.2功能需求分析
航空票务管理系统的功能主要分为前台用户根据自己的需求进行注册登录,浏览航班信息并对选中的航班进行购票操作。后台系统管理员因职责的不同,主要对客机管理、航班信息、疫情政策、余额充值、余额提现、订单中心、订单退票、机票升舱、改签申请、改签付款进行处理。
用户用例图如下所示。
管理员用例图如下所示。
3.2.1前台用户功能
前台用户可分为未注册用户需求、已注册用户需求。
- 未注册用户的功能如下:
注册账号:用户填写个人信息,并验证手机号码。
浏览航空资讯数据:用户可以浏览主页面的航空资讯数据来了解系统的最新资讯数据。
浏览航班信息:用户可以浏览航班信息,并选中某个航班查看详情,例如:出发地、目的地、出发时间、到达时间、航班类型、座位类型、客机编号、客机型号等。 - 已注册用户的功能如下:
登录:根据账号密码进行登录操作。
维护个人信息:用户因个人信息的变更可以随时修改自己注册信息。
购票信息:用户根据自己的需求选中某个航班进行购票操作。
查看订单:用户可以查看自己以往购票的信息。
余额充值、余额提现:用户可以查看自己余额信息,并进行充值或提现操作。
订单退票:用户可以提交退票原因、退票时间等信息进行退票,并查看审核状态。
机票升舱:用户可以提交申请原因、申请时间等信息进行退票,并进行补票支付、查看审核状态。
改签申请、改签付款:用户可以提交改签原因、申请时间、改签出发地、改签出发时间、改签张数等信息进行改签,并进行改签付款、查看审核状态。
3.2.2后台管理员功能
管理员功能如下:
修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。
对购票单信息进行处理:办理购票审核等。
航班信息管理:对航班信息进行维护,添加、删除、修改信息。
资讯数据信息管理:发布、删除相关的资讯数据信息。
用户管理:可以查看注册用户的信息,并对其进行管理。
客机信息管理:对客机信息进行维护,添加、删除、修改信息。
在线留言:对用户留言信息进行查看、回复等。
疫情政策:发布、删除相关的疫情政策。
余额充值、余额提现:可以查看注册用户的余额充值、余额提现信息,并对其进行管理。
订单中心:可以查看注册用户的订单信息,并对其进行审核。
订单退票:可以查看注册用户的退票信息,并对其进行审核。
机票升舱:可以查看注册用户的机票升舱申请,并对其进行审核。
改签申请、改签付款:可以查看注册用户的改签申请、改签付款,并对其进行审核。
第4章系统设计
4.1系统架构设计
本航空票务管理系统的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。
系统架构如下图所示。
4.2 系统总体设计
航空票务管理系统总体分为前台用户模块和后台管理员模块。
两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。
综上所述,系统功能结构图如下图所示。
4.3系统功能设计
- 登录模块:登录模块是进入系统的入口,所有用户必须登录后才能访问系统。登录需要输入用户名和密码,如果多次尝试登录需要输入验证码。登录时需要选择用户的角色,是一般用户还是管理员登录等。登录成功后,会通过数据库获取用户的权限,并跳转至用户的主页面。
- 管理员用户管理模块:管理员管理包括:管理员的添加,修改和删除操作。添加管理员时,先判断用户添加的管理员是否是admin(超级管理员),如果不是则添加成功。修改时候,如果是超级管理员,可以修改所有管理员的信息,如果是普通管理员,那么只能修改自己的信息。超级管理员可以删除自己以外的所有其他管理员,普通管理员不能执行删除管理员的操作。
- 留言信息模块:留言信息促进用户之间的交流,发表个人意见、建议、看法等,在留言板可以查看已有的留言记录,发布新留言,可以展示个人动态头像,个人匿名昵称等。
资讯数据模块:可分为资讯数据浏览、资讯数据检索、资讯数据维护三个模块,管理员对资讯数据有维护的权限,发布新的资讯数据、更新已有的资讯数据等。 - 航班信息管理模块:航班信息管理分为航班添加、修改和航班购票。航班信息由管理员进行修改、添加、删除操作;航班购票由普通用户来执行。
- 订单信息管理模块:订单信息管理分为订单查看、退票、升舱、改签。订单查看、退票、升舱、改签信息由用户进行操作;订单、退票、升舱、改签审核由管理员来执行。
第5章系统实现
5.1注册模块的实现
用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败,注册页面的表单验证是通过JavaScript进行验证的,用户名的长度必须在6到18之间,邮箱必须带有@符号,密码和密码确认必须相同,你输入的密码,系统会根据你输入密码的强度给出指定的值,电话号码和身份证号码必须要求输入格式与生活相符合,当你前台验证通过的时候你点击注册,表单会将你输入的值通过name值传递给后台并保存到数据库中。
用户注册流程图如下图所示。
用户注册界面如下图所示。
5.2登录模块的实现
主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布航班信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。
登录流程图如下图所示。
用户登录界面如下图所示。
5.3前台用户模块的实现
首页,用户登录进入系统前台首页,可以查看首页、在线留言、公告信息、航空资讯、航班信息、疫情政策、余额充值、我的等功能模块,并进行相对应的操作,如下图所示。
在线留言,用户在在线留言页面可以提交封面图、标题、分类、标签、正文等信息,如下图所示。
航班信息,用户在航班信息页面可以查看航班信息详情信息,并可进行购票操作,如下图所示。
购票,用户在购票页面可以提交出发地、目的地、出发时间、到达时间、航班类型、座位类型、客机编号、客机型号、票价、购买张数、总金额、用户账号、选定座位等信息进行购票,如下图所示。
5.4用户后台管理模块的实现
余额提现,用户在余额提现页面可以提交账号编号、账户余额、提现金额、提现时间、提现银行卡、用户账号等信息进行余额提现操作,如下图所示。
订单退票,用户在订单退票页面可以提交出发地、目的地、出发时间、到达时间、航班类型、座位类型、客机编号、客机型号、票价、购买张数、总金额、用户账号、退票原因、退票时间等信息进行退票操作,如下图所示。
改签申请,用户在改签申请页面可以提交出发地、目的地、出发时间、到达时间、航班类型、座位类型、客机编号、客机型号、票价、购买张数、总金额、用户账号、改签原因、申请时间、改签出发地、改签出发时间、改签张数等信息进行退票操作,如下图所示。
5.5管理员功能模块的实现
首页,管理员登录进入系统首页,可以查看首页、轮播图管理、公告管理、用户管理(管理员、用户注册)、内容管理(在线留言、在线留言分类、航空资讯、航空资讯分类)、更多管理(客机管理、航班信息、疫情政策、余额充值、余额提现、订单中心、订单退票、机票升舱、改签申请、改签付款)等功能模块,并进行相对应的操作,如下图所示。
客机信息,管理员可以在客机信息页面查看客机编号、客机型号、服役时间、状态、客机图片、创建时间、更新时间等信息,并可进行添加、删除、详情等操作,如下图所示。
航班信息,管理员可以在客机信息页面查看出发地、目的地、出发时间、到达时间、航班类型、座位类型、客机编号、客机型号、剩余票数、票价、封面、座位等信息,并可进行查询、添加、删除、重置、详情等操作,如下图所示。
机票升舱,管理员可以在机票升舱页面查看出发地、目的地、出发时间、到达时间、航班类型、座位类型、客机编号、客机型号、申请原因、申请时间等信息,并可进行查询、添加、删除、重置、详情、审核、支付等操作,如下图所示。
文档截图
项目获取
👇🏻 精彩专栏 推荐订阅 👇🏻 在下方专栏👇🏻不然下次找不到哟
《Java精品推荐项目》
《springboot+vue项目100套》
《ssm项目100套》
欢迎大家点赞、收藏、关注、评论啦 、查看下方二维码👇🏻获取项目👇🏻资料联系方式👇🏻