票务系统课程设计报告.docx
- 文档编号:23220480
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:39
- 大小:308.17KB
票务系统课程设计报告.docx
《票务系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《票务系统课程设计报告.docx(39页珍藏版)》请在冰豆网上搜索。
票务系统课程设计报告
录
课程设计报告
课
题:
铁路票务系统
专业班级:
学
姓
号:
名:
指导教师:
评阅意见:
评定成绩:
目
指导老师签名:
年
月
日
摘要................................................................................................................................1
1.课程设计的目的与意义............................................................................................4
2.需求分析....................................................................................................................6
3.系统设计....................................................................................................................8
4.系统实现..................................................................................................................10
1.系统调试.................................................................................................................17
1.小结..........................................................................................................................23
附录源代码..................................................................................................................24
课程设计
1.课程设计的目的与意义
1.1、课程设计的目的
数据库课程设计是数据库系统原理实践环节的及为重要的一部分.其目的是:
(1)培养学生能够应用数据库系统原理在需求分析的基础上对系统进行概念设计,学会设计局部ER,全局ER图;
(2)培养学生能够应用数据库系统在概念设计的基础上应用关系规范化理论对系统进行逻辑设计,学会在ER图基础上设计出易于查询和操作的合理的规范化关系模型;
(3)培养学生能够应用SQL语言对所设计的规范化关系模型进行物理设计,并且能够应用事务处理,存储过程,触发器以保证数据库系统的数据完整性,安全性,一致性,保证数据共享和防止数据冲突;
(4)培养学生理论与实际相结合能力,培养学生开发创新能力;
(5)培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应计算机产业日新月异发展的形势;
(6)提高和加强学生的计算机应用与软件开发能力,使学生由初学者向专业的程序员过渡。
1.2、课程设计的意义
目前,我国在计算机应用、计算机软件和电子类相关专业的人才培养方面,取得了长足的发展,但同时也让我们深刻地感觉到缺乏实际开发设计项目的经验,不善与综合运用所学理论,对知识的把握缺乏融会贯通的能力.尤其是我们计算机专业大学生,由于缺乏具体项目经验,毕业之后普遍感到知识不能转化为能力。
课程设计可以锻炼我们理论联系实际的能力,为今后工作做铺垫。
信息时代已经来临,信息处理的利器——计算机应用于火车站售票的日常管理为火车站售票的现代化带来了从未有过的动力和机遇,为火车站票务管理领域的飞速发展提供了无限潜力。
采用计算机管理信息系统已成为火车站票务管理科学化和现代化的重要标志,给火车站票务带来了明显的经济效益和社会效
2
课程设计
益。
计算机已经成为人们生活不可却小的一部分。
铁路票务管理是一件比较负责但又非常重要的事情,它是涉及国家铁路运输的正常工作、国民经济的发展和人民生活水平及质量的大事情。
随着经济的发展,交通运输越来越便捷,为了提高效率,减轻劳动强度,设计开发高效的铁路信息查询系统就显得颇为重要。
火车售票管理中包含许多内容,有铁路乘客运输的运力问题,有订票管理问题等等。
铁路信息查询系统是企业信息决策和管理的重要的组成部分,是一种典型的信息管理系统(MIS),其开发主要包括后台的数据库的建立、维护以及前端的相应应用程序的开发两个方面的内容,数据库的建立和维护主要要求其管理数据的一致性、完整性、安全性等特点,而前台的应用程序开发则要求做到各项功能要完备、操作要简便、易学易用等特点。
本课程设计专门要解决这些问题,由于铁路火车票务管理的复杂性,本设计与开发也仅是一个尝试性的工作,但其中有很多重要的思想和方法,涉及一些重要的程序代码,对于研究开发该类程序的工程人员可以起一个抛砖引玉的作用。
2.需求分析
2.1.需求分析的任务
随着旅游业的逐渐的成熟发达,铁路客运量大幅度的提高,各大省市的列车都显著的增加,这些都对列车票务管理系统提出了更高的要求,所以要不断的完善更新列车票务管理系统,提高列车售票系统的工作效率。
随着科学的不断进步,计算机应用已经遍布整个社会的每个角落。
目前社会正处于健保发展方兴未艾的时代,各火车站莫不兢兢业业地改善本身的体制或管理方式,以适应健保越来越严格的规范。
列车在我国的人员流动、物资运输中占据着举足轻重的地位。
全国有大量的人员通过搭乘火车到达目的地。
而与火车的特殊性及可能经过多个城市,每个城市的车站可以出售此火车的车票。
而且同一车站可能有多辆车经过。
许多希望以最快的方式选择自己想来乘坐的那一趟列车。
所以以人工的方式是不可能实现这种功能的。
一种可行的方案是基于客户端服务器的体系结构。
服务器为数据库系统,存储所有必要的信息。
客户端通过连接到服务的应用程序快速、准确地完成相应的工作,通过网上订购,可以达到高效、便捷的购票。
列车票务管理系统的实施,将会在一定程度上促进铁路客运生产力和生产关系的变革,增强市场竞争能力,提高铁路部门的工作效率,提
3
课程设计
升管理水平,减少劳动强度,方便广大旅客购票,有一定的社会和经济效益。
2.2.系统需要实现的功能和操作如下:
(1).查询:
可以通过起点站与终点站在进行查询,也可根据具体的车次输入进行查询,同时每次查询都会显示车次号,点击即可显示该趟列车所进过站点的详细信息,其中包括所到达每个站的到达时间与出发时间。
(2).客户注册、注销:
由于要进行网上订购车票,用户需注册,填写有关信息,由物流公司负责送车票到客户手中。
如果用户不再使用本系统可以选择注销,从而从数据库中删除其有关记录。
(3).订票业务:
本系统为网上订票,用户经过查询车次信息、票务信息,找到自己所需的车票通过所关联的账户进行订购。
(4).退票业务:
根据客户提供的情况(车次、时间、)为客户办理退票手续,退票时按票价的80%退给客户金额,若所退票额能满足他的要求,则为他办理退票手续,同时在数据库中进行更新。
(5).更新功能:
该系统随时跟据车辆的变化情况进行更新,增加车辆时可以在系统中插入该车的详细信息,同时也能根据需要修改某趟车经过的站点与发车时间,当某趟车停止、开行时可以删除该趟车的信息。
同时包括对列车信息、站点信息、管理人员信息、订票记录等的更新功能。
(6).车票配送:
客户在订购了车票之后,管理人员通过后台管理订票记录,然后根据客户的要求选择物流公司及时为其配送车票。
4
课程设计
3.系统设计
3.1总体设计
1.功能设计:
该铁路票务系统流程主要包括客户操作、管理人员操作、主管操作:
客户操作:
查询操作:
可以按照车次或始发站、终点站两种方式进行查询,只需要输入关键信息即可查到所需的车次的有关信息,包括车的类型、所剩票的类型、数量、票价等。
注册操作:
网上订票,需要与客户的银行账号、电话、地址等有关信息关联,
只有进行注册之后才可以进行订票操作。
订票操作:
客户进行注册后,可以方便地进行订票,可以选择支付方式与送
票方式,以达到最快速、高效地完成车票的订购。
退票操作:
由于一些原因,可能造成客户要求退票,系统根据具体的情况判定是否可以退票,进行退票。
注销操作:
客户可能因为某些原因要进行注销操作,系统根据客户请求完成客户注销,删除数据库中的该客户有关信息。
2.功能模块图
5
铁路票务系统
客户模块
注
册
注
销
退
票
订
票
查
询
课程设计
3.局部ER图(以客户为主体)
6
客户
列车
车票
物流公司
票务信息
课程设计
名称
编号
n
车票编号
送票
剩余数量
车票编号
1
查询
住址
电话
1
密码
姓名
身份证号
m
统计
车票类型1
数量
车票编号
数量
n
支付账号
m
支付类型
账号
n
n
订购
n
车票类型2
日期
属于
1
途径站点
里程
到达时间
起始时间
车次
车类型
起始站
终点站
3.2详细设计:
3.2.1逻辑结构设计
用户(用户账号,密码)
用户详细信息(用户账号,姓名,性别,电话,地址,支付方式)
7
字段名称
数据类型
宽度
可否为空
是否为主键说明
课程设计
支付类型(类型编号,支付类型)
网上银行(银行编号,银行名称)
订票记录(用户编号,车票编号,数量,订票日期)票务信息(车票编号,剩余数量,日期)
票类型1(票类型编号1,票类型名称1)
票类型2(票类型编号2,票类型名称2)
物流公司(物流公司编号,物流公司名称)
3.2.2数据库物理设计
用户表:
字段名称
数据类型
宽度
可否为空
是否为主键
说明
ID8
char
20
否
是
用户账号
password
char
16
否
否
用户密码
用户详细信息表:
字段名称
数据类型
宽度
可否为空
是否为主键
说明
ID8
char
20
否
是
用户账号
Name
char
20
否
否
姓名
Sexno
int
1
否
否
性别编号
tel
char
11
否
否
电话
Address
char
30
否
否
地址
zhifuno
int
1
否
否
支付方式
支付类型表:
字段名称
数据类型
宽度
可否为空
是否为主键
说明
zhifuno
int
1
否
是
类型编号
zhifu
char
20
否
否
支付类型
网上银行:
8
课程设计
Bankno
int
1
否
是
银行编号
Bank
char
20
否
否
银行名称
订票记录:
字段名称
数据类型
宽度
可否为空
是否为主键
说明
ID8
char
20
否
是
用户帐号
ID
char
20
否
是
车票编号
num
int
1
否
否
数量
Date
datetime
1
否
否
订票日期
票务信息表:
字段名称
数据类型
宽度
可否为空
是否为主键
说明
ID
char
20
否
是
车票编号
num1
int
1
否
否
剩余数量
Date1
datetime
1
否
否
日期
票类型1表:
字段名称
数据类型
宽度
可否为空
是否为主键
说明
Type1
int
1
否
是
票类型编号1
Type1na
char
20
否
否
票类型名称1
票类型2表:
字段名称
数据类型
宽度
可否为空
是否为主键
说明
Type2
int
1
否
是
票类型编号2
Type2na
char
20
否
否
票类型名称2
物流公司(物流公司编号,物流公司名称)
字段名称
数据类型
宽度
可否为空
是否为主键
说明
transno
Int
1
否
是
物流公司编号
transna
Char
20
否
否
物流公司名称
9
管理员
火车
站点
n
1
n
课程设计
3.2系统数据库设计
3.2.1.该系统由两部分组成:
登录部分和车次车票部分。
(1).登录部分:
该部分分为管理员与乘客登录,管理员登录时需要设定账号与密码,只有输入正确的账号与密码才能登陆,同时系统的功能管理员都能操作,乘客不需要账号与密码,但是乘客只有查询的操作权限。
(2).车次车票部分:
该部分又分为四个子系统:
查询系统:
可以查询车次基本信息与车次详细。
购票系统:
用于乘客购票,同时显示剩余票数与票价。
更新系统:
当车次信息有变化时,管理员可以根据情况插入和删除车次信息。
退票系统:
用于乘客需要退票时,且退票时只退票价的80%。
该系统ER图如图3.1:
账号
车次
出发站
目的站
n
管理
座位类型
始发时间
终点到达时间
密码
显示
到达时间
出发时间
票价
图3.2
剩余票数
10
更新系统
查询系统
购票系统
退票系统
查询系统
错误
课程设计
该系统流程图如下:
开始
选择登录类型
账号
输入账号
和密码
管理员
类型
乘客
正
确
返
回
返回
退出
操作
退
出
操作
结束
图3.2
11
课程设计
4.系统实现
设计的火车站售票系统主要分为五个模块:
5.1.登陆模块。
在登陆系统中,所需要的功能就是对输入的账号和密码与数据库中的账号信息进行匹配查询。
其实现使用了text控件,adodc控件,frame控件,option控件,command控件以及label控件。
主要代码如下:
PrivateSubCommand1_Click()IfOption1.Value=TrueThen'判断是否是管理员登陆
IfText1.Text=""Then'如果账号中输入为空则显示"请输入账号"
MsgBox"请输入账号"
ElseIfText2.Text=""Then'如果密码框输入为空则显示"请输入密码"MsgBox"请输入密码"
ElseIfText1.Text<>""Then'当账号框中输入不为空
DimstrsqlAsString
strsql="select*from表3Whereid="+"'"+Text1+"'"'从数据库中找到账号等于账号框中输入的数据时
WithAdodc1
ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"_
&"DataSource="+App.Path+"\db3.mdb;Persist
SecurityInfo=False"
.RecordSource=strsql
.Refresh
EndWith
IfAdodc1.Recordset.EOF=TrueThen
MsgBox"账号信息错误"
ElseIfText2.Text<>Adodc1.Recordset.Fields("passnum")Then
MsgBox"密码错误"
12
课程设计
ElseIfText2.Text=Adodc1.Recordset.Fields("passnum")Then'当密码框中输入的数据与数据库的密码相符时
Form1.Hide
Form2.Show
EndIf
EndIf
ElseIfOption2.Value=TrueThen'如果选择为游客登录则跳转到游客查询界面Form3.Show
Form1.Hide
EndIf
EndSub
另外为了美化界面,增加登陆界面的功能,添加了time控件,将计
算机系统时间显示在lable控件中,具体代码如下:
PrivateSubTimer1_Timer()
Label4.Caption=Now
EndSub
5.2.主菜单即管理员登陆进入后的操作菜单。
本界面中用到了command控件。
作用是跳转到操作员所需要的界面。
主要代码示例如下:
PrivateSubCommand1_Click()‘当前主菜单隐藏,更新系统显示。
Form2.Hide
Form4.Show
EndSub
5.3.更新系统
更新系统中主要要求对数据库中的表的数据进行修改,主要包括
插入,修改,删除。
在这些功能的实现中我们使用了adodc控件,option控件,label控件,datagrid控件。
主要代码如下:
PrivateSubCommand1_Click()‘如果选择的为火车基本信息,则让datagrid控件中显示火车基本信息的表。
并实现插入功能。
反之则对火车详细信息表进行插入操作。
IfOption1.Value=TrueThen
13
课程设计
SetDataGrid1.DataSource=Adodc1
Adodc1.Recordset.AddNew
ElseIfOption2.Value=TrueThen
SetDataGrid1.DataSource=Adodc2
Adodc2.Recordset.AddNew
EndIf
EndSub
PrivateSubCommand2_Click()‘允许在datagrid中对数据进行更新DataGrid1.AllowUpdate=True
EndSub
PrivateSubCommand3_Click()‘如果选择的为火车基本信息,则让datagrid控件中显示火车基本信息的表。
并实现删除功能。
反之则对火车详细信息表进行删除操作。
IfOption1.Value=TrueThen
Adodc1.Recordset.Delete
ElseIfOption2.Value=TrueThen
SetDataGrid1.DataSource=Adodc2
Adodc2.Recordset.Delete
EndIf
EndSub
PrivateSubCommand4_Click()‘使用户不能对datagrid中数据进行更新,防止出错。
DataGrid1.AllowUpdate=False
EndSub
5.4.查询系统
在本系统中主要是要求用户能对火车进行查询,包括车次查询,
14
课程设计
站点查询以及详细查询。
另外要求不能对数据进行修改。
为了实现这些功能,我们用到了datagrid控件,adodc控件,label控件,command控件,text控件。
具体代码如下:
PrivateSubCommand1_Click()‘对输入的两个站点进行查询。
查询进过输入的两个站点的所有火车。
为了实现这个对两个站点间的查询,我们使用了子查询语句。
DimstrsqlAsString
strsql="select*from表2where车次in(select车次from表2Where站点in('"+Text1+"','"+Text2+"')groupby车次havingcount(*)>=2)and站点in('"+Text1+"','"+Text2+"')orderby编号asc"
WithAdodc2
.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"_
&"DataSource="+App.Path+"\db3.mdb;Persist
SecurityInfo=False"
.RecordSource=strsql
SetDataGrid1.DataSource=Adodc2
.Refresh
EndWith
EndSub
PrivateSubCommand2_Click()‘对
DimstrsqlAsString
strsql="select*from表2Where车次="+"'"+Text3+"'orderby编号asc"
WithAdodc2
.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"_
&"DataSource="+App.Path+"\db3.mdb;Persist
SecurityInfo=False"
.RecordSource=strsql
SetDataGrid1.DataSource=Adodc2
.Refresh
15
课程设计
EndWith
EndSub
PrivateSubCommand3_Click()‘对输入的车次进行查询,输出该车次的信息。
DimstrsqlAsString
strsql="select*from表2orderby编号asc"
WithAdodc2
.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"_
&"DataSource="+App.Path+"\db3.mdb;Persist
SecurityInfo=False"
.RecordSource=strsql
SetDataGrid1.DataSource=Adodc2
.Refresh
EndWith
EndSub
PrivateSubForm_Load()‘使datagrid中输出的数据不能进行修改。
DataGrid1.AllowAddNew=False
DataGrid1.AllowDelete=False
DataGrid1.AllowUpdate=False
EndSub
5.5.购票退票系统
在该系统中要实现的功能是支持售票员对游客购票的车次的
查询,以及购票的操作,其中包括对票价的显示,座位数的加减,尤其是实时对数据库的车票情况的更新,以及购买硬座、硬卧、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 课程设计 报告