航空票务管理网站开发与实现
2022-11-17张晶晶
张晶晶
(广州海洋地质调查局,广东 广州 510075)
0 引 言
目前,在国内外各大航空公司中,越来越多的票务系统被应用,也有很多票务管理的微信小程序的出现。但是不同的航空公司的票务系统都大不相同,每个航空公司的需求不一样,所投入使用的票务管理系统的核心内容就不同。随着交通的便利,日常生活的需要,越来越多的航次被开启,以至于票务系统的操作量呈几何倍增长,并且传统的系统并不能满足出行的各种需求,一款具有操作方便、功能丰富、减少人工售票、流程简单、整体性强和通用性强等特点的票务系统就显得必不可少。
1 项目背景
1.1 项目背景
随着社会的不断进步、生活质量的不断提高,人们越来越追求效率生活,短时间内解决问题的系统就应运而生。传统的系统管理员的形式和内涵都在发生根本性的变化,航空票务系统已经被越来越多的大众所认知,所接受。在现代化城市之下,智慧系统的思想是未来的趋势,一个便捷全面的航空票务管理系统是必不可少的。
1.2 开发工具
1.2.1 前台编程语言与环境介绍
JSP 语言:JSP 全称为JavaServerPages,中文名叫Java服务器页面,其根本是一个简化的Servlet 设计,它是由SunMicrosystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。
1.2.2 后台数据库管理系统介绍
(1)Java 语言:Java 是一种可以撰写跨平台应用的面向对软件象的程序设计语言。Java 技术之所以被广泛运用,是因为其具有Generality 通用性、Efficiency 高效性、Platform portability 平台移植性和Security 安全性等,Java由三个体系组成,分别为JavaSE(Java 2 Platform Standard Edition,J2SE,标准版),JavaEE(J2EE,Java 2 Platform Enterprise Edition,企业版),JavaME(J2ME,Java 2 Platform MicroEdition,微型版)。
(2)MySQL:MySQL 是当前网络数据中最流行最方便的数据库管理系统,在Web 应用方面MySQL 是最好的关系数据库管理系统(Relational Database Management System,RDBMS)应用软件之一。MySQL 是一种关联数据库管理系统,就是将数据存储在不同的表中,与其他数据库不同,并不是将所有的数据存储在一个大集合中,不仅使其更加灵活而且大大提升了运行速度。MySQL 所使用的SQL 语言用于访问数据库的最常用标准化语言。MySQL软件可以分大致分类为两种,即社区版本和商业版本,而且其授权政策为双授权政策,开放源码这一特点让MySQL在众多数据库中脱颖而出,再加上其存储空间利用率高、速率快,总体成本可控,所以被称为数据库中的“大明星”。由于其社区版的性能卓越,搭配PHP、Linux 和Apache 可组成良好的开发环境,经过多年的Web 技术发展,在业内被广泛使用的一种Web 服务器解决方案之一,称之为LAMP。MySQL 使用C 和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
(3)Tomcat 虚拟服务器:Tomcat 被广大程序开发者所运用,因为其运行中资源利用率高,性能好,而且支持负载平衡和邮件服务等一列系统开发常用功能;最重要的一点是Tomcat 为了致力服务于广大系统开发,持续不断的更新完善被业界所看好,每个人的IDEA 都可以成为其新功能供大家使用。Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
(4)MyEclipse 介绍:MyEclipse,是在Eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、JavaEE 以及移动应用的开发。MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。MyEclipse,是基于Eclipse开发的功能强大的企业级集成开发环境,主要用于Java、JavaEE 以及移动应用的开发。全面支持各种主流的第三方框架,让你能够快速高效地进行开发工作。
(5)B/S 模式的概念介绍:B/S(Browser/Server)结构,即浏览器/服务器模式,是继Web 后的一种新型网络结构模式,Web 浏览器作为客户端中最流行的应用软件。其模式使客户端进行统一,把服务器作为系统功能实现的核心部分,便捷人性化的开发、使用以及维护。B/S 最大的特点就是可以独立自主的运行,而不借助与其他专业软件,其使用环境要求相对较低,普通联网的电脑就可以使用,而且客户端不需要安装以及维护,系统的扩展也相对简单。
2 需求分析
2.1 用户功能需求
系统管理员模块功能:设置用户、用户名、密码,对航空班次进行添加/修改与删除、网站新闻与公告管理、留言管理。
用户模块功能:订票、退票、改签、查询。
一般用户模块功能:对网站进行浏览与查询。
2.2 管理系统用例图
系统主要是由用户部分和系统管理员部分组成,系统管理员可进行用户管理、航班管理、发布网站新闻公告、留言管理等;用户可以进行个人信息查询、机票预订、机票退订、机票改签、机票查询等。用例图如图1所示。
图1 用例图
3 总体设计
3.1 系统结构图
根据需求开发了一款基于B/S 模式的“航空票务管理系统”,主要分为前台和后台,系统包含了以下几个基本的功能:航班查看、用户注册、用户登录和管理员登录,订单查询等等。用户划分为管理员、用户,乘客部分为用户管理,包含注册新用户、修改用户资料、对机票进行查询、退票、预定、改签。管理员对整个售票系统具有管理职能。管理员的具体工作有:对航班信息进行整理发布、用户的管理和维护、对航空公司管理相关航空公告的管理、机场留言的管理。本系统所运行的功能模块图如图2所示。
图2 功能模块图
3.2 界面设计
3.2.1 首页设计
首页主要为航班信息查询,在左侧部分主要用于用户登录和查看系统公告,中间部分主要公布航空新闻和广告信息及一些优惠信息。
3.2.2 用户界面设计
登录用户界面进入系统功能菜单,可以查看用户个人信息、预订机票的下单记录、退票记录、订单的详细信息等。
3.2.3 管理员界面设计
管理员界面设计主要有:系统用户的管理,航班信息的管理,对航班信息进行添加、查询,票价信息的管理,对票价进行添加、查询,用户票务管理,对用户订票记录的查询、订单信息的查询、退票信息的管理,前台新闻的管理,对前台新闻的添加查询等。
3.3 系统数据库的设计
3.3.1 票务系统概念模型设计
票务系统概念模型设计的方法是用绘制E-R 图的方法,即:实体—联系模型表示。本系统E-R 图如图3所示。
图3 E-R 图
3.3.2 数据库表设计及结构
数据库表设计及结构主要为:
(1)创建订票表:主键、编号、始发站、终点站、票价、起飞时间、座位、价格、数量、金额,如表1所示。
表1 订票表
(2)创超级管理员表:主键、用户姓名、密码、权限、总价、添加时间,如表2所示。
表2 管理员表
4 详细设计与编码
(3)创建用户表:主键、用户名、密码、姓名、电话、QQ、家庭地址、性别、邮箱,如表3所示。
表3 用户注册表
xingbeivarchar否 是QQ varchar否 是youxiangvarchar否 是?
4.1 用户登录模块
用户登录流程图如图4所示,用户输入登录信息内容,验证是否输入正确,如果输入正确,则登录成功,相反,如果输入的信息不正确则显示登录失败,返回重新输入正确信息,直到成功登录为止。
图4 用户登录流程图
4.2 航空售票模块
在售票流程图中,输入登录信息,查询航班班次信息,选定航班班次,传送数据中心并发送锁票指令,查看是否成功执行,如果执行失败则要再次选定航班班次,如果成功则执行下一步选择即取票方式,进行网上支付,如果支付失败,则要返回网上支付的页面重新支付,如果支付成功则发送验证码,通过两种方式取票,一种是凭自己的身份证和验证码取票,一种是通过快递取票。程序流程示意图如图5所示。
图5 程序流程示意图
4.3 航空订票模块
用户通过查询航班班次或者返回航班班次结果,进入订票的页面;选择航班班次并订票,向中心数据库请求订票,更新座位状态,记录订票信息,返回订票结果。订票模块示意图如图6所示。
图6 订票模块示意图
5 系统测试
5.1 系统测试的目的以及任务
对于测试目的给出了以下的观点:
(1)测试是一个系统投入运行必不可少的过程。
(2)一个合理的测试方案,可以快速找出系统漏洞,加快运行节奏。
(3)具体的测试内容往往是实际运行中常见的问题。
(4)模拟用户需求加以测试。
5.2 系统测试环境
测试系统:Windows 10;测试浏览器:Google Chrome。
5.3 部分功能模块测试
对售票管理模块、管理员模块、订票信息管理模块、用户管理模块进行测试,如表4至表7所示。
表4 售票管理模块测试
表5 管理员模块测试
续表
表6 订票信息管理模块测试
表7 用户管理模块测试
6 结 论
航空票务网站的设计与开发极大程度地优化了现存网站的不足,此网站的开发使用户可以用最快、最准确的方式购买合适的机票;后台服务管理人员也可以更高效的处理用户反馈的问题,及时解决客户在使用过程中的困难。