车票管理系统设计.docx
- 文档编号:5129521
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:18
- 大小:297.35KB
车票管理系统设计.docx
《车票管理系统设计.docx》由会员分享,可在线阅读,更多相关《车票管理系统设计.docx(18页珍藏版)》请在冰豆网上搜索。
车票管理系统设计
课程设计(论文)
课程名称:
科研训练
题目:
票务管理系统的设计与实现
院(系):
机械电子工程系
专业班级:
通信工程1101班
姓名:
黄安文
学号:
26
指导教师:
孙晓燕
2013年7月8日
西安建筑科技大学课程设计(论文)任务书
专业班级:
通信1101班学生姓名:
黄安文指导教师(签名):
一、课程设计(论文)题目
车票管理系统的设计与实现
二、本次课程设计(论文)应达到的目的
1.熟练掌握C/C++或JAVA语言编程
2.学会软件系统设计的基本步骤
3.熟悉软件调试的基本流程,掌握基本的调试技巧
4.学会查找课外资料,提高自主解决科研实际问题的能力
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)
一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。
如
班次发车时间起点站终点站行车时间额定载量已定票人数18:
00郫县广汉24530
26:
30郫县成都0.54040
37:
00郫县成都0.54020
410:
00郫县成都0.5402
用c/c++设计一系统,能提供下列服务:
(1)录入班次信息(信息用文件保存),可不定时地增加班次数据
(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。
(3)查询路线:
可按班次号查询,可按终点站查询
(4)售票和退票功能
A:
当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数
B:
退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数
四、应收集的资料及主要参考文献:
1.《c程序设计》谭浩强编著,清华大学出版社
2.《Java程序设计》辛运帏、饶一梅编著,人民邮电出版社
五、审核批准意见
教研室主任(签字)
车票管理系统设计与实现
摘要
本文针对车站的售票实际情况,按照软件工程的结构化设计思想,经过项目的可行性研究和需求分析、总体设计、详细设计,以及编码实现和调试等步骤设计开发了火车票务信息管理系统。
并运用数据流图、数据库逻辑结构、系统流程图、以及程序流程图,对该系统的数据需求、数据库、系统软件结构、系统流程、以及处理过程等进行了分析和设计。
随着经济的发展,交通运输越来越便捷,为了提高效率,减轻劳动强度,设计开发高效的铁路信息查询系统就显得颇为重要。
车售票管理中包含许多内容,有乘客运输的运力问题,有订票管理问题等等。
工具软件利用VS2005开发工具和SQLServer2005数据库系统来开发火车票务信息管理系统。
该系统主要目的是实现车站网上售票工作,可以满足车站网上售票的基本要求,包括查询、订票、退票等模块。
关键词:
B/S结构、SQL
TheDesignandImplementationofTicketManagementSystem
Abstract
Aimingattherailwayofticketingactualcondition,accordingtothesoftwareengineeringstructuraldesignthought,afterprojectfeasibilitystudyandademandanalysis,overalldesign,detaildesign,aswellascoderealizationandcommissioningproceduresdesignedanddevelopedatrainticketinformationmanagementsystem.Andusingthedataflowgraphanddatadictionary,thehierarchystructure,systemflowcharts,thedataneeds,database,systemsoftwarestructure,systemflow,andprocesswereanalyzedanddesign.Featuresofthesystemare:
closingtotheactuallivesofgraduatesandmeetingthenetworkapplicationhabitofthem.Ithasgoodpracticalsignificance.ByVS2005toolsoftwaredevelopmenttoolsandSQLServer2005databasesystemtodevelopthetrainticketinformationmanagementsystem.ThissystemmainlyaimistorealizethestationInternetticketsales,andcansatisfythestationworkthebasicrequirementsofInternetticketsales,includinginquiresmodule,booking.
Keywords:
StructureofB/S、SQL
目录
1绪论......................................................................1
1.1选题背景与意义.........................................................1
1.2国内外相关研究现状.....................................................1
2系统规划..................................................................2
2.1新系统可行性分析.......................................................2
2.2系统主要功能实现.......................................................2
3系统设计..................................................................3
3.1系统核心框图设计.......................................................3
3.2系统数据框图设计.......................................................4
3.3系统程序流程图设计.....................................................4
3.4数据库设计.............................................................5
3.4.1关系模式设计........................................................5
3.4.2各类中成员函数......................................................6
3.4.3关系数据库设计......................................................9
4系统测试与维护...........................................................10
4.1测试..................................................................10
4.2维护..................................................................12
5系统实施中的问题与解决方案...............................................12
6结束语...................................................................13
参考文献...................................................................14
1.绪论
1.1选题背景与意义
信息时代已经来临,信息处理的利器——计算机应用于车站售票的日常管理为车站售票的现代化带来了从未有过的动力和机遇,为车站票务管理领域的飞速发展提供了无限潜力。
采用计算机管理信息系统已成为车站票务管理科学化和现代化的重要标志,给车站票务带来了明显的经济效益和社会效益。
计算机已经成为人们生活不可却小的一部分。
票务管理是一件比较负责但又非常重要的事情,它是涉及国家铁路运输的正常工作、国民经济的发展和人民生活水平及质量的大事情。
随着经济的发展,交通运输越来越便捷,为了提高效率,减轻劳动强度,设计开发高效的铁路信息查询系统就显得颇为重要。
车售票管理中包含许多内容,有乘客运输的运力问题,有订票管理问题等等。
铁路信息查询系统是企业信息决策和管理的重要的组成部分,是一种典型的信息管理系统(MIS),其开发主要包括后台的数据库的建立、维护以及前端的相应应用程序的开发两个方面的内容,数据库的建立和维护主要要求其管理数据的一致性、完整性、安全性等特点,而前台的应用程序开发则要求做到各项功能要完备、操作要简便、易学易用等特点。
本课程设计专门要解决这些问题,由于铁路火车票务管理的复杂性,本设计与开发也仅是一个尝试性的工作,但其中有很多重要的思想和方法,涉及一些重要的程序代码,对于研究开发该类程序的工程人员可以起一个抛砖引玉的作用。
1.2国内外研究现状
针对本文的研究对象和研究主要内容,参阅相关参考文献以及资料,并且结合以往同类调研得到的结果,整理得到本文所选领域目前的研究现状情况。
我国铁路系统就开始了计算机售票的研究,并在上海站和广深线试验,但由于中国铁路客票发售的特殊复杂性和技术条件所限,一直未能大面积推广。
虽然国外和其它票务系统有着成功的经验,但我国铁路规模要庞大得多。
首先,全国铁路7万多公里,6000多个车站,快车营业站1700多个;铁路售票日交易量非常大,正常情况下全国每天售票量达250万张到300万张,春运期间则高达420万张,并且集中在每天上午,这在全世界其他国家是绝无仅有;第三,我国实现了席位精确管理,国外欧美铁路除了部分高档列车可以预订席位外,其它基本不对号,这一点类似民航系统,换登机牌时才对号,这对系统的数据库要求会有很大的不同;此外,我国铁路运输组织与管理复杂、变化大,如春运期间大量的加开车、甩车,票种繁多,票价计算复杂等,再如为了照顾偏远地区和贫困山区,我国还实行了地远递减的票价机制(国外没有),此外还有中转票、学生票等。
另外,与国外相比,我国铁路系统对安全性要求更高。
中国百姓以火车为主要交通工具,买票绝不能中断,其社会影响很大。
可以说,我国铁路客票系统具有覆盖面广、交易量大、实时性强、席位精确管理、安全可靠性要求高、系统复杂程度高等特点,是任何一个国家的铁路售票系统或其它行业系统无法比拟的。
综合分析,我国票务管理信息系统相对落后,需要更多的发展机会和发展空间,也需要各方面加强重视。
2.系统规划
2.2新系统可行性分析
1)实施的可行性
本系统采用VisualStudio2008平台ASP.NET(C#)[1]+SQLServer2005[2]开发,对硬件的要求也不高,所以从软件到硬件,开发成本都极低。
系统开发以模块为依托,各模块以实现基本功能为主要目的,后续可根据实际需要进行拓展和完善,整体系统结构较为合理,拓展难度不大,通用性效果较好。
所以从经济上讲,是可行的。
2)技术上的可行性
由于本系统采用ASP.NET(C#)+SQLServer2005为平台,当前的开发技术、软件、硬件技术都相当的成熟,足以满足系统的要求,自身也有相关知识学习和设计的背景,开发本系统在技术上是可行的。
3)进度上的可行性
本系统涉及面不大,规模小、核心流程比较连贯,能快速获取系统需求信息,可以很有条理的逐步完成各项工作,业务相对简单。
将功能和板块集成在论坛平台上,能够模版化的实现许多功能,可以大大提升系统开发进度。
新系统可以有条有理的在规定期限内完成所有开发工作。
综上所述,本系统是可行的,可以立即开发
2.2系统主要实现功能
1)录入班次信息(信息用文件保存),可不定时地增加班次数据
2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。
3)查询路线:
可按班次号查询,可按终点站查询
4)售票和退票功能
A:
当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数。
B:
退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数。
3.系统设计
3.1系统核心框图设计
3.1.1系统核心框图如图3.1所示。
图3.1票务信息管理系统核心图
整个流程图中,所有信息与操作都需要经过系统管理员的允许,无论是站点信息、列车信息、线路信息、车票信息,还是旅客订票与员工出票。
每个步骤与操作都是有条不紊地按照指示进行。
如此,保证了整个系统的完整性与有序性。
3.1.2系统完善后的票务信息管理[3]框图如图3.2所示。
图3.2完善后的票务信息管理系统图
3.2系统的数据框图设计
3.2.1系统数据框图如图3.3所示。
图3.3票务信息管理系统数据图
此数据流图是根据上面核心框图3.1改写而成,编号对应上面文字,通过编号使之简化,便于识别与操作。
3.3系统程序[4]流程图设计
系统程序流程图如图3.4所示。
1)程序开始后,依次进行录入、浏览、查询、订票。
2)进行到订票时,需要对车票余数判定,如小于总票数,则可以订票;否则,不能订票。
3)订票失败后,程序结束。
订票成功后,如果不需要退票,也将直接结束程序;如果要退票,又需要进行判定车是否发出。
4)如果车已发出,退票失败,结束程序;如果车未发出,则可进行退票,然后结束程序。
图3.4系统程序流程图
3.4数据库设计[5]
3.4.1关系模式设计
管理员\旅客表(编号、帐号、密码、姓名、性别、地址、联系方式、帐号类型)
站名表(编号,站名)
车辆表(编号,车次)
线路表(编号,车次,站名,到站时间,出站时间)
车票信息表(编号,出发地、目的地、出发时间、到达时间、票价、票名)
已定票信息表(编号,出发地、目的地、出发时间、到达时间、票价、票名、数量、订票人)
一车站每天有n个发车班次,每个班都有一班次号(1、2、3...n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量,如下:
班次发车时间起点站终点站行车时间额定数量已订票人数
16:
30郫县成都0.54040
27:
00郫县成都0.54020
38:
00郫县广汉24530
410:
00郫县成都0.54010
...
3.4.2各类中的成员函数:
录入车次信息(数据操作):
voidinput();
函数形参为空,返回类型为void
主要实现对bus类中的私有数据成员的数据录入功能;
从文件中载入信息(数据操作):
voidload(ifstream&in);
函数形参为输入流对象,返回值类型为void
从文件中读取数据对bus类中的私有数据成员进行初始化;
输出车次信息(数据操作):
voidoutput();
将bus类中的私有数据成员按照一定格式输出到显示器上;
写入文件中(数据操作):
voidwrite(ofstream&out);
函数形参为输出流对象,返回值类型为void
将车次信息写入到文本文档中;
订票、退票:
voidordert(intn);
voidreordert(intn);
函数形参为票的数量,返回类型为void
订、退票函数对私有成员已定票数order进行加减;
判断是否已经发车:
booljudge();
函数形参为空,返回类型bool类型
根据车次的发车时间与系统时间进行对比,判读本班车是否已经发车,如
果已经发车返回0,如未发车返回1;
获取班次:
intgetid(){returnid;};
获取额定量:
intgetmax(){returnmax;};
获取已定票数:
intgethave(){returnorder;};
获取终点站:
stringgetend(){returnend;};
Link类中的成员函数
追加信息函数:
voidappend();
函数形参为空,返回值为void
根据用户需求可以在车次信息的结尾调用input()新增加车次信息,并根
据用户选择是否继续执行添加信息;
修改车次信息函数
voidmodify();
函数形参为空,返回值为void
先根据用户提供的车次,然后调用idfind(bus**p,intn)函数在所有车次
信息中查找,如果找到该车次信息,则再次调用input()重新为此节点录入
车次信息;
删除车次信息函数:
voiddel();
函数形参为空,返回值为void
根据用户提供的车次信息,在总信息中删除此车次的信息;
根据车次查询函数:
boolidfind(bus**p,intn);
函数形参为**p和车次n,返回值为bool类型
由用户给出需要查询车次信息和链表首地址,然后进行整张表对车次进行
查找,如果找到用户所提供的车次,输出该车次详细信息,记下当前节点
并且输出需要查询车次的信息,返回true,否则返回false;
根据终点查询函数:
boolendfind(bus**p,stringe);
函数形参为**p和车次n,返回值为bool类型
由用户给出需要查询终点信息和链表首地址,然后进行整张表班车信息中
的终点进行查找,如果找到用户所提供的站点信息,输出该车次的详细信
息,返回true,否则返回false;
查询车票信息函数
voidsearch();
函数形参为空,返回类型为viod
实现用户自己选择按照车次查找或是按照终点查处,并且相应的由用户输
入车次信息或终点信息,再相应的调用idfind(bus**p,intn)和
endfind(bus**p,stringe)再链表中查找信息
显示所有车票信息函数:
voidshow();
函数形参为空,返回类型为void
输出全部的班车详细车次信息,且函数中调用bus类中的judge()函数判断
当前车次是否已经出发,如果出发则输出“该车次已经出发”提示
订票函数:
voidorder();
函数形参为空,返回类型为void
该函数首先读取用户提供的终点信息,并调用endfind函数搜索,列出车
次信息后,再从用户读取需要订购的车次和所需要订购的票数n,调用bus
类中的order订票函数将私有成员已订购的票数order加n
退票函数:
voidreorder();
函数形参为空,返回类型为void
该函数首先从用户读取需要退订车票的车次信息,然后调用idfind函数搜
索车次是否存在,如果存在再调用judge函数判断退订车次是否已经发车,
如果未发车,再比较该车次所剩余票数max-order与所需退订的票数accout
的关系,如果所需退订的票数大于剩余票数,则提示只能退订剩余的票数
数目
文件加载函数:
voidfload();
函数形参为空,返回类型为void
打开文本文档,从中读取车次信息,结束后返回主菜单
写入文件函数:
voidsave();
函数形参为空,返回类型为void
函数将链表中所存储的全部车次信息写到指定的文本文档中
菜单函数:
voidmenu();//菜单
函数形参为空,返回类型为void
voidmenu_1();//一级子菜单
函数形参为空,返回类型为void
3.4.3关系数据库设计
①管理员/旅客表(X_Manager)
表4-1管理员表
字段名
数据类型
长度
是否为空
是否为主键
说明
X_Manager_ID
int
4
否
是
编号
X_Manager_User
varchar
50
否
否
登陆帐号
X_Manager_Pwd
varchar
50
否
否
登陆密码
X_Manager_Name
varchar
50
否
否
姓名
X_Manager_Sex
varchar
50
否
否
性别
X_Manager_Addr
varchar
50
否
否
地址
X_Manager_Tel
varchar
50
否
否
联系方式
X_Manager_Type
varchar
50
否
否
帐号类型
②站名表Station
表4-2站名表
字段名
数据类型
长度
是否为空
是否为主键
说明
Station_ID
int
4
否
是
站名编号
Station_ID
varchar
500
否
否
站名
③车辆表Vehicle
表4-3车辆线路编号表
字段名
数据类型
长度
是否为空
是否为主键
说明
Che_ID
int
4
否
是
编号
Che_Name
varchar
500
否
否
车次
Che_Hard_Z_Total
int
4
否
否
硬座数
Che_Soft_Z_Total
int
4
否
否
软座数
Che_Hard_W_Total
int
4
否
否
硬卧数
Che_Soft_W_Total
int
4
否
否
软卧数
④线路表Line
表4-4线路表
字段名
数据类型
长度
是否为空
是否为主键
说明
Line_ID
int
4
否
是
线路号
Che_ID
int
4
否
是
车次号
Station_ID
int
4
否
否
站名号
Start_Time
varchar
50
否
否
出站
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 车票 管理 系统 设计