基于java的仿12306火车售票系统的设计

(整期优先)网络出版时间:2022-05-13
/ 3

基于 java 的仿 12306 火车售票系统 的设计

冯思嘉 金月 王文昊

重庆科技学院智能技术与工程学院,重庆, 401331

摘要:利用网络管理各行各业的业务操作已经成为必然趋势,本系统就是专门针对火车票销售的网络商城系统开发。使用B/S的开发模式,Java技术,结合Spring Boot框架,数据库使用MySQL。根据使用的用户角度分析,将从两大模块进行设计,分别为后台管理模块和网站前端用户模块。通过前后台的密切联系,共同构建成一个完整的火车售票系统。

关键词:Java;Spring Boot;火车售票系统;MySQL


1 研究背景

利用网络管理各行各业的业务操作已经成为必然趋势。商品通过网络进行销售,建立一款功能丰富,设计美观的系统,给用户带来极大的便捷。将购买火车票的业务操作转移到网络上,让客户不用再到线下进行咨询购买了,直接通过该平台进行搜索与购买,具有灵活、准确的优势。

火车售票系统的设计与开发,采用B/S架构,使用Java作为后台开发技术,结合Spring boot开源框架,将MySQL作为本系统的数据库开发平台,前端页面设计使用JQuery、HTML、CSS,满足用户需求。主要实现目标:一是管理员实现系统管理,客户管理,车次管理,站点管理,席别管理,订单管理;二是前端用户包括用户账号的注册与登录,火车票查询,火车票购买,订单管理,个人信息管理。

2 系统分析

2.1 可行性分析

该火车售票系统的设计与实现,用到的技术有AJAX,TF-IDF算法,Spring Boot框架等技术,这些技术在操作使用上是具有可行性的;其次,该火车售票系统系统采用AJAX进行异步通信,具有简单、快速等特性,是有利于软件开发的;利用Spring Boot框架开发网站后台,实现自动配置。没有涉及到盗用和侵权,该系统符合当下普遍软件开发准则,完全秉承了公开、透明的理念,是一款完全利用率高,安全文明的系统,不存在违反法律规则与社会公约。

2.2功能需求分析

2.2.1 用户功能需求分析

包括以下五项内容:1.注册登录。第一次使用该系统的用户需要先注册账号,注册成功后,才可以登录。管理员和用户通过该入口进行登录,设置登录login页面,输入用户名和密码,点击登录即可。2.个人信息维护:用户注册后,使用注册的信息进行登录,可以对用户的基本信息和密码进行修改。3.火车票查询.用户登录网站后,可以直接查看或自己搜索已有的车票信息。4.火车票购买:用户在查询火车票信息时,可以直接购买,系统会自动分配座位号。5.订单管理:当用户订票后,生成订单,用户可以查看个人的购买订单记录,以及支付。如果想要退票,可以在该功能进行退票处理,管理员审批。

2.2.2后台功能需求分析

包括6项内容:1.系统管理:包括用户管理,角色管理两个子系统。主要是对用户信息,角色信息,信息进行添加、删除、修改和查询,并为用户设置角色,分配使用菜单权限。2.客户管理:当前端的用户注册账号后,管理员可以对该客户的基本信息进行查询,修改和删除操作。3.车次管理:用于管理员对车次的信息进行添加、删除、修改和查询操作。4.站点管理:用于管理每趟车次的站点信息,并设置该站点的联系人信息,可以对其进行添加、删除、修改和查询操作。5.席别管理:用于设置火车票的席别,例如特等座,二等座等。6.订单管理:用于查看管理用户的购票订单,以及处理客户的退票业务,对其进行审批。

2.2.3兼容性分析

一是硬件兼容性,对该硬件进行配置,从而保证该软件能够在多种硬件上能够运行无卡顿,操作流畅; 对板卡和外部设备进行接口设计,并对其进行稳定调式,以保证软件在访问时不出现问题。二是软件兼容性。该火车售票系统能够在不同的操作系统以及同一系统平台中的不同版本上运行,能够支持不同的数据库,能够在不同的浏览器进行运行,还需要与其他软件进行兼容,保证该操作系统在运行其他软件的时候,也能同时运行该网站。

3系统总体设计

3.1 技术架构设计

系统使用B/S架构,在前端Web层,是用来给用户提供发出请求的作用。用户通过浏览器访问系统的地址,可以根据个人的需求进行请求的发布,在Web点击某项功能,就发出了与该功能对应的请求数据,通过AJAX进行传递到系统的业务逻辑层,从而执行请求。第二层是该火车售票系统的业务逻辑层,是用来处理用户post请求,每一个Web服务器都与数据库服务器建立了连接,请求在数据库层开始执行具体操作,功能的增删查改,执行完成后,又将结果数据返回给用户。

3.2 功能架构设计

该火车售票系统的功能模块将从两大模块进行设计,分别为后台管理模块和网站前端用户模块。后台管理包括系统管理,客户管理,车次管理,站点管理,席别管理,订单管理;网站前端包括用户账号的注册与登录,火车票查询,火车票购买,订单管理,个人信息管理。如下图所示:

627e18b61c303_html_acaa4d808bd9df6e.png

3.3 数据库设计

该火车售票系统的数据库设计将从其概念和逻辑上进行描述,其中,数据库概念设计是制作该火车售票系统的实体关系E-R图,建立实体与实体之间的联系,能够清楚该火车售票系统的对象之间的逻辑关系;数据库逻辑设计是对每个实体建立表结构,清楚每个实体的数据库表,以及字段类型和长度等

3.4系统流程设计

所有系统都有登录界面,首先登录,输入自己唯一的登录信息,这是进入该系统的常规操作。所有成功登录的用户都可以添加信息,其他信息必须手工输入。系统将对输入的信息进行信息验证。如果成功添加信息,说明验证通过。相反,添加失败。修改信息的过程类似于添加信息。用户选择要修改的信息,输入相应的要修改的数据。系统再次验证输入数据。如果验证成功,则添加到系统的数据库中。一些没有实际用途的数据用户可以选择删除这些数据。删除时,系统会提示是否确定要删除,确认后他们将从数据库中删除这些数据并再次更新数据库。

4 系统实现

4.1注册登录模块编码实现及界面设计

如果是网站的管理用户或者已经有账号的用户,则只需要输入用户名和密码,并点击【登录】按钮即可。此时,用户的输入数据,验证成功后,该用户登录成功。如果属于该系统的前端用户,需要注册账号,跳转到注册界面,接口为registerAccount,界面显示注册表单,提示注册需要填写的信息。输入完成后,数据库会调用user数据库表,判断该用户名(登录账号)是否已存在,若存在,系统就会提示该用户名已存在,需要重新输入,直至正确为止,完成注册。

4.2用户管理模块编码实现及界面设计

管理员对用户的账号以及信息进行添加、修改、删除、以及查询操作。管理员登录后台,进入用户管理界面,看到已有的用户列表。管理员可以选中某用户的信息,点击修改,数据库服务器使用修改信息语句即update user set(name,password,email,phone...)=(?,?,?,?,?,?...),从而修改用户信息;管理员可以查询某用户,输入用户名进行精准查询,使用查询语句select from user where name = ?,从而查找用户并显示信息。

4.3车次管理模块编码实现及界面设计

车次管理分为后台和前端模块。后台对象是管理员,可以对车次的添加、修改、删除、以及查询,通过验证信息登录后台,点击【车次管理】,系统调用get接口Flight进入到车次管理界面,看到已有车次列表,并且设置了分页。在页面顶部点击【新增】,系统通过调用get接口Flight /addFlight.do,系统弹出新增车次信息表单,输入车次信息,数据库服务器使用插入信息语句即insert into flight (name, shifazhan,zhongdianzhan...) values (?,?,?...),把新输入的车次信息添加到flight表中,创建一张新的车次表。刷新界面,会显示新增的车次信息。如果要修改车次信息,选中某车次的信息,点击【修改】,数据库服务器使用修改信息语句即update flight set(name, shifazhan,zhongdianzhan.....)=(?,?,?...),从而修改车次信息,刷新界面后,会显示新修改的车次信息;可以查询车次,在车次管理界面搜索框,输入车次的始发站或终点站进行查询,数据库服务器使用查询语句即select from flight where shifazhan = ? or zhongdianzhan=?,查找符合条件车次并显示信息。对前端用户,可以浏览车次信息。登录网站,进入首页,查看车次列表。可以搜索车次信息,输入始发站或终点站搜索。

4.4席别管理模块编码实现及界面设计

这是管理员的功能,用于对车牌的席别信息进行添加,修改,删除和查询。首先,管理员通过验证信息登录该系统后台,点击后台上方导航栏目中的【席别管理】,系统通过调用get接口Type进入到席别管理界面。进入到席别管理的界面,最先看到的就是已有的席别列表,并且设置了分页,为10条/页,包括席别名称,在该页面顶部,点击【新增】,系统通过调用get接口Type/addType.do,系统弹出新增席别信息的表单,用户输入席别的详情信息,数据库服务器使用插入信息语句即insert into type (name) values (?),把新输入的席别信息添加到type表中,从而创建一张新的席别表。刷新界面,席别管理会显示新增的席别信息。

4.5订单管理模块编码实现及界面设计

对于网站管理员来说,当用户订票支付后,就创建了该用户下的新的订单order_id,管理员能够在订单管理中查看,显示所有用户的购买订单,系统根据order_id显示其基础信息。当用户刚购买时,该order_id_status显示为“待支付”,那么用户就可以在个人订单记录里对还未支付的订单进行支付处理。此时该订单的状态更新为“已支付”。如果用户想要进行退换票,需要点击某订单的【退换】按钮,就可以等待后台管理员处理火车票的退换。

4.6站点管理模块编码实现及界面设计

站点管理分为后台和前端模块。管理员可以对站点的添加、修改、删除、以及查询。管理员通过验证信息登录该系统后台,点击【新增】,系统通过调用get接口Zd/addZd.do,系统弹出新增站点信息的表单,管理员输入站点的详情信息,数据库服务器使用插入信息语句即insert into zd (name,lianxirem,phone...) values (?,?,?...),把新输入的站点信息添加到zd表中,从而创建一张新的站点表。如果想要修改站点的信息,管理员需要直接选中某站点的信息,在该详细后的操作按钮中点击【修改】,数据库服务器使用修改信息语句即update zd set(name,lianxirem,phone.....)=(?,?,?...),从而达到修改站点详情信息的目的第;管理员可以查询某站点,在站点管理界面的顶部搜索框里,可以输入站点的名称进行精准查询,数据库服务器使用查询语句即select from zd where name = ?,从而调用数据库表zd查找符合条件的站点并显示其基础信息。

4.7系统测试

测试内容:1.访问登录界面,输入登录账号密码信息开始测试。2.点击注册输入注册信息开始测试。3.访问用户管理界面,输入用户信息开始测试。4.访问席别管理界面,输入席别名称开始测试。5.访问车次管理界面,以及网站前端页面,输入车次的详情开始测试。

测试说明:对用户管理进行以测试,输入全新用户的登录名和密码及其他信息,用户信息添加成功,进入系统;如果输入数据库已存在的用户名信息,系统会提示该用户名已存在,添加失败。车次管理测试主要是针对车次的详情管理以及用户的查询、订票操作。输入完整的车次信息,系统提示车次添加成功,用户可在前端浏览;要订票某车次,点击订票,系统提示订票成功。

5结论

火车售票系统的设计与实现,通过了一系列软件开发步骤。在前期,使用了文献调研法,选择了Java作为开发语言,结合Spring Boot框架搭配开发。在数据库的选择上,选择了MySQL关系数据库,保证系统操作数据安全性。

经历了技术的选择和研究,最后设计出用户的注册登录,火车票查询、购买,订单支付,退换票等内容,基本拥有火车售票系统的基础功能。但由于技术以及现实条件的限制,还是存在功能上的不全面设计,例如购买支付,只做了模拟支付,没做到真正支付,因此该火车售票系统还有待进一步研究。

参考文献:

[1]孙卫琴,李洪成. Tomcat与Java Web开发技术详解[M].电子工业出版社,2019:1-205.

[2]BruceEckel.Java编程思想[M].机械工业出版社,2018:1-378.

[3]FLANAGAN.Java技术手册[M].中国电力出版社,2020:1-465.

[4]孙一林,彭波.Java数据库编程实例[M].清华大学出版社,2020:30-210.

4