摘 要
随着计算机技术的发展,人们对计算机智能化的需求越来越大,对软件的实用性、速度等性能的要求也越来越高。未来火车站的发展趋势是完全自动化的售票信息查询,网络售票,智能化售票,而且随着计算机的普及,信息处理量的逐渐扩大,手工处理方式已经远远不能满足人们管理活动的需要,各种工作都逐渐由手工转为自动化,将使许多复杂、繁琐、且需要很多人力的工作变得简单。在本此java课程设计中,由于时间与水平的关系,当然不可能做到这样的程度,只不过是模拟一下由售票员来操作的售票系统。 工具软件利用IDEA开发工具和 MYSQL Workbench 8.0CE数据库来开发这个火车站网上售票系统。该系统要解决的是火车站网上售票工作所要解决的问题,可以满足火车站网上售票的基本要求,包括查询、订票、退票等三个方面的功能。该系统能运用到火车站售票的工作中,根据用户的需求,设置其权限,并快捷方便的为用户提供服务。这是我国迫切需要完成的一项战略任务。作为工业文明产物的铁路,如何借重于信息经济技术的帮助,实现管理方式、运营组织、服务标准的现代化这是摆在我国铁路管理者面前的重大课题。 铁路信息化是铁路线代化的主要标志,其根本目的是将信息技术广泛应用于铁路生产经营与管理决策的各项活动中,改造传统产业,提高铁路运输生产效率、提升铁路运输市场的竞争力,提高铁路运输的经济效益。 采用计算机出售火车票大大方便了旅客购票,但毕竟还局限于火车站的售票厅和市内售票处的售票窗口,不论在地区分布上还是售票窗口的数量上,都有一定的局限性。为了解决售票大厅拥挤集中购票的问题,提高铁路客运的售票效率及旅客便利性,使铁路客运在竞争日益激烈的运输行业更具优势。
关键词 火车票管理,IDEA,MYSQL Workbench 8.0CE,用信息化推动工业化,用信息化技术改造传统产业。
第一章 概述
1.1 引言
火车票管理系统是针对火车票管理而开发的一套管理软件,火车票管理系统主要是针对乘客对车票进行购买,信息查询,改签及退票等应用组件为一体,涵盖了火车票方面整个的用作流程。现在越来越多的人为了出行方便的其他原因,会主动选择乘坐火车出行。我选择和将火车票管理系统作为题目主要原因也是因为这个火车票管理系统流程业务的复杂程度比较适合我学习java方向发展。这是从技术上来讲,我们火车票管理系统基于IDEA开发的一个开放式的操作系统。增加了许多IDEA方面的知识,很多之前没有接触过的技术知识也在这次课程设计中都有所体现。
通过该系统,乘客对火车票的购买查询更改也有了更方便更快捷的操作方式,也符合当下时代飞速进步的背景,方便了乘客的出行也同时为车站方面减小了工作压力可以提高车站和乘客双方的时间效率。
1.2 系统目标
本次设计的火车票管理系统功能齐全,包括车票购买,车次查询,时间查询,路线信息显示,管理员对车辆信息的管理改签系统。真正意义上实现了车站方面与乘客方面对火车票线上的全面管理及管理。
第二章 火车票管理系统各主类及需求分析
2.1主菜单类简要概括
两个输入框 账号标签 密码标签
两个文本框 账号输入框 文本输入框
按钮
注册按钮
登录按钮
管理员登陆按钮
add添加类 添加车次信息等
add绘图类 绘制添加车次界面操作
包含车次号 目的地 始发地 剩余票数等输入框
allTrain类 查询所有车次信息
通过连接数据库 获取数据库中车次信息表中的所有车次相关信息
Erase类 删除车次操作
通过sql语句 查询出输入车次信息 并进行删除
EraseFrame类 绘制删除车次界面
Find1类 查询车次信息类
Find2类 查询车次信息类
Purchase类 乘客购票及票数减少
PurchaseFrame类 创建购票界面
购票按钮
Refund类 辅助查询购票信息
RefundFrame类 查询购票信息按钮
创建退票界面
退票按钮
Register类 乘客信息注册
RegisterFrame类 创建注册界面
注册按钮 字体颜色
SaMainFrame类 创建管理员界面
管理员菜单栏 用户信息菜单按钮 录入按钮 修改按钮 查询按钮删除按钮
Ticket类 乘客购票信息查询 连接数据库
Update类 管理员修改车票信息
UpdateFrame类 创造修改界面 按修改钮
UserInfo类 用户登录信息界面
UserMainFram类 创建主界面 菜单栏 购票信息按钮 退票信息按钮 注销按钮 查询按钮
2.2 系统功能需求主菜单类详细说明
Access类:
设置主方法包括一个run方法直接创建一个Access对象 设置界面窗口可视化并且不可更改大小 捕捉一个异常
创建一个Access构造方法 里面用setTitle设置标题 用setDefaultCloseOperation设置界面可关闭 设置界面尺寸 创建一个从contentPane并设置大小
创建Jlabel 设置尺寸标题字体大小
创建textFile passwordFileld 设置用setBounds大小 setFont字体
创建登录按钮 Jbutton 设置尺寸大小 字体 创建鼠标监视器actionPerformed 监视器中包括获取user password数据 用try方法将获取的user和password与数据库中的用户密码进行对比 如果正确 则创建一个UserMainFrame 设置UserMainFrame对象界面可视化 可变大小 如果不能登录成功 返回一JoptionPane.showMessageDialog方法 标注用户登陆失败与上述相同 设置 注册按钮 管理员登录按钮
创建两个方法 一个是判断用户登录方法,另一个是判断管理员登录方法 两者大致相同 在方法中设置sql语句 select * from zhaoxin.管理员信息/用户信息 从数据库的表中查找出关于用户或者管理员的信息 之后创建连接池 设置driver,url,username,password变量 进行数据库连接 并且把方法中传入的user和password与数据库查询出来的一一进行对比 如果找到相同的则返回验证过了
add添加类
此类主要是在数据库中添加车次信息的类
创建Add方法 传入a b c d f e 作为车次信息的车次号 始发地 目的地 出发时间 剩余票数 是否高铁 票价 创建url driver username password 进入数据库 用sql语句
insert into zhaoxin.车次信息(车次号,始发地,目的地,出发时间 剩余票价 是否高铁 票价)
AddFrame类
此类为add类的界面化类
设置Jpanel类型的contentPane 五个JtextField类型的textField
创建录入界面 设置标题 大小 设置Jpanel的大小
创建Jbutton 录入按钮 设置按钮大小 字体 鼠标监听器获取文本框的所有信息并且在contentPane中添加
AllTrain类
此类为显示车次信息的类
创建AllTrain的构造方法 方法中创建一个contentPane设置界面大小用setBounds设置尺寸 setTitle设置界面大小
创建query3方法 通过数据库展示车次信息
Erase类
创建Erase构造方法 获取传入a的Judge方法 用boolean类型的j变量去获取
创建Judge方法用sql语句select * from zhaoxin.车次信息 设置driver url username password 获取车此次全部信息 然后判断是否存在 如果车次存在返回true 如果传回参数为true则执行sql语句 delete from zhaoxin.车次信息where 车次号='" + a + “对相应车次信息进行删除
EraseFrame类
创建Jpanel类的contentPane 和 JtextField类的textField
与AddFrame类大致相同 只不过按钮标签不同
Find1类
创建Find1构造方法 传入三个String类型参数
创建购票按钮 设置尺寸大小字体 设置鼠标监视器创建PurchaseFrame类的新对象
创建一个query方法 传入start end两个变量 从数据库中选出该车
Find2类
创建Find2的构造方法 从传入a和user两个变量
创建购票按钮 设置标签字体鼠标监视器
连接数据库进行查询
Purchase类
创建构造方法 与Erase类相同 sql语句换成update zhaoxin.车次信息 set 票数-=1 where 车次号 = a
此类为替换数据库中车次信息
PurchaseFrame类
创建购买界面 创建购买按钮
Refund类
创建Judge方法 从数据库中找出user的订购信息 select * from zhaoxin.user订购信息
创建Refund构造方法 用boolean j获取Judge方法的返回参数 如果错误 返回退票失败 如果成功 进行数据库连接 用两个sql语句delete from user订购信息 where车次号= a 与 update 车次信息 set 剩余票数=剩余票数+1 where 车次号 = a 对车次信息进行删除和更新
RefundFrame类
创建退票界面
设置RefundFrame构造方法 传入String类型的user 设置界面标签大小 创建一个新的Jpanel 设置为蓝色 设置Panel的尺寸 设置label 尺寸 字体 text的尺寸大小字符限度 退票按钮添加鼠标监视器点击后获取tesxtField的内容进而创建一个新的Refund
Register类
此类为注册类
创建Register类的构造方法
创建两个sql语句 insert into zhaoxin.用户信息 values(a , b) /create table zhaoxin.a订购信息(车次号 varchar(10),始发地 varchar(20),目的地 varchar(20),出发时间 varchar(30),PRIMARY KEY(车次号),Foreign key(车次号)references 车次信息(车次号)
)对数据库进行连接 如果连接成功则返回注册链接成功
RegisterFrame类
设置Jpanel JtextFile JtextFile三个变量
创建RegisterFrame的构造方法 创建注册界面setTitle标签 setBounds界面大小
创建label label1 label2 设置尺寸及字体
创建两个文本框 设置尺寸setBounds 设置setComuns
创建注册按钮button 设置字体 添加监视器 获取文本框的文本 如果获取不了就重新创建一个Regiseter对象 并将现有界面删除
SaMainFrame类
此类为创建管理员界面
创建管理员构造方法 设置菜单栏menuBar 设置注销菜单按钮 menuItem 给按钮添加一个监视器添加JOPtionPane.showMessageDialog方法 返回注销成功语句用dispose方法 创建Access类的一个对象 设置此窗口可视化不可更改大小
创建用户信息菜单按钮 设置一个按钮 添加鼠标监视器创建UserInfo方法并将uf类可视化
设置label类设置尺寸和字体
创建录入按钮AddButton 设置尺寸字体 添加监视器设置AddFrame类的一个对象 设置界面可视化可变大小化
创建修改按钮 UpdateButton方法 设置尺寸字体大小 添加监视器
相同的设置查询 删除按钮 同上
Ticket类
创建Ticket的构造方法 传入String类型的user
设置contentPane的尺寸 标题 设置可关闭
连接数据库 执行query3方法 利用sql语句 select * from zhaoxin.user订购信息
从数据库中查询到个人信息的购票情况
Update类
创建两个sql语句 UPDATE zhaoxin.车次信息 SET "+a+"='"+b+"' WHERE 车次号='"+c+"'";String sql1 = "UPDATE zhaoxin.车次信息 SET "+a+"="+b+" WHERE 车次号='"+c+"'"
更新数据库中车票信息
UpdateFrame类
此类为替换界面
创建替换界面的构造方法
设置修改界面的标题 大小 字体
创建一个按钮 Jbutton修改按钮 设置大小字体监视器 如果文本框中的数据 如果b项是剩余票数就更新数据
UserInfo类
此类为用户信息界面
创建界面大小 标题 设置窗口可关闭
创建query4方法 执行sql语句 select * from zhaoxin.用户信息
进入数据库对符合的信息进行遍历展示出来
UserMainFrame类
创建主界面类
创建主界面构造方法 创建菜单栏menuBar menu 创建信息按钮 退票系统按钮 注销按钮 查询按钮
数据库连接代码:
程序思维导图:
各类对应功能:
第三章系统需求说明
3.1为了保证系统自够长期、安全、程定、可靠、高效的运行,本系统应该满足以下的性能需求。
3.1.1准确性和及时性
系统处理的准确性和及时性是系统的必要性能。系统应能及时而且准确的根据用户
权限及所输入的信息做出响应。由于本系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而车票的数量和时间又景影响用户的决策活动,其准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。
3.1.2易用性
本系统是直接面对用户的,而用户往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接ロ,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟无的术语和中文信息的界面,从而保证系统的易用性。
3.1.3.安全性
网上订票系统中涉及到的数据是客运公司相当重要的信息,系统要保证用户的权限,对于车次等信息用户只享有查询服务,不得更改系统还要提供方便的手段供系統维护人员进行数据备份、日常安全管理、以及系统意外崩溃时数据的恢复等工作。同时系统还要保证对数据库进行及时更新,保证数据一致性。
第四章 数据库逻辑设置
4.1用户的需求
具体体现在各种信息的提供、保存、更新和査询,这就要求数据库结构能充分满足各种信息的输出和输入。针对火车站网上订票系统,通过对网上订票工作的过程、内容以及数据流程分析,设计如下所示的数据项和数据结构:
4.1.1.车次信息包括车号、出发地、目的地、发车日期、开出时刻、剩余座位数、票价。
4.1.2订票记录包括:订单号、、车号、订购日期、乘车时间、总价。
4.1.3.用户信息包括:用户名、用户密码。
4.2数据库任务陈述
4.3.1做一个火车票售票管理系统:对火车站的售票进行管理。主要功能:车次管理库次、起止地点、到达时间、开车时间)、每一车次的车票管理(车厢号、座位号)、售票、退票、查询、异常处理。
4.2.2任务目标
完成一个火车票售票管理系统,要实现管理员对车票的增添以及用改功能。同时需要实现用户对车票的查询购买,以及出现调整之后的退票服务。
第五章系统定义
5.1系统边界
管理员:可以对车票以及车次进行用改操作。
用户。可以买票,但是不可以对火车票进行添加操作用户视图
5.1.1管理员视图
(1)列车管理:
包括列车的录入、查询、修改和添图。
(2)用户管理;
包括系统使用用户的添加、查询、修改、間除等。在线支付用户身份信息
用户注册车次设置管理员车次信息录入用户信息管理票务系统本站实际情况
(3)系统数据处理:
数据查询,根据关键字过滤,査看当前车次信息,车票信息,用户信息以及处理历史。
5.2管理员个人信息管理
包括查看个人信息、修改密码、重新登陆、退出系统等。
5.2.1个人信息管理:
查看个人信息,修改密码等。
5.2.2列车车次检索
包括根据车次进行精确查找,根据起始地点进行模糊查询,查询一定时间之后的车次或按照余票数量进行查询和过滤等等。
5.2.3车票管理
按照一定的流程购买自己所需要的车票,查看自己所持有的所有车票,并能按照一定流程进行退票。
5.2.4用户请求信息管理查看用户请求信息并加以处理。
程序源码
https://download.csdn.net/download/m0_54570435/87719812