客。单次售票任务在25秒之内完成,系统的反应时间在3秒之内;保证多台机器同时运行该系统不会有过高延时。
售票时序图如图,
售票控制器数据库模块售票界面 : 售票员1: 输入购票信息2: 购票信息3: 修改4: 返回修改成功5: 提示车票已售出6: 提示
图 售票功能时序图(孙清茂,2011)
输入项目: 车次、站点、日期。
输出项目:车票信息、剩余票数。
算法实现
售票员输入顾客预购车票的相关信息,调用查询模块,到数据库中查询是否有票,若有,则选择需要的票数和车次,并将卖出票数写入数据库,数据库中对应车次剩余票数刷新,储存,售票员选择打印火车票给顾客;
若无则提示售票员车票已售完,回到输入信息界面,重复上边的算法。 售票算法流程图如图, 输入车票信息 无车票 查询 有车票 选择票数与车次 票数写会数据库 更新数据库 点击打印 退票 时序及I/O
退票时序图如图
提示并返回 图 售票算法流程图(孙清茂,2011)
图 退票时序图(孙清茂,2011)
处理用户由于某种情况需要退回车票的情况,旅客要在车站指定的时间内进行退票,按照票款的80%退款。超过指定时间,只能改签,不能退票。系统及时的记录下所退回的车票,更新数据库。 输入项目:车票编号。
输出项目:确认车票界面、警告提示、退票款、数据修改成功。 算法实现
售票员扫描顾客欲退车票的条形码,获得车票编号,售票员点击退票按钮,将车票编号交给退票模块。退票模块到数据库中查询此票是否已售出,若匹配则点击确认退票,退票模块修改数据库,售票员返还退票款;若不匹配则会提示售票员此票未售出。退票算法流程图如图,
查询数据 退票模块操作数据 数据传送给退票模块 扫描车票进退票系统 无记录
有记录(已卖出)
是 否 否
显示退票信息 验证超过时限 查看发车时间 警告车票有错 超时不可退票 是否改签 是
返回退票界面 图 退票算法流程图(孙清茂,2011)
修改数据库 转到改签模块 改签 时序及I/O
计划临时变更需要更改出发日期,或者退票不成功,可以选择改签服务。售票员收回乘客车票,返还票款,收取手续费。若乘客需要日期的票有剩余,则重新卖给乘客一张票;若票已售完,则退出。 输入项目:车次、日期 输出项目:警告提示、新车票 改签时序图如图,