【个人作品参考案例】飞机订票系统的设计与实现

摘  要
随着中国经济走向快车道的发展,人均收入在不断地提高,在物质生活得到提高的同时,就会会利用节假日去旅行。在众多出行方式中,由于飞机的独特性与便捷性成为人们的首选。因此,如何高效的对飞机进行订票是人们首要关注的地方。但是,在此之前,人们对于飞机订票还是采取传统的线下购买方式,其效率低且流程较为繁琐,稍有不慎,极容易对用户的出行带来不好的影响。基于上述问题的发生,需要开发一套系统进行协助解决。
飞机订票系统,综合运用互联网思想进行开发设计的。经过本人前期的学习和了解,本系统拟采用Java语言作为系统实现的编码语言,系统所有功能的实现通过使用SpringBoot框架进行编码完成,系统所有页面效果通过使用Vue框架进行编码完成,所有功能模块的数据通过使用MySQL数据库进行存储的。结合本系统实际的应用场景,最终实现了用户和管理员角色[15]。主要将实现的功能有航班信息管理、航班线路管理等功能[15]。
本文为了满足管理员等用户角色对于飞机订票系统的实际需求,从提升用户使用系统的体验感等方面,设计并实现了本系统所有的功能,通过系统的设计可以实现飞机订票的高效快捷。

关键词:飞机;订票;Java;SpringBoot;Vue
Abstract
With the rapid development of our country’s economy and the continuous increase in per capita income, while our material life improves, we will use holidays to travel. Among many modes of transportation, airplanes have gained people’s approval due to their uniqueness. Therefore, how to efficiently book flights is the primary concern for people. However, prior to this, people still adopted the traditional offline purchasing method for airplane booking, which was inefficient and the process was cumbersome. Any slight carelessness could easily have a negative impact on users’ travel. Based on the occurrence of the above problems, it is necessary to develop a system to assist in solving them.
The aircraft booking system is developed and designed using internet technology. After my previous learning and understanding, this system intends to use Java language as the coding language for system implementation. All functions of the system will be implemented through coding using the SpringBoot framework, all page effects of the system will be encoded using the Vue framework, and the data of all functional modules will be stored using a MySQL database. Based on the actual application scenarios of this system, the user and administrator roles were ultimately implemented.
In order to meet the practical needs of administrators and other user roles for the aircraft booking system, this article designs and implements all the functions of the system from the aspects of improving the user experience of using the system. Through the design of the system, efficient and fast aircraft booking can be achieved.

Keywords:Aircraft; Booking tickets; Java; SpringBoot; Vue
目录
摘  要 I
Abstract II
第一章 绪论 1
1.1 研究背景 1
1.2 研究意义 1
1.3 国内外研究现状 2
1.4 主要研究内容 2
1.5论文结构 3
1.6本章小结 3
第二章 相关技术介绍 4
2.1 Java技术简介 4
2.2 MySQL数据库简介 4
2.3 SpringBoot框架介绍 4
2.4 Vue框架简介 5
2.5 IDEA开发工具简介 5
2.6本章小结 5
第三章 飞机订票系统需求分析 6
3.1 可行性分析 6
3.1.1技术可行性分析 6
3.1.2经济可行性分析 6
3.1.3操作可行性分析 6
3.1.4法律可行性分析 7
3.2需求分析 7
3.2.1登录注册模块的功能需求 9
3.2.2用户管理的功能需求 9
3.2.3首页模块的功能需求 9
3.2.4航班信息管理模块的功能需求 10
3.2.5航班路线管理模块的功能需求 10
3.2.6航班次序管理模块的功能需求 10
3.2.7个人中心管理模块的功能需求 10
3.2.8系统管理模块的功能需求 10
3.2.9订单管理模块的功能需求 10
3.3系统非功能需求分析 11
3.4本章小结 11
第四章 飞机订票系统设计 12
4.1系统设计目标与原则 12
4.2系统架构设计 13
4.3系统功能模块设计 13
4.3.1 系统总体功能模块 13
4.3.2 系统功能模块设计 14
4.4系统数据库设计 19
4.4.1 数据库的设计原则 19
4.4.2 实体属性 20
4.4.3 数据库表设计 23
4.5本章小结 28
第五章 飞机订票系统的实现与测试 29
5.1 系统实现环境 29
5.2 前台功能模块实现 29
5.2.1 用户登录注册模块的实现 29
5.2.2 首页模块的实现 31
5.2.3 航班信息模块的实现 32
5.2.4 航班资讯模块的实现 33
5.2.5 个人中心模块的实现 34
5.3 后台功能模块实现 34
5.3.1 管理员登录功能模块实现 34
5.3.2 个人中心功能模块实现 35
5.3.3 用户管理功能模块实现 37
5.3.4航班线路管理功能模块实现 37
5.3.5航班次序管理功能模块实现 38
5.3.6航班信息管理功能模块实现 39
5.3.7系统管理功能模块实现 40
5.3.8订单管理功能模块实现 43
5.4 系统功能模块测试 43
5.4.1测试目的 43
5.4.2测试方法 44
5.4.3测试环境 44
5.4.4系统功能测试 44
5.4.5测试结果 47
5.4.6测试总结 48
5.5 本章小结 48
总结 49
参考文献 50
致谢 51

第一章绪论
本章中主要包括对飞机订票系统的研究背景和研究意义进行分析介绍,结合本课题现实应用的场景等方面进行比较分析,找到未来需要重点解决的方向,同时重点对本论文结构的相关主要等内容进行介绍。
1.1 研究背景
据一份来自民航部门的数据显示,2023年仅1月5日当天,全国航班数量达到了8500架次,其中国内航班数量达到了8200多架次。面对这么庞大的市场,如何高效的进行飞机订票,是当下用户跟运营商关注的地方。但是,在此之前,很对用户对于飞机订票方式采取线下购买的方式,其效率低下且流程较为繁琐,稍有不慎,就会对用户的出行带来不好的影响。同时,各大航班公司对于机票的售卖比较单一,需要大量的人力以及物力来进行支撑。基于此,开发飞机订票系统就显得很重要。
1.2 研究意义
飞机订票系统的设计与实现,可以便于用户对机票进行订票以及运营商对飞机票进行售卖,其具体的意义有以下三个方面。对于用户而已,通过使用系统更加方便的进行机票的预定,不需要花费大量的时间在线下进行订票,缩短了时间。对于管理员来说,通过系统,可以更好的管理机票信息,拓宽了销售渠道,提高了经济收益。对于本人而言,此次系统开发涉及的技术,是大学四年学习到的知识。
1.3 国内外研究现状
国外由于计算机技术以及经济比较发达,其飞机订票系统的研究比较早,在20世纪的50年代就已经在美国进行应用。美国航班公司最早开发的飞机订票系统叫SABRE网站,并在1963年首次开始部署应用。那时,SABRE网站每天处需要理用户的85000个电话,40000多个飞机订票信息。随着计算机发展到今天,该网站数据库可以记录用户的450万条数据。除此之外,美国还有其他的飞机订票系统。Expedia网站就是一个非常受欢迎的机票预订平台,可以给用户提供机票预定等相关的服务。
由于某种历史原因,国内在飞机订票相关的发展较为缓慢。在20世纪90年代以前,国内交通方式,在管理体制等方面都比较落后。在2023年的今天,国内飞机订票系统有很多成熟的网站。像携程旅行,可以随时随地的给用户提供机票等相关的服务。从而实现用户可以畅享旅游攻略,达到出行、旅游不用愁的愿景。
1.4 主要研究内容
文主要针对飞机订票系统的开发进行研究与设计,本文的具体工作是开发设计一个飞机订票系统。主要是对目前诸多用户对于飞机订票的方式进行了分析。再对课题实现具体的用户需求分析上,本文将对飞机订票系统具体实现的功能进行设计,通过对飞机订票系统进行具体的功能分析,主要实现登录、航班信息管理、航班线路管理等方面的具体需求。
根据需求,本系统嵌套应用主要是采用的技术是一种基于B/S的架构,基于网站访问的的用户端能随时对服务器上发出去的各种操作信息提出访问请求,与此同时,基于网站访问的的服务端也就能够实现从服务器端接收到数据信息。
1.5论文结构
本篇论文总共为六章内容,每章的具体结构安排如下:
第一章 绪论。介绍研究课题具体的背景及意义等内容进行分析说明。
第二章 相关技术介绍。在本章节主要简要描述系统实现涉及的一些技术。
第三章 飞机订票系统需求分析。本章中主要描述系统需求分析、可行性分析等内容。
第四章 飞机订票系统设计。详细描述了主要功能模块的具体实现。
第五章 飞机订票系统的实现与测试。该章节简要描述了系统测试目的以及主要功能模块的测试等内容。
第六章 结论与展望。主要是对本篇论文的撰写以及总结等内容。
1.6本章小结
本章中飞机订票系统根据课题相关的的选题背景及选题意义和主要研究内容等方面进行了详细的概述。下面的章节将根据系统相关的理论和技术进行介绍。
第二章相关技术介绍
在飞机订票系统的具体功能模块实现方面,主要将运用Java语言进行编码实现,将用到SpringBoot框架等技术进行编码实现。本章将对本课题的所涉及到的框架设计、以及数据库的有关基础知识,加以简单阐述。
2.1 Java技术简介
Java编程语言本身具有结构简单的特点,在应用过程中,可以直接实现源代码向二进制节码的转换,编程过程中能够自动进行有关开发垃圾的清理,使得计算机软件开发程序可以自动剔除无用的程序[12]。Java编程语言具有可扩展性,在这一理念下,利用Java编程语言所开发的计算机软件具有较好的兼容性与灵活性[12]。
2.2 MySQL数据库简介
MySQL数据库又被称作是一种关系型数据库管理系统,最早之前是由瑞典的MySQL AB公司进行开发的,目前是属于Oracle公司旗下的产品之一。在企业级应用开发方面,MySQL数据库是最好的RDBMS的应用软件之一。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库[7]。
2.3 SpringBoot框架介绍
SpringBoot框架的设计团队主要是由Pivotal团队设计开发的一款Java应用框架,该框架设计的目的是简化Spring框架项目中繁琐的配置信息。通过特殊的配置信息,能够让开发人员不需要进行繁琐的配置信息就可以进行开发。通过这种特殊的方式进行代码编写的配置,使得SpringBoot框架成为企业级应用项目开发中的佼佼者。
2.4 Vue框架简介
Vue框架是一套用户构建计算机用户操作界面的前端框架,与其他的前端框架唯一不同的是,Vue框架采取页面自底向上的增量开发设计思想,给功能的数据传输提高MVVM的数据绑定思想,给开发人员强大且简单的的组件库。Vue框架的主要优势是:1.用户数据提供双向绑定的原则进行数据的传输。2.Vue框架通过组件化进行项目进行开发,减少了代码量,也易于前端开发人员更好的进行理解。
2.5 IDEA开发工具简介
本课题设计为了更加方便的能够进行项目开发,选择采用IDEA开发工具进行项目功能代码的实现。IDEA开发工具全称的话是叫IntelliJ IDEA,是可以进行Java语言实现系统功能实现的工具之一。IDEA开发工具目前在Java语言项目编程中是最理想的编译工具之一, 它本身既拥有智能的且便捷实用的代码助手、丰富而灵活强大的模板库支持方面的功能都极为优秀。提倡智能编码,能够最大限度的减少系统设计上的工作量。
2.6本章小结
本章节中描述了飞机订票开发与设计中所需要用到的相关技术,主要介绍了SpringBoot框架相关知识概述、Vue框架知识概述以及Mysql数据库相关知识概述,为开发系统所有的功能做好技术层次的准备工作,也是为了能够更好的进行开发。
第三章飞机订票系统需求分析
在飞机订票系统的整个开发过程中,系统的需求分析是整个开发设计过程中的核心阶段,需求分析是指导系统设计的方案。本章以飞机订票系统的需求为背景,进行设计开发,通过实地走访了解的形式掌握最新的需求要求。
3.1 可行性分析
根据对飞机订票系统的用户需求分析,从本课题涉及的技术可行性、整个开发过程中的经济支出和用户最终操作系统的可行性角度对系统实现的可行性进行分析研究。
3.1.1技术可行性分析
技术可行性分析是对实现系统的所有功能模块以及实现系统功能的条件上来进行分析,通过专业的技术角度上去分析系统实现的可行性。通过自己的的相关技术介绍,本文课题飞机订票系统所采用的技术主要有SpringBoot框架、Vue框架和MySQL数据库等相关的技术[14],这些技术是目前较为成熟的技术,不论是前期功能代码的编写实现或者是后期对项目的维护管理,都非常的方便快捷。
3.1.2经济可行性分析
考虑到飞机订票系统的实际的用户需求,在前期的硬件支出主要是一台电脑和一部手机,在整个项目开发的软件使用信息都是开源的,也不需要额外的经济支出。在系统开发完成之后需要的服务器也不需要配置很高的,所需要的费用极低,因此项目申报管理系统的经济可行性是完全没有问题的。
3.1.3操作可行性分析
在飞机订票系统的功能设计的初衷是方便用户能够进行使用,需要设计的系统用户操作页面是简洁有力,也需要能够满足用户的使用习惯。当用户第一次接触系统的时候,不需要额外花费大量的时间去进行学习。
3.1.4法律可行性分析
飞机订票系统,从最开始的开题报告撰写到最后的毕业论文,都是本人独立完成的,没有跟相关类似的系统以及相关的资料存在侵权等行为的发生。因此,本课题的开发在法律上的可行性是完全没有问题的。
3.2需求分析
随着计算机计算的发展,用户对于飞机订票系统的需求越来越明显。通过查阅相关的资料,2023年我国民航旅游运输预计要完成6亿人次,相比于2022年增长了145.9%。基于此,很多用户期望飞机订票可以实现信息化,改善目前存在的问题。通过使用计算机技术进行开发飞机订票系统,不仅可以帮助用户方便的订购机票,还能实现提高管理员高效管理航班信息。综上所述,用户和管理员对飞机订票系统具有显著的需求。
通过前面对课题进行需求分析,本系统最终实现了用户和管理员两类用户角色,通过权限设计让不同的用户角色具有不同的功能模块。下面将通过不同用户角色要实现的具体功能通过用例进行分析说明。
管理员是飞机机票信息的管理者,也是本系统的最高用户权限。管理员主要是对飞机的航班信息、航班线路等信息进行有效的管理操作。管理员用例图如图3.1所示。

图3.1 管理员用例图
用户是飞机订票系统中的基础用户,业主主要是对航班信息进行查看以及进行购买等操作。用户用例图如图3.2所示。

图3.2 用户用例图
3.2.1登录注册模块的功能需求
任何一个系统,都有登录功能。本系统的所有用户通过账号信息的输入,进入系统,使用对应角色赋予的所有功能模块。对于第一次使用本系统的用户来说,需要进行账号的注册,通过账号的注册,进行登录。
3.2.2用户管理的功能需求
对于使用本系统的用户来说,它们的账号信息需要通过用户管理进行维护管理。管理员主要是可以实现对用户账号信息的查看,也可以进行修改、新增等操作。
3.2.3首页模块的功能需求
首页是用户前台界面的功能,一般会放置一些醒目的信息,比如放置航班信息便于用户进行查看。
3.2.4航班信息管理模块的功能需求
航班信息管理主要是对飞机的航班信息进行管理,管理员通过本功能可以实现对航班信息进行新增等操作,用户通过本功能可以实现对航班信息进行查看等操作。
3.2.5航班路线管理模块的功能需求
航班路线管理主要是对飞机的航班路线进行管理,管理员通过本功能可以实现对航班路线信息进行新增,还可以实现对之前的路线信息进行修改等操作。
3.2.6航班次序管理模块的功能需求
航班次序管理主要是对飞机的次序信息进行管理,管理员通过使用本功能可以实现对飞机的航班次序信息进行新增,还可以实现对飞机已经存在的次序信息进行查看等操作。
3.2.7个人中心管理模块的功能需求
个人中心主要是管理使用本系统所有用户角色的账号信息的功能,所有用户角色,可以通过本功能实现对账号信息进行查看还能对账号信息进行修改。
3.2.8系统管理模块的功能需求
系统管理主要包括轮播图信息跟航班资讯信息的管理,管理员可以实现对这些信息进行新增以及修改,用户通过账号信息登录之后,对相关信息进行查看以及进行了解。
3.2.9订单管理模块的功能需求
订单管理是对用户对飞机进行订票之后的订单信息进行管理,管理员可以实现对订单信息进行查看以及对订单信息进行发货等操作,用户在前台可以对自己的订票数据信息进行查看,了解当前订单属于哪种状态下。
3.3系统非功能需求分析
1、软件性能需求分析:
1)系统服务器向用户的响应数据的能力要求不少于2000条每秒;
2)系统页面打开速度应当在3秒以内;
3)同时在线使用系统的总人数不能少于2000个;
4)对于系统数据的存储要保证在50G以上;
5)系统全年提供服务的时间要求占本年的95%;
6)系统因故障所需修复时间不能大于60分钟;
2、安全性需求分析:
1)系统安全:本系统采用Shiro框架实现本系统的用户权限配置,严格控制用户操作,对于不同的管理员所拥有的权限和操作是不一样的。另外对于用户登录方面采用了Token校验[7]。
2)数据安全:通过使用集群部署方式,提高数据库的存储安全,以及分库分表,读写分离的操作提高对数据的访问速度[7]。
3.4本章小结
系统需求分析主要是通过对系统的可行性分析、需求分析等内容进行分析,从而能够更好的确定系统的开发的可行性。

第四章飞机订票系统设计
飞机订票系统设计工作也是在整个系统开发过程中一项比较重要的工作,这是需要先完成系统需求分析的基础上需要做的事情。系统设计主要包括对本课题的功能模块的设计和数据库等方面的设计。
4.1系统设计目标与原则
通过对飞机订票系统进行的需求分析和研究,并了解了目前各大用户的实际应用需求后,为了更好的满足管理员和用户的要求,确定本课题设计开发的飞机订票系统的主要目标与原则如下:
(1) 简洁且友好的用户界面。本课题设计的飞机订票系统面向的用户是航班公司的管理员和所有的用户。但他们并不是系统的设计者,不能直接明了的通过系统进行操作。因此,用户界面应尽可能的简洁、简单、直观且界面应美观并符合。当前审美,能够让使用者快速上手,免去一些不必要的麻烦,让使用者熟练后能够具有更高的效率。
(2) 系统维护的便捷性和功能的可扩充性。一个绝对完美的系统是不存在的, 在用户使用的过程中必定会出现各种各样的错误或缺陷,用户也会在系统的操作过程中会不断出现新的需求。因此,在设计系统时,要充分考虑到系统维护和扩充的重要性,在设计系统尤其是数据库的设计时,要确保各功能之间的低耦合,这样便能进行指定功能的维护和扩充而不影响其他的功能。
(3) 系统操作的正确性。程序设计的基本要求就是能够准确的完成预期的操作 效果,不能出现1+1=3的情况,正确的执行是完成各项工作的保证。
4.2系统架构设计
本系统的后台实现主要是以IDEA工具为主,后台所有的功能模块实现使用SpringBoot框架进行编码实现。系统的前端代码主要以VsCode工具为主,整个系统页面的渲染效果通过使用Vue框架进行编码实现。本系统使用B/S架构模式进行开发,B/S架构图如图4.1所示。

图4.1 B/S架构图
4.3系统功能模块设计
4.3.1 系统总体功能模块
通过前一章节的系统需求分析,可以得知本系统最终实现了两类用户角色,分别是用户和管理员角色。通过权限设计,让不同的用户角色赋予不同的功能模块。系统最终可以实现管理员角色对航班数据信息进行高效管理。系统总体功能模块图如图4.2所示[15]。

图4.2 系统总体功能模块图
4.3.2 系统功能模块设计
通过上一小节系统总体功能模块图,可以分析本系统有两类用户角色以及具体实现了哪些功能模块。本节将对所有功能模块来详细阐述功能模块的设计。
(1)登录注册模块的设计
通过权限设计,让不同的用户角色,具有不同的功能模块。当用户访问到登录页的时候,需要输入角色对应的账号信息进行登录。当登录成功之后,会根据角色信息跳转到对应的界面种来。其中用户第一次使用本系统需要进行账号信息的注册,才能对账号进行登录。以用户为例,登录注册流程图如图4.3所示。

图4.3 登录注册流程图
(2)首页
首页模块是用户在前台需要的功能模块,主要是将本系统中主要的信息进行放置,从而达到用户的注意。本系统中,用户可以实现对航班信息以及航班资讯等内容进行查看。首页流程图如图4.4所示。

图4.4 首页流程图
(3)航班信息管理模块
航班信息管理主要是管理每个航班的名称等信息。管理员可以实现对航班信息进行基本的新增删除等操作。用户可以在前台对航班的具体信息进行查看以及选座等操作。航班信息流程图如图4.5所示。

图4.5 航班信息流程图
(4)个人中心管理模块
本系统中的用户跟管理员,通过个人中心可以实现对个人的账号信息进行查看以及对账号信息进行修改等操作。个人中心流程图如图4.6所示。

图4.6 个人中心流程图
(5)航班线路管理模块
航班线路主要是管理每个航班具体的线路信息,管理员可以实现对航班线路信息实现新增等操作。通过航班线路,便于新增航班信息的时候,可以直接对线路进行选择。航班线路流程图如图4.7所示。

图4.7 航班线路流程图
(6)航班次序管理模块
航班次序管理主要是对航班的次序信息进行管理。管理员可以实现对航班的次序信息进行新增等相关的操作。航班次序流程图如图4.8所示。

图4.8 航班次序流程图
(7)订单管理模块
订单管理模块主要是对用户的飞机订票的订单信息进行管理,其中将对订单状态进行划分成已完成、已支付等订单状态,后台管理员将对订单信息进行查看以及进行其他操作。前台用户将对飞机的机票订单信息进行查看,了解具体的订单状态,从而准备好出行。订单管理流程图如图4.9所示。

图4.9 订单流程图
4.4系统数据库设计
4.4.1 数据库的设计原则
在飞机订票系统中数据是整个系统中最重要的,所以数据库设计是系统开发中非常重要的一步,想要设计出稳定、安全、可靠的数据库就必须遵循下面这些原则[8]:
(1)统一性原则:必须对数据进行系统的研究和处理,将不同的数据源协作好,从而确保数据的统一性和有效性[8];
(2)规范化原则:数据库设计应该遵循三范式,降低数据冗余,减少数据库增删改查操作时的异常[7];
(3)完整性原则:对输入到数据库中的数据要有审核和约束机制,确保数据的正确性和完整性[7]。
4.4.2 E-R图设计
主要的实体属性,即所有的实体-联系图,它是一种可以直接通过对实例进行抽象,以可视化的方式来描述现实世界的概念模型。根据需求分析绘制出数据库的E-R图,能够直观地映射出各个表之间的关系。下面将对主要的实体属性分析分析。
(1)用户实体属性,主要包括用户的用户名等,如图4.10所示。

图4.10 用户实体关系图
(2)航班次序实体属性,主要包括航班次序等,如图4.11所示。

图4.11 航班次序用户实体关系图
(3)航班线路实体属性,主要包括航班线路等,如图4.12所示。

图4.12 航班线路实体用户实体关系图
(4)航班资讯实体属性,主要包括标题等,如图4.13所示。

图4.13航班资讯实体用户实体关系图
(5)管理员实体属性,主要包括用户名等,如图4.14所示。

图4.14 管理员实体实体关系图
(6)订单信息实体属性,主要包括购买数量等,如图4.15所示。

图4.15 订单信息实体实体关系图
(7)航班信息实体属性,主要包括航班编号等,如图4.16所示。

图4.16 航班信息实体关系图
4.4.3 数据库表设计
飞机订票系统实现的功能模块的主要实体属性确定好了之后,接下来就可以进行系统数据库表的设计了。在数据库表的设计中,所有业务数据之间的关系是由数据库表组成的,数据库的结构展示体现在数据库字段上,本系统中主要的数据库表结构如下所示。
(1)管理员表(users),具体的表结构如表4.1所示。
表4.1管理员表
段名 类型 长度 是否为空 字段含义
id bigint 20 否 编号(主键)
usernasme varchar 100 否 用户名
passsword varchar 100 否 密码
rosle varchar 100 是 角色
addtisme timestamp 否 添加时间
addtisme timestamp 否 添加时间
(2)用户表(yonghu),具体的表结构如表4.2所示。
表4.2用户表
段名 类型 长度 是否为空 字段含义
id bigint 20 否 编号(主键)
yonghuzhanghao varchar 200 否 用户账号
mima varchar 200 否 密码
yonghuxingming varchar 200 是 用户姓名
touxiang longtext 200 是 头像
xingbie varchar 200 是 性别
lianxidianhua varchar 200 是 联系电话
shenfenzheng varchar 200 是 身份证
money folat 是 余额
addtisme timestamp 否 添加时间
(3)token表(token),具体的表结构如表4.3所示。
表4.3 token表
段名 类型 长度 是否为空 字段含义
id bigint 20 否 编号(主键)
userid bigint 20 否 用户id
username varchar 200 是 用户名
tablename varchar 200 是 表名
role varchar 200 是 角色
token varchar 200 是 token
expiratedtime timestamp 是 过期时间
addtisme timestamp 否 添加时间
(4)航班信息表(hangbanxinxi),具体的表结构如表4.4所示。
表4.4 航班信息表
段名 类型 长度 是否为空 字段含义
id bigint 20 否 编号(主键)
hangbanbianhao varchar 200 否 航班编号
hangbanmingcheng varchar 200 否 航班名称
hangbanxianlu varchar 200 是 航班线路
hangbancixu varchar 200 是 航班次序
mudedi varchar 200 是 目的地
chufadi varchar 200 是 出发地
qifeishijian varchar 200 是 起飞时间
daodashijian varchar 200 是 到达时间
hangbanjieshao varchar 200 是 航班介绍
tupian varchar 200 是 图片
thumbsupnum varchar 200 是 赞
crazilynum varchar 200 是 踩
clicktime varchar 200 是 最近点击时间
price varchar 200 是 价格
number varchar 200 是 座位总数
selected varchar 200 是 已选座位
addtisme timestamp 否 添加时间
(5)航班线路表(hangbanxianlu),具体的表结构如表4.5所示。
表4.5 航班线路表
段名 类型 长度 是否为空 字段含义
id bigint 20 否 编号(主键)
hangbanxianlu varchar 200 否 航班线路
addtisme timestamp 否 添加时间
(6)航班次序(hangbancixu),具体的表结构如表4.6所示。
表4.6 航班次序表
段名 类型 长度 是否为空 字段含义
id bigint 20 否 编号(主键)
hangbanxianlu varchar 200 否 航班线路
addtisme timestamp 否 添加时间

(7)关于我们(aboutus),具体的表结构如表4.7所示。
表4.7 关于我们表
段名 类型 长度 是否为空 字段含义
id bigint 20 否 编号(主键)
title varchar 200 是 标题
subtitle varchar 200 是 副标题
content longtext 是 内容
picture1 longtext 是 图片1
picture2 longtext 是 图片2
picture3 longtext 是 图片2
addtisme timestamp 否 添加时间
(8)订单表(orders),具体的表结构如表4.8所示。
表4.8 订单表
段名 类型 长度 是否为空 字段含义
id bigint 20 否 编号(主键)
orderid varchar 200 是 订单编号
userid bigint 20 是 用户id
goodid bigint 20 是 商品id
goodname varchar 200 否 商品名称
picture varchar 200 否 商品图片
buynumber int 11 否 购买数量
price float 是 价格
discountprice float 否 折扣价格
total float 是 总价格
discounttotal float 否 折扣总价格
type int 11 否 支付类型
status varchar 200 否 状态
address varchar 200 否 地址
tel varchar 200 是 电话
consignee varchar 200 是 收货人
remark varchar 200 是 备注
logistics varchar 200 是 物流
goodtype varchar 200 是 商品类型
(9)系统简介(systemintro),具体的表结构如表4.9所示。
表4.9 系统简介表
段名 类型 长度 是否为空 字段含义
id bigint 20 否 编号(主键)
title varchar 200 是 标题
subtitle varchar 200 是 副标题
content longtext 是 内容
picture1 longtext 是 图片1
picture2 longtext 是 图片2
picture3 longtext 是 图片2
addtisme timestamp 否 添加时间

4.5本章小结
系统设计主要通过对系统功能模块设计等内容进行设计,通过设计,能够为后续的实现打下扎实的基础。

第五章 飞机订票系统的实现与测试
本章将针对具体的系统功能进行详细设计与实现,在下文中将对系统开发环境进行描述,以前台、后台功能模块实现为主线阐述其具体的实现过程,通过对每个功能实现的文字+效果图的形式进行展现。
5.1 系统实现环境
本课题所设计的的飞机订票系统最终实现的环境,开发项目使用到的电脑为宏基(acer)笔记本电脑,具体的相关配置信息如下所示:
开发系统的电脑CPU类型:i5-8250U;
开发系统的电脑内存: 8.00GB;
开发系统的硬盘: 512GB;
开发系统的操作系统: Windows10 家庭操作系统。
5.2 前台功能模块实现
5.2.1 用户登录注册模块的实现
该功能模块主要是用于用户对账号信息进行登录注册的功能模块。本系统的用户,通过前台访问地址,访问到登录页,然后在登录页输入用户对应的账号信息,通过使用鼠标点击登录按钮进行登录[6]。登录模块的实现原理是通过用户输入的账号信息跟数据库里面的账号信息进行校验,如果有该数据信息,则直接进入前台首页[6]。反之,则会给页面提示错误的提示信息。对于第一次使用本系统的用户,要想使用本系统,由于开始没有账号信息,需要先进行账号信息的注册才能进行登录[6]。登录效果图如图5.1所示。注册效果图如图5.2所示。

图 5.1 登录效果图

图 5.2 注册效果图
登录模块实现核心代码截图如下图所示:

注册模块实现核心代码截图如下图所示:

5.2.2 首页模块的实现
首页主要是放置一些醒目的消息,便于用户后期可以进行更好的查看以及进行了解。本系统中,首页模块用户可以查看航班信息推荐等相关的内容。首页效果图如图5.3所示。

图 5.3首页效果图
首页模块页面效果实现核心代码截图如下图所示:

5.2.3 航班信息模块的实现
用户通过在前台点击航班信息模块,可以查看所有的航班信息,了解每个航班具体的时间等行程。用户可以根据自己查看到的航班信息,结合自己的行程,预定所需要的航班。航班信息模块效果图如图5.4所示。

图 5.4航班信息效果图
航班信息模块实现核心代码截图如下图所示:

5.2.4 航班资讯模块的实现
用户通过航班资讯模块,可以实现对管理员新增的航班资讯信息进行了解,便于及时的了解航班资讯信息。航班资讯效果图如图5.5所示。

图 5.5航班信息效果图
航班资讯模块实现核心代码截图如下图所示:

5.2.5 个人中心模块的实现
用户通过个人中心,可以实现对个人账号信息进行查看,还可以查看我的订单信息。个人中心效果图如图5.6所示。

图 5.6个人中心效果图
个人中心模块实现核心代码截图如下图所示:

5.3 后台功能模块实现
5.3.1 管理员登录功能模块实现
管理员通过访问后台登录页,输入账号信息,点击登录按钮,实现对账户信息进行登录。管理员进入后台之后,可以使用后台对应的功能模块。登录效果图如图5.7所示。

图 5.7登录效果图
登录模块实现核心代码截图如下图所示:

5.3.2 个人中心功能模块实现
管理员通过个人中心,可以查看个人的账号密码信息,可以对用户名以及密码信息进行查看以及修改。个人中心效果图如图5.8、5.9所示。

图 5.8修改密码效果图

图 5.9个人信息效果图
个人中心模块实现核心代码截图如下图所示:

5.3.3 用户管理功能模块实现
用户管理主要是管理用户的账号信息。管理员可以实现对用户的账号信息进行新增,还能实现对已经存在的用户账号信息进行修改以及进行查看的操作。用户管理效果图如图5.10所示。

图 5.10用户管理效果图
用户管理模块实现核心代码截图如下图所示:

5.3.4航班线路管理功能模块实现
航班线路管理主要是管理飞机所有的航天线路数据信息。管理员可以实现对航班线路信息进行新增,还能实现对已经存在的航班线路数据信息进行修改等操作。航班线路管理效果图如图5.11所示。

图 5.11航班线路管理效果图
航班线路管理模块实现核心代码截图如下图所示:

5.3.5航班次序管理功能模块实现
航班次序管理主要是管理航班的次序信息。管理员可以实现对航班的次序数据信息进行新增,还能实现对已经存在的航班次序信息进行修改以及进行查看。航班线路管理效果图如图5.12所示。

图 5.12航班线路管理效果图
航班次序管理模块实现核心代码截图如下图所示:

5.3.6航班信息管理功能模块实现
航班信息管理主要是管理所有飞机的航班信息。管理员可以实现对航班信息进行新增,还能修改已经存在的航班信息。航班信息管理效果图如图5.13所示。

图 5.13航班线路管理效果图
航班信息管理模块实现核心代码截图如下图所示:

5.3.7系统管理功能模块实现
系统管理主要包括轮播图信息、航班资讯、关于我们、系统简介等内容的相关信息进行管理。管理员可以实现对该内容进行新增,还能实现对该内容信息进行修改等相关的操作。系统管理效果图如图5.14、5、15、5.16、5.17所示。

图 5.14航班资讯效果图

图 5.15关于我们效果图

图 5.16系统简介效果图

图 5.17轮播图管理效果图
系统管理模块页面效果实现核心代码截图如下图所示:

5.3.8订单管理功能模块实现
订单管理主要是管理用户预定机票所产生的订单信息。管理员可以实现对订单数据信息进行查看,对用户的已支付订单信息进行处理等操作。订单管理效果图如图5.18所示。

图 5.18订单管理效果图
订单模块页面效果实现核心代码截图如下图所示:

5.4 系统功能模块测试
5.4.1测试目的
在整个飞机订票系统的整个功能模块的开发过程中,能否保证飞机订票系统在实际运用中能够正确无误的进行使用,系统测试就显得至关重要。系统测试是将已经完成好的功能模块,运用系统的测试方法进行各种验证测试检验系统功能的完整性、可用性检验需求是否达标;检验系统中是否有一些未知的错误等信息,最终目的是为了提高每个用户角色的的体验,规避一些未知的风险。
5.4.2测试方法
针对飞机订票系统已经实现好的功能模块,从飞机订票系统是否关心系统运行内部的角度进行划分的话,测试方法主要有白盒测试跟黑盒测试。目前使用的比较多的系统测试方法是黑盒测试法。从飞机订票系统是否执行程序的角度进行划分的话,测试的方法主要有静态测试和动态测试方法。
5.4.3测试环境
飞机订票系统的网络测试环境是局域网和因特网。
操作系统测试环境为Window7和Windows10等电脑操作系统。
浏览器测试环境为IE8、Chrome、FireFox等浏览器。
服务器测试环境为Tomcat7等服务器。
测试数据库环境为MySQL5.7数据库。
5.4.4系统功能测试
(1)登录模块测试
登录功能对于飞机订票来说是很重要的一个功能。用户要想使用系统就必需需要进行账号的登录,登录成功后,才能进入系统,从而使用对应的功能模块。登录的测试用例如表5.1所示。
表5.1 登录注册测试用例
测试功能 测试目的 操作步骤 预期结果
用户登录 验证用户能够使用账号信息进行登录并能进入前台界面,使用里面的功能模块 1.用户打开电脑
2.访问登录页
3.用户账号1、123456点击登录按钮 用户可以进行账号的登录成功并可以使用对应的功能模块
管理员登录 验证管理员能够完 成账号信息的登录并能进入系统界面使用相应地功能 1.管理员打开电脑
2.打开电脑的浏览器,输入访问地址
3.输入admin、123456点击登录按钮 管理员通过使用账号信息能够进行登录并可以成功访问系统
(2)个人中心模块测试
个人中心主要是实现对用户的个人账号信息进行管理。用户可以实现通过个人中心模块对个人的密码信息进行修改。用户一旦修改密码之后,可以使用新密码进行登录。个人中心的测试用例如表5.2所示。
表5.2 个人中心测试用例
测试功能 测试目的 操作步骤 预期结果
用户修改密码 测试用户可以修改密码并且使用新密码使用账号进行登录 1.用户打开电脑
2.访问系统前台
3.点击个人中心界面
4.将密码12345改成123456
5使用新密码进行登录 用户使用新密码可以直接进行登录
管理员修改用户名 测试管理员可以修改用户名并且使用新用户名使用账号进行登录 1.管理员打开电脑
2.访问系统后台
3.点击个人中心界面
4.将用户名adm改成admin
5使用新用户名进行登录 管理员使用新用户名可以直接进行登录
(3)用户管理模块测试
用户管理主要是管理员对用户的账号信息进行基本的维护管理,可以实现对用户账号进行新增、删除用户的账号信息。用户管理模块的测试用例如表5.3所示。
表5.3 用户管理测试用例
测试功能 测试目的 操作步骤 预期结果
用户的删除 验证管理员能够进行用户账号信息的删除,同时该账号无法进行登录 1.管理员打开电脑
2.打开电脑的浏览器,输入访问地址
3.点击用户管理,删除用户1的账号信息
4.使用用户1的账号信息进行登录 用户1的用户账号无法进行登录
用户的新增 验证管理员能够进行用户账号信息的新增,同时新增的账号可以进行登录 1.管理员打开电脑
2.打开电脑的浏览器,输入访问地址
3.点击用户管理,新增用户1的账号信息
4.使用新账号在前台进行登录 用户2的账号信息可以进行登录
(4)航班信息管理模块测试
航班信息能不能新增成功,这也是很重要的,直接关乎着用户能不能在前台查看到该航班信息,也就是本系统用户能不能很好的进行使用系统进行预定航班。航班管理模块的测试用例如表5.4所示。
表5.4 航班信息管理测试用例
测试功能 测试目的 操作步骤 预期结果
航班信息的删除 验证管理员能够进行航班信息的删除,用户无法查看到删除的航班信息 1.管理员打开电脑
2.打开电脑的浏览器,输入访问地址
3.点击航班信息管理,删除航班名称1的航班信息
4.用户登录账号进行航班信息的查看 用户登录账号无法查看到航班名称1的航班信息
航班信息的新增 验证管理员能够进行航班信息的新增,同时用户可以查看到该航班的详细信息 1.管理员打开电脑
2.打开电脑的浏览器,输入访问地址
3.点击航班信息管理,新增航班名称2的航班信息
4.用户登录账号进行查看并且进行购买 用户可以查看到航班名称2的航班信息并且可以进行购买以及可以将航班加入购物车
5.4.5测试结果
本飞机订票测试方法使用黑盒测试法,经过系统的测试后,系统的所有功能能够达到预期目标。所测试的功能模块,可以正常的进行使用。系统的功能模块的测试结果如表5.5所示。
表5.5 测试结果表
序号 测试模块 测试结果
1 登录注册 正常
2 首页 正常
3 航班信息管理 正常
4 航班路线管理 正常
5 航班次序管理 正常
6 系统管理 正常
7 订单管理 正常
8 我的收藏管理 正常

5.4.6测试总结
通过对飞机订票系统的全部功能模块进行简单的测试,所有功能模块,都达到了预期的效果。通过此次系统测试,本人觉得即使在严谨的编码,也会多多少少出现弊端以及不足。只有通过严谨的测试技术才能找出未知的错误出来,可想,系统测试是有多么的重要了。通过测试,也让本人明白了系统开发是一件严谨的事情,需要认真对待。
5.5 本章小结
本章首先介绍的是飞机订票系统功能实现环境的搭建,接着分别描述了系统所有功能模块的的详细设计与具体实现,通过对每个功能模块的文字描述+每个功能模块的效果图进行展现。其次对飞机订票系统测试进行介绍。通过测试结果得出此系统的各功能模块基本实现,满足了飞机订票系统所有用户的使用并且系统能够运行稳定。但是在测试过程中也有些不足之处,还有待改进。

总结
本文通过对线下实际的用户需求进行分析,从多个方面阐述了飞机订票系统设计、系统数据库设计、系统所有功能模块的设计思路。并利用计算机技术,设计并开发出飞机订票系统,实现了用户管理、航班信息管理等必需的功能,优化了用户对机票预定的流程,能够让用户方便快捷的买到自己想要的航班信息,同时提高了管理员的工作效率,增加了经济效益。
在系统的实际开发过程中,本文主要涉及到以下研究方向:
①对目前市面上类似的系统进行分析,并结合某航空公司的实际需求,设计出适合本系统的功能模块,研究出各个功能模块中的关键技术的解决方案并将这些功能模块一一实现。
②对本系统实现的各用户用例,通过使用大量用例图进行详细分析,精确了解用户的需求,为系统的设计开发打下基础。
③对系统架构设计进行分析,决定使用Java语言进行系统功能实现的编码语言,系统所有功能的实现通过使用SpringBoot框架进行编码,系统交互页面的实现通过使用Vue框架进行编码实现。

参考文献
[1]张学辉. 工业App快速开发工具应用研究 [J]. 中国仪器仪表, 2023, (10): 48-50+54.
[2]陈鑫影. C语言程序设计的创新型教学改革研究 [J]. 科技风, 2023, (29): 110-112.
[3]Mahmoodabadi J M ,Mostaghim A S . Stability of Nonlinear Systems Using Optimal Fuzzy Controllers and Its Simulation by Java Programming [J]. IEEE/CAA Journal of Automatica Sinica, 2019, 6 (06): 1519-1527.
[4]刘红鸽. 基于Java Web的远程数学实验教学系统设计与实现 [J]. 办公自动化, 2023, 28 (19): 31-34.
[5]尹应荆. JAVA编程语言在计算机软件开发中的应用 [J]. 石河子科技, 2023, (05): 45-47.
[6]王芬,罗春凤. Web Tours订票系统软件测试技术研究 [J]. 科技与创新, 2023, (18): 14-17.
[7]徐彬,王纪萍. 数据库原理及应用教学研究与探索 [J]. 中国教育技术装备, 2023, (18): 47-49.
[8]董昊文,张超,李国良等. 云原生数据库综述 [J]. 软件学报, 2024, 35 (02): 899-926.
[9]陈莎莎. 基于JSP网页技术的高校PU系统功能可视化界面设计 [J]. 自动化与仪器仪表, 2023, (02): 146-151.
[10]贺斌. 计算机软件开发中JAVA语言的应用研究 [J]. 中国设备工程, 2022, (11): 247-249.
[11]诸彩红. 浅探Java编程语言在计算机软件开发与应用 [J]. 电子世界, 2021, (12): 27-28.
[12]刘星淇. Java编程语言的特点与应用分析 [J]. 通讯世界, 2019, 26 (09): 149-150.
[13]万烂军,罗海霞. 企业项目实战教学法在Java Web程序设计课程中的应用 [J]. 电脑知识与技术, 2016, 12 (28): 146-147.
[14]鲁铮,吴瑕,张甜甜. 基于ASP.NET的飞机订票系统的设计与实现 [J]. 民营科技, 2016, (04): 49.
[15]罗晨,潘大志. 基于SSH框架的飞机订票系统研究与实现 [J]. 信息系统工程, 2015, (09): 32-33.
致谢

在南昌工学院两年的学习生涯如白驹过隙,本人的毕业设计与论文撰写也完成。在各位老师和同学的帮助下,我顺利克服了在完成毕业设计过程中所遇到的困难、挫折。在此由衷感谢我的指导老师喻文烨老师,感谢导师事无巨细的指导与帮助,从论文开题报告到毕业设计的测试,再到最后的论文写作指导和评阅,导师都花费了大量时间与心力,他不厌其烦的指导不仅使我对计算机科学与技术领域的知识有了更加进一步的认识,而且对我今后的工作态度也产生更加严谨、端正的影响。
衷心感谢南昌工学院的各授课老师,正是在他们对计算机相关的专业课程认真负责的讲解下,才拓宽了我在计算机科学与技术领域的视野与角度,提升了我的专业技能,为我顺利完成毕业设计和论文奠定基础。感谢答辩老师在百忙中参加我的毕业论文答辩。
最后衷心感谢各位同学和亲友对我学习、生活上的支持、鼓励和关心,使我能永远保持学习的热情,顺利完成学业。

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值