1.引言
1.1编写目的
本阶段主要是对短途汽车自动售票系统做概要设计。主要解决为实现该系统预定功能的总体设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。实际操作时,可参考此方案中对短途汽车自动售票系统所做的模块结构设计的基础上,对系统进行详细设计。在以后的模拟仿真阶段也可参考此方案,以便于了解在宏观了解所要完成的各模块设计结构,或在修改时找出在各模块设计的不足或错误。
1.2项目背景
随着现代科学技术的快速发展,自动售票系统也越来越广泛应用于各种交通和娱乐领域,给人们带来了前所未有的方便。
而目前,南京的火车售票依然是由工作人员进行人工售票服务这种单一模式,在实际生活中存在较多的不足。首先,在过节和学生放假期间,客流量非常的大,然而售票的窗口和地方有限,导致乘客的大量滞留,一方面让旅客花费很大的体力和很多的时间在排队购票上,让旅客产生了厌倦心理;另一方面,工作人员由于长期处于那种嘈杂、紧张的工作环境中,非常容易疲劳,导致售票的效率不高并且容易出错。其次,普通的购票窗口都是通过口头对话实现购票信息交流,一旦处于那种比较嘈杂的环境中或者是方言引起的发音不标准等情形,都会导致售票速度变慢和错误打印票据等误操作,引起不必要的纠纷。第三,购票时很多的时间都是花费在找零和打印车票操作上,打印车票时,由工作人员输入乘客要到达的目的地,工作人员再通过计算机上显示的票价售票,这在很大程度上了售票的速度。第四,这种人工售票服务大多时候是一张一张打印,大大地延长了售票时间。第五、售票服务体系还不够完善,乘客购票时很多人会问到到目的地的客车的类型(豪华的或者一般的等)或者是有还是没有,然而,售票人员也很难有一个明确的答案。
所以火车自动售票系统的开发,是具有很大的应用前景和开发研究意义。
2.总体设计
2.1宏观框架
本项目基于ALTER芯片,设计、编码实现短途汽车自动售票系统的内部操作系统。
乘客(火车站)::乘客乘客乘客1火车运行管理作内234系部统操火车出发数据服务器及程序2.2算法设计的思想
系统能实现的操作和功能如下:
a.查询:根据旅客提出的终点站名输出下列信息:车次、日期、乘员定额、余票额、票价和折扣信息;
b.订票:根据客户提出的要求(车次号、订票数)查询该车次票额情况,若有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。
概要设计
因为每个客户名单或查询名单都包含多个数据域,这样就需要有一个能存储多个数据域的数据类型来存储,因此采用结构类型。......
具体状态实现选择站点,算出票价;
选择票数,算出所需要的钱(票数分1张,两张,三张,四张);投币,每次计算投的钱数;比较需要的钱和投的钱;如果无余额,做出票工作;
如果有余额,做出票工作,转入找零;找零状态;
可以取消,返回选择站点状态。
2.3模块设计
火车票售票系统设计思路框图如下:
框图及客户操作说明:第一层:
ENABLE作为系统开关,决定系统是否工作。
第二层:查询系统
分成两个并列模块:
站点查询模块:
为简单起见,起始站设为“南京站”。客户只需要选择终点站,先选择终点站所在的省或自治区,确认后再选择城市站点。
确定之后,所有合符要求的车次都显示出来,并显示发车时间和到站时间,客户可选择某一选项,有“确定”,“取消”,“返回”,“退出”,四个按键,选“确定”,进入日期选择,有
0~9十个按键,按年月日顺序,输入6个数字,进入下一步选择,所有数据信号由端口输出,到票价模块。
车次查询模块:
有0~9十个按键,显示:“输入车次”,“确定”,“删除”,“返回”按键,客户输入车次后,按“确定”,显示该车次情况,包括:起始站,中途站,终点站,及每个站点的到达时间,客户选择起始站点和目的地站点,有“确定”,“取消”,“返回”,“退出”,四个按键,选“确定”,进入日期选择,有0~9十个按键,按年月日顺序,输入6个数字,进入下一步选择,所有信号由端口输出,到票价模块。
第三层:内部交易系统
分三步顺序进行:
票价模块:
接受上级“确定”信号,作为使能信号,同时接受车次,起点站,终点站,日期信号。然后,显示该车硬|软座,硬|软卧,以及相应的票价,客户可继续选择一项,有“确定”,“取消”,“返回”,“退出”,四个按键,选“确定”,确定后,有“购买”和“返回”和“退出”按键可选择,选“购买”后,信号由端口输出,到交易模块。
交易模块:
接受上级“购买”信号,作为使能信号,同时接受票价信号。
显示“付款”和“取消”按键,按“付款”后,客户放入100,50,20,10,5元纸币或1元硬币,设计计数器,计算已付款额,与票价相比较,当差额=已付款额—票价,>=0时,显示“成功”,并输出差额,发送找零信号,返回差额,同时发送“交易成功”信号到打印车票模块。
出票模块:
接受上级“交易成功”信号,作为使能信号,同时,接受“车次”,“起点站”,“终点站”,“硬|软座,硬|软卧”,“票价”信号,送至打印机
按键说明:
确定:表示确认上一步操作,继续下一步。取消:表示撤销上一步操作,重新上一步。购买:一切选择完毕,按键可进入交易模块。付款:按购买键后,此键有效。
返回:本层操作清空,返回上一层界面。
退出:最高优先级,一旦按键,直接返回到首页,之前操作全部清空。
3.数据结构设计
数据结构设计主要是设计数据在模块中的表示形式。数据在模块中都是以结构的方式表示。
1.客户可输入信息
1.2.3.4.5.
车次目的地出发时间座位号到站时间
StringStringDate/TimeString
Date/Time
用于定票时接收输入,以及领票时服务器返回。2.内部数据传送
比如:
1.信号2.传输数据
SIGNALString
用于数据在模块间的传输。3.错误信息
1.错误类型2.输出语句用于关于错误操作。4.火车票打印信息
INTString
1.车次2.目的地3.出发时间4.座位号5.到达时间
用于打印机票准备工作,数据类型可参照上面所述。
4.出错处理设计
程序在运行时主要会出现两种错误:1、由于输入信息,或无法满足要求时产生的错误,称为软错误。2、由于其他问题,如网络传输超时等,产生的问题,称为硬错误。
对于软错误,须在定票/领票操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中。
对于硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置。返回输入阶段。
出错信息必须给出相应的出错原因,例:“全部火车座位已满!”“查无此车次信息!”等。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务