Java课程设计-火车票管理系统

摘 要

随着计算机技术的发展,人们对计算机智能化的需求越来越大,对软件的实用性、速度等性能的要求也越来越高。未来火车站的发展趋势是完全自动化的售票信息查询,网络售票,智能化售票,而且随着计算机的普及,信息处理量的逐渐扩大,手工处理方式已经远远不能满足人们管理活动的需要,各种工作都逐渐由手工转为自动化,将使许多复杂、繁琐、且需要很多人力的工作变得简单。在本此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

 

 

 

 

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

X-MTing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值