软件工程程序设计火车售票系统Word格式.docx
- 文档编号:17999177
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:22
- 大小:93.54KB
软件工程程序设计火车售票系统Word格式.docx
《软件工程程序设计火车售票系统Word格式.docx》由会员分享,可在线阅读,更多相关《软件工程程序设计火车售票系统Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
3.1.5火车站方面经济可行性………………………………………………………………………8
3.1.6操作可行性…………………………………………………………………………………………9
3.1.7法律方面可行性…………………………………………………………………………………9
3.1.8可行性分析结论…………………………………………………………………………………9
3.2需求分析…………………………………………………………………………………………………9
3.2.1需求分析目的……………………………………………………………………………………9
3.2.2参与需求分析人员……………………………………………………………………………9
3.2.3系统需求概述……………………………………………………………………………………9
第四章总体设计…………………………………………………………………………………………………9
4.1系统概要…………………………………………………………………………………………………10
4.2系统组成以及结构…………………………………………………………………………………10
第五章数据库设计……………………………………………………………………………………………11
5.1数据库介绍……………………………………………………………………………………………11
5.2建立数据库准备工作……………………………………………………………………………11
5.3数据表设计……………………………………………………………………………………………11
第六章具体实现………………………………………………………………………………………………13
6.1详细设计概述…………………………………………………………………………………………13
6.2面向售票员的详细设计…………………………………………………………………………14
6.2.1查询……………………………………………………………………………………………………14
6.2.1.1时序及I/O…………………………………………………………………………………14
6.2.1.2算法实现……………………………………………………………………………………15
6.2.2售票……………………………………………………………………………………………………16
6.2.2.1时序及I/O……………………………………………………………………………………16
6.2.2.2算法实现…………………………………………………………………………………….17
6.2.3退票……………………………………………………………………………………………………18
6.2.3.1时序及I/O……………………………………………………………………………………18
6.2.3.2算法实现…………………………………………………………………………………….19
6.2.4改签……………………………………………………………………………………………………20
6.2.4.1时序及I/O……………………………………………………………………………………20
6.2.4.2算法实现…………………………………………………………………………………….20
6.3面向管理员的详细设计………………………………………………………………………….21
6.3.1修改车次模块…………………………………………………………………………………….21
6.3.1.1修改时序图……………………………………………………………………………….21
6.3.1.2算法实现……………………………………………………………………………………22
6.3.2统计信息模块……………………………………………………………………………………22
6.3.2.1统计时序图…………………………………………………………………………………22
6.3.2.2算法实现……………………………………………………………………………………23
结论………………………………………………………………………………………………………………………24
参考文献………………………………………………………………………………………………………………24
第1章前言
1.1课题的来源
鉴于人工售票的工作量过于巨大,为了方便旅客以及售票工作人员,提高效率,也为了提高火车这种交通工具的整体效率,产生了面向此课题的研究。
1.2现实意义
如摘要所说,火车是目前客流量最大的运输工具,未来很长一段时间中也会延续这种现状。
关键的在于售卖火车票,曾经的人工售票在现在看来,已是跟不上现代人的生活节奏。
人工售票,还有成本大,出错率高等缺点。
而软件相对于人工来说,因为它是借助物理方式,会有更高处理速度,出错率也将很低,当然,其成本也会大大降低。
在未来,对火车的要求也会在于提高售票效率,可以想象,将来的火车售票终会渐渐进入自动化:
自动化售票,快捷方便的查询、退票,智能化的订票。
不久的将来,在曾经看来是复杂繁琐的工作,会变得简单快速人性化。
再远大一点的目标,通过提高售票效率,也可以提高火车运输甚至整个运输业的运行效率。
1.3研究内容及成果
系统实现了查询,售票,退票,票务管理,统计。
本系统各个功能模块示意图如1.1.
技术都是慢慢进步的,本系统也就不可能完全达到需求标准,只能说基本实现了要求,一定程度上也提高了售票效率。
希望后来者能再接再厉,一起完善,努力实现完全自动化。
售票
售票
改签
退票
订票
车次
查询
系统
时间
地点
管理
运价修改
车次修改
站点修改
统计
车票
表单
图1.1系统详细功能模块(孙清茂,2011)
第2章软件开发环境
2.1软件开发环境及性能要求
2.1.1软件开发环境
开发工具:
VisualC++6.0
使用的数据库:
Access2000
系统开发语言:
C++
开发环境:
WinXPSP3
2.1.2软件运行性能需求
本系统对电脑配置要求不高,一般中低端配置就行,由于开发环境只是WinXPSP3,其他操作系统运行此系统的稳定性还未知。
一般配置的电脑,运行此系统的响应时间都在2s左右,能满足系统操作者要求。
开发系统配置如图2.1
图2.1开发本系统电脑配置(孙清茂,2011)
第3章方案论证
3.1可行性分析
3.1.1要求以及目标
3.1.1.1要求
要求系统能够查询票务信息,售票(确定后能够打印车票),退票办理改签,管理员进行票务查询以及修改票务信息,统计已售票务信息并打印销售情况。
具体功能如图1.1。
性能上,要求查询数据库时,系统能够迅速响应,并显示出来供操作者选择。
关于操作权限,售票员应该只有售票和查询票务信息的权限,管理员应该给予特殊权限,使之能对票务信息查询、修改。
3.1.1.2目标
此系统的目标在于为售票员提供快速查询票务信息,并打印车票,或者进行退票改签等服务,方便售票员同时也方便旅客,给旅客带去准确快速的服务。
最终达到提高整体效率的水平。
另外,还可以减少人力资源,使一个窗口就可以进行查询、售票、退票、改签等旅客需要的基本功能。
与此同时,系统还向管理员提供了查询票务信息并可以修改票价、时间和车次站点等票务信息,统计售出票务情况并打印的功能。
3.1.2开发系统已满足条件
开发需要的环境:
个人笔记本下进行,已安装VisualC++6.0,Access2003数据库软件和其他开发需要用到的软件;
开发时间限制:
时间自由,无限制;
开发经费:
需要的资源完全自有,因此不需要经费;
开发人员:
孙清茂;
预计开发时间:
一个月;
预计系统使用寿命:
5年
有关法律法规:
开发完全靠自己,未抄袭任何已有软件,系统也没有违反相关法律法规规定,属于正规软件系统。
3.1.3可行性研究相关办法
系统的可行性研究主要建立在问卷调查结果上,期间进行了网络问卷调查,实地问卷调查。
调查结果表明,本系统有其开发的必要性。
同时,本系统需要资源较少,人力能及,时间无限制。
所以该系统是可行的。
3.1.4技术方面的可行性
虽然还是学生,但是经过两年半的学习,已经基本掌握面向对象程序设计,C++语言,图形学,软件工程导论,虽然数据库还没有系统学习,但是自学一些还是没有问题的,特别是可以用比较简单的Access2003据库,所以开发本系统的技术能力基本足够,同时还有指导老师的技术支持。
由上可知,开发本系统的技术方面是可行的。
3.1.5火车站方面经济可行性
由于本系统是为了提高火车站售票效率,将会为他们带去成本降低的好处,系统开发完成火车站即可安装使用,同时系统开发完全有开发者自付,火车站只会得到利益,完全没有风险。
于是在经济上也是可行的。
3.1.6操作可行性
界面设计时将尽量使系统界面简单易操作,充分考虑使用人员的习惯,使得操作简单,数据录入简单、迅速、规范、可靠;
统计、计算准确;
制表灵活;
适应力强。
由此可见,操作方面的可行性也能满足。
3.1.7法律方面可行性
此方面已在满足条件中指明,此处不赘述。
3.1.8可行性分析结论
由上综述,可见开发此系统确实有可行性。
3.2需求分析
此系统需要满足两方面的需求,一是售票员,一是管理员。
3.2.1需求分析目的
需求分析的目的在于详细、准确并全面的定义本售票系统的功能,以及用户需求,用以指导系统顺利地进行开发。
3.2.2参与需求分析人员
由于系统是面向售票员、管理员和旅客(旅客对系统要求不是很高,可以忽略),所以需求分析需要包括售票员、管理员以及一些旅客的建议,还应有同行的一些建设性意见。
3.2.3系统需求概述
所开发的火车站售票系统能够完成火车票的查询、出售等一系列工作,方便火车票的出售、管理以及简化工作的过程,同时也节约人力、物力和财力,更加完善火车票的出售。
系统提供给售票人员和管理人员使用,售票人员可以完成查询车票、售票、退票、改签等工作,管理员可以对整个系统进行管理(包括使用人员管理、数据库维护)。
第4章总体设计
4.1系统概要
火车站售票系统是根据需求分析开发的原型系统,目的是为了火车站工作人员顺利快速完成每次售票工作,以致火车运行畅通。
该系统在开发各个阶段,都突出现代软件设计的新思想、新技术的研究与应用及其有效性和实用性的证实。
系统使用的用户主要有:
火车站售票员、系统管理员。
都是在客服端界面上进行操作,并不需要了解服务器具体情况。
只要用户的计算机上安装本单机版软件便可方便的使用本系统。
4.2系统组成以及结构
系统的软件系统总体分为五部分:
登录、售票、退票、改签、用户管理。
:
登录模块:
验证用户合法性,登录后设定用户权限;
售票模块:
提供查询和售票操作;
退票模块:
提供查询、核对信息和退票操作;
改签模块:
提供查询、核对信息和改签操作;
用户管理:
提供用户信息的查询、修改、添加、删除等操作;
总体数据流图如图4.1
反馈给购票者
图4.1总体数据流图(孙清茂.2011)
总体结构图如图4.2
客服端(售票员2)
客服端(管理员1)
客服端(售票员1)
服务器
数据库
图4.2总体结构图(孙清茂.2011)
第5章数据库设计
5.1数据库介绍
系统基于VisualC++6.0平台开发,使用了简单操作的MicrosoftAccess2003数据库。
MicrosoftAccess2003您容易得到所需信息,并提供强大工具,可以帮助您组织和共享您的数据库,以便您和您的工作组能作出更好的决策。
5.2建立数据库准备工作
列出需要建立数据表的对象:
车票,管理员,售票员,以及每个数据表中的内容。
5.3数据表设计
下面具体创建每一个表:
车票信息表train:
车次TrainNo字符串(10),
起始站Start字符串(10),
终点站Terminal字符串(10),
发车时间Timing字符串(10),
里程Distance整型数,
日期Date字符串(10),
票种TicketType字符串(10),
票价Price整型数(10),
剩余票数Remain整型数(10),
车票数据表如图5.1
图5.1车票数据表(孙清茂.2011)
管理员信息表users
编号UserID整型数(10),
姓名UserName字符串(10),
密码UserPsw字符串(10),
用户类型UserType字符串(5),
管理员数据表如图5.2
图5.2管理员数据表(孙清茂.2011)
技术原因,当前只设计两张数据表。
第6章具体实现
6.1详细设计概述
成功登陆系统
(1)查询——售票员可做如下操作:
Step1:
输入所要查询车票信息;
Step2:
查看所查询结果显示信息;
Step3:
回复客户。
(2)售票——售票人员可做如下操作:
按客户要求查询所需车票;
查看车票信息,并回复客户;
确认是否出售此票,是则打印车票,收取现金;
Step4:
完成售票操作下一个旅客;
(3)退票——售票人员可做如下操作:
核对所退车票信息是否符合退票;
系统计算判断,确认找还余额;
回收车票,找还现金,完成退票操作;
(4)改签——售票人员可做如下操作:
查询客户所提供车票信息;
退票改签,系统判断;
确认改签,找补现金;
完成改签操作;
(5)管理:
系统管理人员可使用人员信息管理操作;
(6)系统功能模块如下表6.1;
表6-1系统功能模块
功能模块
功能使用者
查询车票
售票人员
售票
用户管理
管理人员
系统管理
数据库管理
6.2面向售票员的详细设计
6.2.1查询
6.2.1.1时序及I/O
查询可分为按车次查询与站点查询,用户通过输入待查询车次或者站点查询车票的相关信息,包括票价,时刻,剩余票数等信息。
若用户输入的车次或者站点错误,系统会提示输入错误。
能够对乘客要求的大部分查询类型都能够查询,每个查询功能键都一目了然,能快速精确的显示要查询的信息。
要求单次的查询系统的处理时间在2秒以内。
查询功能时序图如图6.1,
图6.1查询功能时序图(孙清茂.2011)
输入项目:
车次号或者站名。
输出项目:
车次号、站点、发车时间、到站时间、剩余票数、车票价格、旅程历时。
6.2.1.2算法实现
算法
该模块通过访问数据库查询车票信息,提取用户输入的车次或者站名,封装成SELECT语句,到数据库中查询车票信息,将信息返回到用户界面。
若用户输入错误,弹出错误提示框。
算法流程图如图6.2,
用户输入数据
提示输入错误
返回查询界面
验证输入
格式错误
格式正确
调用函数
到数据库中查询
无车票
有车票
输出“车票售完”
输出到界面
结束查询
图6.2查询算法流程图(孙清茂,2011)
6.2.2售票
6.2.2.1时序及I/O
根据旅客的需求如发车日期、发车时间、车票类型(学生票、军人票…)等,售票员查询相关的车票信息,选择用户所需要的车次,然后结算并打印车票给旅客。
单次售票任务在25秒之内完成,系统的反应时间在3秒之内;
保证多台机器同时运行该系统不会有过高延时。
售票时序图如图6.3,
图6.3售票功能时序图(孙清茂,2011)
输入项目:
车次、站点、日期。
输出项目:
车票信息、剩余票数。
6.2.2.2算法实现
售票员输入顾客预购车票的相关信息,调用查询模块,到数据库中查询是否有票,若有,则选择需要的票数和车次,并将卖出票数写入数据库,数据库中对应车次剩余票数刷新,储存,售票员选择打印火车票给顾客;
若无则提示售票员车票已售完,回到输入信息界面,重复上边的算法。
售票算法流程图如图6.4,
输入车票信息
查询
提示并返回
选择票数与车次
票数写会数据库
更新数据库
点击打印
图6.4售票算法流程图(孙清茂,2011)
6.2.3退票
6.2.3.1时序及I/O
退票时序图如图6.5
图6.5退票时序图(孙清茂,2011)
处理用户由于某种情况需要退回车票的情况,旅客要在车站指定的时间内进行退票,按照票款的80%退款。
超过指定时间,只能改签,不能退票。
系统及时的记录下所退回的车票,更新数据库。
车票编号。
确认车票界面、警告提示、退票款、数据修改成功。
6.2.3.2算法实现
售票员扫描顾客欲退车票的条形码,获得车票编号,售票员点击退票按钮,将车票编号交给退票模块。
退票模块到数据库中查询此票是否已售出,若匹配则点击确认退票,退票模块修改数据库,售票员返还退票款;
若不匹配则会提示售票员此票未售出。
退票算法流程图如图6.6,
扫描车票进退票系统
数据传送给退票模块
退票模块操作数据
查询数据
警告车票有错
无记录
有记录(已卖出)
查看发车时间
验证超过时限
超时不可退票
是
是否改签
否
显示退票信息
修改数据库
转到改签模块
返回退票界面
图6.6退票算法流程图(孙清茂,2011)
6.2.4改签
6.2.4.1时序及I/O
计划临时变更需要更改出发日期,或者退票不成功,可以选择改签服务。
售票员收回乘客车票,返还票款,收取手续费。
若乘客需要日期的票有剩余,则重新卖给乘客一张票;
若票已售完,则退出。
车次、日期
警告提示、新车票
改签时序图如图6.7,
图6.7改签时序图(孙清茂,2011)
6.2.4.2算法实现
售票员扫描车票条形码,输入到改签界面,改签模块进入数据库中确认该车票确实售出。
若确实售出,则返还退票款,并根据乘客需求另售一张指定日期车票;
若没有售出,警告提示售票员车票有误。
改签算法流程图如图6.8,
扫描车票信息进改签页面
据传送给改签模块
查询数据库
该票售出否
警报提示车票有误
显示退票信息
输入旅客欲改签车次日期
查询有票否
返回改签界面
有
转到售票模块
图6.8改签算法流程图(孙清茂,2011)
6.3面向管理员的详细设计
6.3.1修改车次模块
6.3.1.1修改时序图
系统管
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 程序设计 火车 售票 系统