摘 要
随着世界经济信息化、全球化的到来和互联网的飞速发展,推动了各行业的改革。若想达到安全,快捷的目的,就需要拥有信息化的组织和管理模式,建立一套合理、动态的、交互友好的、高效的铁路售票自动分配座位系统。当前的信息管理存在工作效率低,工作繁杂等问题,基于信息化的铁路售票自动分配座位管理目前还没有完善的系统机制。
在此基础上,结合现有铁路售票自动分配座位管理体系的特点,运用新技术,构建了以 springboot为基础的铁路售票自动分配座位信息化管理体系。首先,以需求为依据,根据需求分析结果进行了系统的设计,并将其划分为管理员、用户两种角色和多个主要模块:用户、车次分类、车票信息、留言反馈、系统、订单等。使用目前市场主流的技术springboot框架进行项目构建,基于B/S开发模式,使用Java开发语言和MySQL数据库对系统进行高内聚低耦合的设计,最终完成了铁路售票自动分配座位系统的实现。
基于springboot框架的铁路售票自动分配座位系统为当前传统管理模式提供了一个高效、便捷、信息化的解决方案,这为后期铁路售票自动分配座位系统的优化提供了新的方向。
关键词:铁路售票自动分配座位系统;springboot框架;JAVA语言;
Abstract
With the advent of world economic informatization and globalization and the rapid development of the Internet, the reform of various industries has been promoted. To achieve the goal of safety and speed, it is necessary to have an information-based organization and management model, and establish a reasonable, dynamic, interactive, and efficient railway ticketing automatic seat allocation system. The current information management has problems such as low work efficiency and complexity, and there is currently no complete system mechanism for information-based automatic seat allocation management in railway ticketing.
On this basis, combined with the characteristics of the existing railway ticketing automatic seat allocation management system, new technologies are applied to construct an information management system for railway ticketing automatic seat allocation based on Springboot. Firstly, based on the requirements, the system was designed according to the analysis results, and divided into two roles: administrator and user, as well as multiple main modules: user, train classification, ticket information, message feedback, system, orders, etc. The project was built using the current mainstream technology Spring Boot framework in the market, based on the B/S development mode, using Java development language and MySQL database to design the system with high cohesion and low coupling. Finally, the implementation of the railway ticketing automatic seat allocation system was completed.
The railway ticketing automatic seat allocation system based on the Spring Boot framework provides an efficient, convenient, and information-based solution for the current traditional management mode, which provides a new direction for the optimization of the railway ticketing automatic seat allocation system in the later stage.
Keywords: Railway ticketing automatic seat allocation system; Springboot framework; JAVA language;
目 录
1绪 论
1.1课题背景
1.1课题背景
随着计算机技术和网络技术的不断发展,互联网成为一种新兴的行业。带动了各行相关产业链的发展[1]。
信息的传递在管理系统中是一个十分关键的环节。及时、准确的信息传输可以帮助各行业及时发现、处理和解决问题。使信息管理系统达到一个良性的循环。同时铁路售票自动分配座位系统要想实现长久的发展,就必须要利用现代的信息技术和网络通讯技术,来构建一个信息化、协同化管理的铁路售票自动分配座位体系[2]。
传统的管理方式必须进行信息化改造,这是一个不可避免的过程。这样既可以使各行业内部资源得到合理的配置,又可以通过信息化管理平台,通过这个平台,管理员和用户可以共享每个环节和相关资源。因此,研究和开发一个基于springboot框架的信息化、一体化的铁路售票自动分配座位系统具有重要的意义。
1.2课题研究的意义
现代铁路售票自动分配座位系统综合了共享信息、电子化、智能化等多种技术,对铁路售票自动分配座位系统的多个流程了实现整合。信息化的铁路售票自动分配座位系统是由多个分布式子系统组成的,各分布式子系统既可以完全独立运作,又有一定的联系。只有提高铁路售票自动分配座位系统的各环节、各子系统的信息化水平,才能提高整个铁路售票自动分配座位系统的运行效率[3]。
使用网络化智能分析技术后,可以实时的获取车票信息、铁路新闻或用户需求等数据,对海量的数据进行过滤和分析,就能得到有价值的信息。这样,管理员和用户之间可以有更好的交互,同时,在一定条件下,可以实现部分数据的共享,从而提升服务质量和用户体验[4]。
1.3研究现状
在线上管理领域里,我国相比国外一些发达国家而言起步较晚。像美国、欧洲等国目前在该领域已经取得一定的成就,基本上建立起了不同层次的信息管理系统体系。
传统使用纸质文件的缺点有:
- 保存困难,易于丢失。纸质的材料经过长时间的存储或频繁的转移、翻阅,非常容易造成字迹变得模糊、材料发生意外破损或者丢失。
- 查询分析不方便。每个行业每季度或者年度都需要进行资料数据的整理、分析和总结,纸质的材料查询和分析都非常的耗时费力,而利用网络信息技术,可以很好的解决这些问题[5]。
- 对环境不友好,使用纸质文件不环保,产生的废弃纸张很多时候得不到及时的回收再利用,大大的浪费了自然资源。
这些年我国经济和科技蓬勃发展,诞生了很多新兴的产业,很多行业的经营模式向信息化和网络化方向发展,这给传统行业带来了巨大的冲击,也推动了我国现代许多行业进入快速发展的新阶段[6]。
由于现代科学技术的快速发展,信息技术、网络技术在线上管理领域得到了广泛的应用。在西方很多国家,很早之前就已经有了非常成熟的线上管理理论并逐渐形成完整的铁路售票自动分配座位系统体系,美国与日本的线上管理已处于全球领先地位。欧洲线上管理虽然起步较晚,但是由于各国政府和相关企业的大力支持和关注,同时吸收先进的实践经验,最终本行业得到快速发展。
1.4研究方法
本文所采用的研究方法有:
- 调查法。通过市场调研和线下问卷调查等方式进行准确和全面的材料信息搜集工作,并对材料进行分析。
- 类比法。了解国外和国内线上管理的现状,吸取和借鉴先进线上管理理论经验,并在系统设计中进行适当的应用。
- 理论和实践结合法。在开发技术、开发环境和数据库技术等方面,通过对系统用户的需求进行分析,最终确定出最优的解决方案[7]。
- UML建模法。对系统进行分析、建模和实际运行调试,使系统功能得以实现。
1.5论文组织结构
- 绪论,介绍了课题的研究背景、本论文的研究意义和目标等。
- 开发环境,介绍了与本系统实现相关的技术和工具,包括常用的Spring、Spring MVC和MyBatis三大开源框架、MySQL数据库等。
- 系统分析,主要是系统流程设计和系统用例设计及法律、经济等可行性分析。
- 系统设计,依照系统设计规范,绘制各个模块的流程图和用例图等。
- 界面设计与功能实现,主要是展示系统具体功能和系统界面开发结果[8]。
- 系统测试,对完成的系统功能进行白盒和黑盒测试,编写并列举了相关测试用例表。
2开发关键技术
2.1 springboot框架
SpringBoot是全新一代的Spring框架,不过依旧是Spring框架,主要是为了优化应用配置的搭建,可以把一些日常使用更频繁的第三方依赖进行整合,它的关键功能就是通过Maven工程来简化开发中对于XML的配置工作,帮助我们自动配置,减少不必要的的工作量,开箱即用,节省时间,给我们提供了很多便捷的组件。
它的优势是比Spring更加轻量,预先设定好了配置,通过java代码文件实现初始化,后产生的class文件加载过后,就能进行访问了。
2.2 JAVA语言介绍
Java语言作为现在主流编程语言之一,就是因为它有很多自己的特点和优势。
Java语言具有以下几个特点:
(1)跨平台性
平时所说的一次编译,到处执行,指的就是这个跨平台性。Java的源代码编译后会生成字节码文件,这些文件可以被Java虚拟机执行,得到想要的结果。在设备上安装对应的虚拟机,Java的字节码文件就可以运行。
(2)面向对象
Java是一个面向对象的编程语言。面向对象是指把属性和方法进行封装,通过创建的对象调用里面的方法,实现一些功能。
(3)多线程
Java是支持多线程的,它允许在一个程序中同时开启多个线程,同时处理多个任务,这样可以提高它的效率。
Java语言对于开发工具要求不高,有专业的编程工具Eclipse会更顺利编程,但
是,没有专业的编程软件,用记事本也能进行编辑。
2.3 B/S架构
B/S(Browser/Server,浏览器/服务器)模式,是一种架构模式,属于WEB发展后的所出现的一种网络构造,而WEB又是主要的浏览器应用商品软件。B/S架构模式不仅将系统的重新开发、维修及利用等简单化,更将其重点放到了服务器上。它使客户端得到了统一,服务器上集中了系统功能的最关键部分。
B/S架构的工作模式是浏览器发出请求后服务器进行相应的响应。Internet上文本、图片、动画等信息主要由Web服务器产生,而用户主要是通过浏览器访问这些信息。在Web服务器上下载程序时,如果在下载过程中遇到某些与数据库相关的指令,可以将这些指令交给数据库服务器来解释、进行执行。
2.4 MySQL数据库
MySQL是一种关系型数据库,它以表文件的形式在磁盘中进行存储,主要作用就是以表结构的方式存储数据信息,并且MySQL数据库提供对数据的管理功能,如数据备份,表关联等。
MySQL的存储引擎有:
3系统分析
所谓系统分析,就是将自己对某一系统的构思以书面形式体现出来,并以此为基础,进行后续的软件设计和开发。在软件开发初期,人们对系统分析还不够重视,导致最终系统验收时,需要进行较大修改,这会耗费大量的人力和物力。造成这种现象的原因,是由于对用户或市场实际需求没有进行充分调研和详细的分析。这也是为什么近年来,关于系统分析的研究受到了越来越多的关注[9]。
3.1 可行性分析
铁路售票自动分配座位系统主要目标是实现从用户查看车票信息进行在线立即预订等相关管理。在进行系统的设计和实现前,需要先对该系统进行相关的可行性分析,如从技术、操作、经济、法律等方面判断系统在现有条件下是不是能够真正实现的[10]。
3.1.1 技术可行性
本系统在技术层面使用Eclipse作为Java开发环境,后台管理系统使用了Spring和MyBatis等开源框架,前端页面使用HTML5,本系统选择MySQL数据库系统来开发完成本铁路售票自动分配座位系统。作为软件工程专业的用户,在大学开设的相关专业课程中都包含了这些技术,所以在系统开发技术及应用上都没有太大困难,因此系统开发在技术层面是完全可行的[11]。
3.1.2 操作可行性
铁路售票自动分配座位系统旨在为用户提供一个简单方便快捷的铁路售票自动分配座位系统。铁路售票自动分配座位系统的界面简洁,操作方便,即使是不具备很强的网络技术知识的用户也可以轻松使用。在管理员管理模块中,各项内容的管理操作界面也都简洁易懂的,实际操作也十分的简单,能满足基本的信息管理系统需要。因此该系统具有可操作性。
3.1.3 经济可行性
本项目所有功能的开发都是由本人独立完成,而且开发中使用的所有技术及工具也都开源的,易于学习和掌握的,所有省去了请专家开发指导的大笔费用,本系统的开发对计算机的软硬件的要求较低,因此这个系统在经济方面是完全可行的[12]。
3.1.4 法律可行性
铁路售票自动分配座位系统属于自己设计的管理系统,因为这个系统在数据管理方面以及软件方面都是应用自己开发的开源代码,不存在模仿或盗用其他人的软件问题,是非常合法的。
从上面给大家讲解的过程不难看出,铁路售票自动分配座位系统是一个全面优质的系统,我们开发的这个程序也是存在合法和必然性的,而且在技术方面也是过硬的,还节约了成本,难度不大,很适合用户进行操作[13]。
3.2系统流程设计
3.2.1 系统开发流程
铁路售票自动分配座位系统的设计和开发,首先要对用户的实际使用需求和具体情况进行细致的分析,分析出系统要完成的全部功能,然后再针对整个系统的工作流程和功能进行设计,力求每个模块都能够达到用户的要求,最后通过测试来解决问题,保证系统的稳定和正常的运转,本系统的开发流程如图3-1所示。
图3-1系统开发流程图
3.2.2 用户登录流程
登录流程实现了管理员和其他用户的登录,在登录页面需要用户填写自己的信息,前端页面会将信息传递给后端接口,然后查询数据库确定该身份有效后登录成功,否则此用户登录失败,需要重新填写信息,进行再次验证,如图3-2所示。
图3-2登录流程图
3.2.3 系统操作流程
系统操作流程分析是软件开发过程中的一个关键环节,它是整个系统整体的运行过程,必须保证其中的每一个步骤都是确定的,这样一个规范的流程图可以使开发者易于理解,快速的投入到接口开发中,从而提升系统开发效率。
同时,流程图还能减少开发者对系统操作流程产生歧义和降低沟通的成本,系统操作流程如图3-3所示。
图3-3系统操作流程图
3.2.4 添加信息流程
系统的正常运行离不开数据的支撑,因此,在本系统中添加了数据插入功能,数据库中数据的缺失,会直接影响到数据的查询结果,查询结果错误又会导致逻辑处理出现偏差,最终导致系统性错误或故障,所以在对系统进行数据添加操作时,必须要对数据进行合法性校验,确定此条数据是否有惟一的主关键字和字段是否允许为空等等,若数据库表中不允许某字段为空,而程序没有进行该字段非空逻辑校验,那么就会出现数据存储失败,可能因此造成严重系统后果。添加信息流程如图3-4所示。
图3-4添加信息流程图
3.2.5 修改信息流程
因为使系统的使用者是人,所以难免会有疏忽,从而造成系统输入的信息有误。或者由于其他原因导致数据发生改变,使得必须对系统内的数据进行相应的调整,所以在程序运行中,数据的修改操作是不可缺少的重要环节。
在进行数据更新时,必须要有一个惟一的主关键字,以便数据库能够查询到相应的数据;另外,还必须遵守数据插入过程的操作规范,以确保数据的正确性。修改信息流程图如图3-5所示。
图3-5修改信息流程图
3.2.6 删除信息流程
删除操作在系统中并非是必须的,可根据用户及系统的需要来决定是否添加删除功能,删除操作就是使用delete语句将数据库中的某一匹配数据删除,因为此操作会导致用户数据丢失,所以为了避免使用者误按删除键,应在用户点击删除按钮时添加一个提示确认弹窗,当用户确定要删除时,再进行数据库的操作,并且在删除操作完成后要对用户进行反馈。删除信息流程图如图3-6所示。
图3-6 删除信息流程图
3.3系统用例分析
3.3.1 管理员用例图
铁路售票自动分配座位系统的最大权限用户是管理员,通过管理员菜单中的系统首页、用户管理、车次分类管理、车票信息管理、留言反馈、系统管理、订单管理、个人资料进行管理。管理员用例如图3-7所示。
图3-7管理员用例图
3.3.2 用户用例图
用户登录系统可以对车票信息、铁路新闻、留言反馈、个人中心等,并进行相应的权限操作。用户用例如图3-8所示。
图3-8用户用例图
4 系统设计
4.1 系统概述
铁路售票自动分配座位系统的设计与开发是指对该系统的各个功能模块进行详细设计,力求每个模块都能够满足用户的要求,系统开发完成后还需对系统进行单元测试和系统测试,发现系统中存在的问题并解决,确保系统正常稳定的运行。铁路售票自动分配座位系统工作原理图如图4-1所示:
图4-1 系统工作原理图
4.2 系统结构设计
系统结构设计必须要满足用户的业务需求,系统结构设计完成后要形成系统结构设计文档,开发人员就可根据模块接口说明进行接口开发,接口开发完需进行功能测试,目的是发现并解决系统漏洞,同时还得保证系统的可扩展性和稳定性,满足用户对系统的要求。系统设计需满足以下要求:
- 安全性
- 易用性
- 柔软性
- 柔软性
- 扩展性
铁路售票自动分配座位系统的整体结构设计主要分为两大部分:管理员和用户。他们的权限不同,于是操作功能也有所不同。整体结构设计如图4-2所示。
图4-2 系统结构图
4.3 数据库设计
本系统依赖于MySQL数据库来储存信息,系统完成后,所有需要的数据都要从数据库中读取,这也意味着无论是插入、更新还是删除操作,只要对数据有改动的操作都需要与数据库交互,因此,系统的全部数据都要储存在数据库,必须保证数据库在未经授权情况下不得进行删除表结构等危险操作,而且要保证表中字段的准确性。
4.3.1 数据库设计原则
- 从上而下
- 从下至上
- 逐渐扩大
- 结合方法
4.3.2 数据库实体
E-R图,即实体-联系图,它是一种通过对实例进行抽象,以可视化的方式来描述现实世界的概念模型。根据需求分析绘制出数据库的E-R图,能够直观地映射出各个表之间的关系。
留言反馈包括用户名、留言内容、留言图片、回复内容、回复图片等信息,E-R图如图4-3所示。
图4-3留言反馈E-R图
系统信息包括铁路新闻分类、关于我们、系统简介、轮播图管理、铁路新闻等属性,E-R图如图4-4所示。
图4-4系统信息E-R图
用户信息包括用户账号、用户姓名、头像、性别、手机号码、身份证等信息,E-R图如图4-5所示。
图4-5用户信息E-R图
订单信息包括订单编号、商品名称、商品图片、购买数量、价格、总价格、支付类型、状态、备注、下单时间等属性,E-R图如图4-6所示。
图4-6 订单信息E-R图
铁路售票自动分配座位系统总体E-R图如图4-7所示。
图4-7铁路售票自动分配座位系统E-R图
4.3.3 数据库表设计
数据库的主要作用是储存和管理整个系统的数据。数据库中的数据在保证一定的独立性和安全性的前提下,也要有某种程度的共享,在一定条件范围内可以共享某些数据。必须保证数据库中每张表里存储的数据是安全的,如果没有经过身份认证,就无法查阅及使用。在进行数据库设计时,应根据具体情况,进行有针对性的数据库开发和设计。下面列举主要数据库表结构。
表4-1:系统简介
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表4-2:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型 | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
获取源码 ⬇