背景:昨天元宵佳节同事聚餐,大家聊起今年的网上订票系统,毁誉参半呀。从程序员的角度我们是怎么看这个铁老大斥资几千万的大系统的,这里我就不说了。要写的是如果我是这个系统的架构师(呵呵夸口了,如果也许假设是,然而未必不见得,嘿嘿),我会如何设计这个系统。2月我会利用零星的时间,就这个系统演练下系统设计的能力,作为这个月送给自己的玩具,呵呵,不足之处欢迎大家批评指正踊跃拍砖。
目标:
本系统主要实现对火车车次的查询、车票预订功能。
关注在大用户量集中访问情况下,比如春运订票高峰期,系统承载能力。
当然细节方面也要注意系统的易用性、用户体验,比如在查询两车站间没有直达车时给出中转站,输入车站名简称时有提示,管理员可修改预售期、增减车次信息等。
功能:
- 两站之间的车次查询
- 具体某车次的查询
- 进出某车站所有车次的查询
- 车票预订(车票预定后,所需的座位被声明,其余座位解锁)
- 乘客取票(首先根据身份证号查询订单,然后修改订单状态)
- 用户的注册和登录,修改密码
- 订单管理(订单的查询和撤销等)
- 后台管理员系统(编辑列车、车票、预售期等相关信息)
系统设计:
一、分析阶段
(1)需求分析
- 业务需求:本系统主要的业务需求包括车次查询、车票预订