火车售票系统概要设计.docx
- 文档编号:18415882
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:24
- 大小:404.62KB
火车售票系统概要设计.docx
《火车售票系统概要设计.docx》由会员分享,可在线阅读,更多相关《火车售票系统概要设计.docx(24页珍藏版)》请在冰点文库上搜索。
火车售票系统概要设计
火车售票系统
概
要
设
计
说
明
书
作者:
***
2013年11月
1.引言
1.1编写目的
本火车售票系统的根本目的在于通过计算机实现票务信息的统一管理,来提高工作效率,使售票员售票和乘客购票更加方便。
实现计算机管理的最佳技术就是数据库技术。
我们可以利用数据库将整个火车站的票务情况存入计算机,再配置上功能丰富的用户接口,以满足用户需求。
一个火车站售票信息管理系统应达到的目标是提供及时、准确的信息服务,加快信息检索的效率,实况灵活的查询,减轻管理人员制作报表和统计分析的负担,且系统规模不太大但又要保证支持日常工作的要求,以便系统应易于扩充,方便日后统一联网与管理,提高管理水平。
火车票售票管理是一件比较复杂但又非常重要的事情,它是涉及国家铁路运输的正常工作、国民经济的发展和人民生活水平质量的大事情。
火车站售票涉及到许多内容,有乘客购票、咨询、改签或退票、电话订票、售票信息管理等。
因此,本系统设计就是专门解决这些问题的。
但是,本系统仅仅就火车售票系统部分常用功能以及部分维护功能进行实现。
1.2范围
软件系统名称:
火车售票系统
这些功能都是为了实现售票功能而做准备的功能。
该系统的中心功能是列车和售票信息的查询功能和售票功能。
虽然这是两个截然不同的功能,但他们在实现上十分的类似,售票就需要首先先通过查询的方式得到满足要求的车票,然后再进行售票。
所以售票功能可以看成是列车和售票信息查询功能的延伸。
除了中心功能外,该系统还需要一些支持中心功能的辅助功能。
如关于增减列车,增减有了这些功能,整个系统才能够更加完善,而且在系统需要修改的时候,才能更加的方便
支出:
该系统是软件工程老师作为作业要求一部分,无经费支出。
收益:
系统完成后即可交付使用,主要是为了方便火车站售票人员使用,有着重大的利益。
1.3定义
1.3.1专门术语
SQLSERVER:
系统服务器所使用的数据库管理系统(DBMS)。
SQL:
一种用于访问查询数据库的语言。
事物流:
数据进入模块后可能有多种路径进行处理。
主键:
数据库表中的关键域。
值互不相同。
外部主键:
数据库表中与其他表主键关联的域。
ROLLBACK:
数据库的错误回复机制。
1.3.2编写
系统:
若未特别指出,系统指火车售票系统。
SQL:
StructuredQueryLanguage(结构化查询语言)。
1.4参考资料
1、《软件工程导论》清华大学出版社张海藩著2008年2月
2、《软件项目管理案例教程》机械工业出版社韩万江、姜立新著2004年1月
2.项目概述
2.1产品描述
火车售票系统是一个融合火车票的销售、退票、列车管理、车票管理、售票员管理、列车信息及售票信息查询为一身的综合系统。
2.2产品功能
本系统主要用于火车票的销售,提供了以下几个子功能:
用户登录和注册、火车票预订、火车票信息查询、订票查询、售票、取票方式、退票以及后台方面的火车班次信发布、取消火车班次、订票生成、取票号生成等后台功能。
火车售票系统将由四部分组成:
网上订票客户程序,售票员系统,系统管理员系统以及置于服务器的数据库服务器。
本系统与其他系统的关系如下:
2.3用户特点
该系统的用户有四类,他们分别是一般用户(旅客)、车站售票员、网点售票员,管理员,计算机水平有好有差。
2.4一般约束
用户订单提交后需在开车前的12小时之前进行确认信息,并且做出相应的决定,如:
退票、换票等。
如果用户的订单是11天之内的,用户应在开车11天内到本网站进行查询。
售票员在开车前一小时不准售票,在开车前6小时不准退票。
改签的天数的范围为1天。
3.具体需求
3.1功能需求
火车售票系统将由四部分组成:
网上订票客户程序,售票员系统,系统管理员系统以及置于服务器的数据库服务器
顶层数据流程图
第一层数据流程图
第二层数据流程图
3.2行为需求
系统状态转移图
3.3数据需求
系统E-R图如下:
3.4外部接口
3.4.1软件接口
服务器程序可使用.NET提供的与数据库连接的接口,进行数据库的访问。
服务器程序上可使用NavicateforSQL对数据库的备份命令,以做到对数据库的保存。
在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口式对数据进行网络传输及接收。
3.4.2硬件接口
在输入方面,对于键盘、鼠标的输入,使用标准输入/输出,对输入进行处理。
在输出方面,打印机的连接及使用,也可标准输入/输出对其进行处理。
在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速ATM。
3.5内部接口
内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。
具体参数的结构将在数据结构设计的内容中说明。
接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间的传递。
3.6性能需求
(1)对服务器的要求,至少能够满足当地售票人员同时访问。
(2)对客户端,在现使用的电脑中安装即可使用。
要求不高。
(3)使用本系统功能时,电脑配置一般情况下,响应速度2s左右,
3.7设计约束
开发工具:
VisualC++6.0平台
数据库:
sqlsever2010
开发语言:
C++和SQL语言
开发方式:
团队开发。
4总体设计
4.1运行环境
支持windowsxp、win7等操作系统,只要用户的计算机上安装本单机版软件便可方便的使用本系统。
4.2基本设计概念和处理流程
4.1.1基本设计概念
本系统采用客服端/服务器模式(C/S),系统使用的用户主要有:
火车站售票员、系统管理员。
都是在客服端界面上进行操作,并不需要了解服务器具体情况。
4.1.2客户端的程序流程
客户端的输入信息为用户的基本信息、订单的基本信息、车票的销售信息,输出的信息为打印订单、打印车票和确认或出错信息。
其内部处理流程如下:
下面对各模块(以数字表示)进行功能说明:
1读入并确定(订票/取票),若输入是订票时转入2,输出则转入5。
2读入用户资料,读取所输入的用户资料,并将其格式化,将格式化数据送3。
3检验输入资料,检验格式化输入资料,初步检查输入是否有误,它是一个事务处理中心,有误转2再次读入,检查无误则将数据送4。
4准备服务器数据,由格式化用户资料准备需发送到服务器的数据,将准备好的数据送7。
5读入订单,读取所输入的订单号,并将其格式化,将格式化数据送6。
6准备服务器数据,由格式化订单号准备需发送到服务器的数据,不同于4,它将准备的是订单号,将准备好的数据送7。
0读入车票销售信息,即在火车站购票或退票的信息,将准备好的数据送7。
7准备网络数据包,将数据准备/加密成网络传输数据包。
8网络数据发送,将数据包经网络发送到服务器程序,它是程序与网络的接口。
9网络数据接受,接受由服务器程序经网络传送到客户端的数据包,它是程序与网络的接口。
10解开/判断,解开9所接受的数据包,并判断数据是订票数据、购票数据、退票数据或是取票数据,它是事务处理中心,是订票、购票、退票则将数据送11,是取票则将数据送18。
11订票、购票或退票成功与否,由数据判断订票、购票或退票是否成功,它是事务处理中心,若操作成功则将数据送12,不成功则将数据送15。
12准备输出数据,由接收的服务器数据准备输出数据,其中关于订单的数据将送13,其他车票销售信息和用户相关资料送14。
13打印订单,由订单信息处理订单格式并打印出订单。
14输出定位确定,在屏幕上显示确定定位及其他信息。
15判断错误,由数据判断出错误类型,将类型送到16。
16准备错误语句,由具体错误类型准备错误语句,送17。
17输出错误语句,在屏幕上显示对应错误语句。
18取票核对成功与否,由数据判断取票核对是否成功,若成功则将数据送19,否则送15。
19准备火车票输出数据,由接收的服务器数据准备将打印的火车票数据数,据其中关于订单的火车票的数据送入20,其他包括用户相关资料等送14。
20打印火车票,由订单信息及列车信息处理订单格式并打印出火车票。
4.1.3服务器程序流程
下面对各模块(以数字表示)进行功能说明:
1网络数据接收,接收由客户端程序经网络传送到服务器的数据包,它是程序与网络的接口。
2解开数据,解开加密打包的数据,并将回复的数据格式化送入3。
3判断操作,由数据判断需要做什么数据操作,是事务处理中心,若为订票、购票、退票操作则将数据送4,若为取票操作则将数据送10。
4准备数据库查询语句,由订票、购票、退票数据准备访问SQLSERVER数据库所需的SQL语句,送入5。
5数据库操作,运行SQL语句,查询并存入数据库,获得相应的订票、购票数据,将数据送入6。
它需要包括初步对查询的判断。
它必须为乘客安排可抵达目的地的有座位的班次。
6判断查询是否成功,利用查询所得的数据判断订票、购票、退票是否成功,是事务处理中心,若操作成功则将数据送7,不成功则将数据送8。
7准备回送数据,准备订票、购票成功后需回送客户端程序的数据,送6。
8确定原因,由查询数据判断订票、购票、退票不成功的原因,送9。
9准备回送数据,根据不成功的原因,准备需回送客户端程序的数据,送16。
10准备数据库查询语句,由领票数据、购票数据和退票数据准备访问SQLSERVER数据库所需的SQL语句,送11。
11数据库操作,运行SQL语句,查询并存入数据库,获得相应的取票数据,将数据送入12,它需要包括初步对查询的判断。
12判断查询是否成功,利用查询所得的数据判断取票、购票和退票是否成功,是事务处理中心,若取票操作成功则将数据送13,不成功则将数据送14。
13准备回送数据,准备取票确认后需回送客户端程序数据,送16。
14确定原因,由查询数据判断取票、购票、退票不能确认的原因,送15。
15准备回送数据,根据不成功的原因,准备需回送客户端程序的数据,送16。
16准备网络数据包,将数据准备/加密成网络传输包。
17网络数据传送,将数据包经网络发送到服务器程序,它是程序与网络的接口。
以上显示的各模块由于事务流处理上的便利,将有些功能模块拆分到各事务流中。
4.3功能需求与程序的关系
本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:
网上订票客户程序,售票员系统,系统管理员系统以及置于服务器的数据库服务器:
列表
网上订票客户程序
售票员系统程序
系统管理员程序
服务器数据库程序
用户登录注册功能
√
√
订票功能
√
√
退票功能
√
√
查询功能
√
√
统计功能
√
√
5详细设计
5.1系统数据结构设计
5.1.1逻辑结构设计要点
DBMS的使用上系统将采用SQL,系统主要需要维护7张表:
表1管理员信息
字段名称
字段类型
主键
外键
是否为空
默认值
管理员ID
Varchar(10)
是
否
否
001
管理员姓名
Varchar(50)
否
否
否
Admin
管理员密码
Varchar(16)
否
否
否
无
表2员工
字段名称
字段类型
主键
外键
是否为空
默认值
员工ID
Varchar(10)
是
否
否
100
员工姓名
Varchar(50)
否
否
否
无
员工密码
Varchar(16)
否
否
否
无
证件号码
Varchar(20)
否
否
否
无
联系地址
Varchar(50)
否
否
否
无
联系电话
Varchar(20)
否
否
否
无
表3用户信息
字段名称
字段类型
主键
外键
是否为空
默认值
用户ID
Varchar(10)
是
否
否
10000
用户密码
Varchar(16)
否
否
否
无
证件号码
Varchar(20)
否
否
否
无
真实姓名
Varchar(50)
否
否
否
无
联系地址
Varchar(100)
否
否
否
无
邮政编码
Varchar(10)
否
否
否
无
联系电话
Varchar(20)
否
否
否
无
表4订单信息
字段名称
字段类型
主键
外键
是否为空
默认值
订单号
Varchar(10)
是
否
否
10000
乘车日期
Datetime
否
否
是
无
车次
Varchar(10)
否
是
是
无
始发站
Varchar(10)
否
否
是
无
终点站
Varchar(10)
否
否
是
无
席别
Varchar(10)
否
否
是
无
票种
Varchar(10)
否
否
是
无
张数
Varchar(5)
否
否
是
1
备注
Varchar(100)
否
否
是
无
表5列车信息表
字段名称
字段类型
主键
外键
是否为空
默认信息
始发站
Varchar(10)
否
否
是
无
车次
Varchar(10)
是
否
否
无
终点站
Varchar(10)
否
否
是
无
发车时间
Datetime
否
否
是
无
停靠站
Varchar(10)
否
否
是
无
到站时间
Datetime
否
否
是
无
票种
Varchar(10)
否
否
是
无
表6火车票表
字段名称
字段类型
主键
外键
是否为空
默认信息
票种
Varchar(10)
是
否
否
无
车次
Varchar(10)
否
是
否
无
张数
Varchar(10)
否
否
是
1
表7送票者信息表
字段名称
字段类型
主键
外键
是否为空
默认信息
送票者ID
Varchar(10)
是
否
否
无
送票者姓名
Varchar(50)
否
否
否
无
5.1.2物理结构设计要点
5.1.3数据结构与程序的关系
1、用户登录时,后台服务器查找数据库,匹配相应的用户名和密码,若未找到,则返回错误信息。
2、登录订票系统,用到员工表,通过每一个售票员来操作每一个终端,通过对用户需求(即:
用户买票的要求填写订单信息表,包括火车票表)。
3、若要查询统计功能则需要以管理员身份登录,用到管理员信息表,管理员可以修改列车时刻表。
5.2模块设计说明
本软件分为五个主要模块:
用户登录/注册模块,订票模块,退订模块,查询模块,统计模块。
5.2.1模块描述
用户登录/注册模块:
新增加的用户能注册,注册过的用户能登录
订票模块:
根据用户需求确定订票信息。
退订模块:
根据用户要求和退订的信息修改
查询模块:
售票员查询具体要求的车次和余票信息
统计模块:
管理员能够统计出具体所有情况下的各种数据信息
5.2.2功能
[说明该基本模块应具有的功能。
]
用户登录/注册模块:
用户能注册到ID和密码成为新用户,旧用户通过所拥有的ID和密码登录进入系统,进入个人主页。
订票模块:
通过用户要求的车次,日期,票的数量以及价格等确定是否还有余票。
否则返回错误信息。
退订模块:
根据票面的车次标号,类型,日期判定能否退退订金额。
查询模块:
通过具体的要求,如:
某天,某车次,某时间段,价格区间来统计查询出余票信息。
统计模块:
管理员能够统计出某天,某车次,某个用户的所订购的票的信息。
5.2.4输入项
用户登录/注册模块:
新增加的用户能注册,注册过的用户能登录
维护用户信息表:
字段名称
用户ID
用户密码
证件号码
真实姓名
联系地址
例如:
张三
123456
1234567890123
张无忌
天堂
李四
654321
9999999999999
李寻欢
地狱
订票模块:
根据用户需求确定订票信息。
维护订单信息表:
订单号
用户
日期
类型
数量
车次
例如:
001
张三
20110525
软卧
1
T9
退订模块:
根据用户要求和退订的信息修改
维护同样的列车信息表:
退订号
用户
日期
类型
数量
车次
例如:
002
张三
20110523
硬座
1
K234
查询模块:
售票员查询具体要求的车次和余票信息
维护查询表:
售票员号
具体用户名
日期
数量
车次
备注
例如:
001
张三
20110525
3
K99
此车次已停开
统计模块:
管理员能够统计出具体所有情况下的各种数据信息。
根据具体的要求能查询出所要求的数据:
比如:
日期在20100909到20101010之间的T9车次的运行次数和所载人数的多少。
5.2.5输出项
用户登录/注册模块:
登录成功/没有此用户/用户密码错误/注册成功。
订票模块:
订票成功或者失败。
退订模块:
退订成功/退订日期超出所要求的时间。
查询模块:
统计模块:
都能输出具体的余票信息。
5.2.6设计方法(算法)
用户登录/注册模块的程序流程图
订票模块程序流程图
退订模块程序流程图
Y
5.3运行设计
5.3.1运行模块组合
用户端程序在有输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化。
在接收数据模块得到充分数据时,将调用网络传输模块,将数据通过网络送到服务器,并等待接受服务器返回的信息。
接收到返回信息后随时即调用数据输出模块,对信息进行处理,产生相应的输出。
服务器程序的接收网络数据模块必须始终处于活动状态。
接收到数据后,调用数据处理/查询模块对数据库进行访问,完成后调用网络发送模块,将信息返回用户端。
5.3.2运行控制
运行控制将严格按照各模块间函数调用关系来实现。
在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径。
在网络传输方面,用户端在发送数据后,将等待服务器的确认收到信号,收到后,再次等待服务器发送回答数据,然后对数据进行确认。
服务器在接到数据后发送确认信号,在对数据处理、访问数据库后,将返回信息回送用户端,并等待确认。
5.3.3运行时间
在需求分析中,对时间的要求必须对作出的操作有较快的反应。
网络硬件对运行时间有最大的影响,当网络负载量大时,对操作反应将受到很大的影响。
所以将采用高速ATM(异步传输模式)网络,实现用户端与服务器之间的连接,以减少网络传输上的开销。
其次是服务器的性能,这将影响对数据库访问时间即操作时间的长短,影响加大客户机操作的等待时间,所以必须使用高性能的服务器。
软件对本系统的速度影响将会大于硬件的影响。
5.4系统出错处理设计
5.4.1出错信息
程序在运行时主要会出现两种错误:
(1)由于输入信息,或无法满足要求时产生的错误,称为软错误。
(2)由于其他问题,如网络传输超时等,产生的问题,称为硬错误。
对于软错误,须在订票、购票、退票和取票操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中。
对于硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置。
返回输入阶段。
出错信息必须给出相应的出错原因,例:
“该列火车已满!
”,“查无此信息!
”等等。
5.4.2补救措施
所有的用户端及服务器都必须安装不间断电源以防止停电或电压不稳定造成的数据丢失的损失。
若真断电时,用户端将不会有太大的影响,主要是服务器上:
在断电后恢复过程可采用SQLSERVER的日志文件,对其进行ROLLBACK处理,对数据进行恢复。
在网络传输方面,可考虑建立一条成本较低的后备网络,以保证当主网络断路时数据的通信。
在硬件方面要选择叫可靠、稳定的服务器机种,保证系统运行的可靠性。
5.5系统维护设计
由于时间紧,此程序系统维护模块暂时还未设计,以后会添加进来的。
维护方面主要为对服务器上的数据库数据进行维护。
可使用SQLSERVER的数据库维护功能机制。
例如,定期对数据库进行Backup,维护管理数据库死锁问题和维护数据库内数据的一致性问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 火车 售票 系统 概要 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)