资源描述
信息工程学院
《软件工程》作业
(火车票售票系统)
具体设计
专 业:计算机科学与技术网络方向
班 级: 102本
学 号:27
姓 名: 王旭平
王通、王希宝、谢斌、武亚玲、邢伟刚
指导老师: 张志斌
火车票售票系统
1. 引言
随着计算机技术的发展,用计算机为人们的生活服务已经变得普及化。铁路公司为了增强公司的信息化限度,提高公司的售票管理的效率,就建立起了相应的火车票订系统,实现提高了火车客用系统的售票效率和管理水平。
火车票订票系统是典型的信息管理系统的一部份,火车票订票系统的开发充足运用了计算机信息技术提高了火车票订票的管理水平、服务水平。系统实现了乘客查询信息、订票操作、取票操作、销售记录等功能,可明显提高对火车票订票的有效管理。
1.1编写目的
本火车站售票系统的主线目的在于通过计算机实现票务信息的统一管理,来提高工作效率,使售票员售票和乘客购票更加方便。实现计算机管理的最佳技术就是数据库技术。我们可以运用数据库将整个火车站的票务情况存入计算机,再配置上功能丰富的用户接口,以满足用户需求。一个火车站售票信息管理系统应达成的目的是提供及时、准确的信息服务,加快信息检索的效率,实况灵活的查询,减轻管理人员制作报表和记录分析的承担,且系统规模不太大但又要保证支持平常工作的规定,以便系统应易于扩充,方便日后统一联网与管理,提高管理水平。
1.2范围
软件系统名称:火车票预订系统
该系统的中心功能是列车车次和售票信息的查询功能和售票功能。虽然这两个看似截然不同的功能,但它们在实现上十分的类似,售票就需要一方面先通过查询的方式得到满足规定的列车车次,然后再根据实际情况进行售票。所以售票功能可以当作是列车车次和售票信息查询功能的延伸。
支出:该系统是软件工程作业,故无经费支出。
收益:系统完毕后即可交付使用,重要是为了方便火车站售票人员使用,有着重大的利益。
1.3背景
火车票的管理和规范问题,是困扰我们数年的一个老问题,也是政府管理中的一个难点,订票是客运业务中的一个最基本的业务,表面上看,它只是长途客运业务的一个简朴的部分,但是它涉及到管理与客户服务等多方面,因此,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观规定,这就规定一种全新的订票方式——网上订票,来缓解订票高峰时期的客运压力,并为用户提供方便快捷的订票服务。
1.4 专门术语
SQL SERVER:系统服务器所使用的数据库管理系统(DBMS)。
SQL:全称Structured Query Language(结构化查询语言)。一种用于访问查询数 据库的语言。
ROLLBACK:数据库的错误回复机制。
事物流:数据进入模块后也许有多种途径进行解决。
主键:数据库表中的关键域。值互不相同。
外部主键:数据库表中与其他表主键关联的域。
系统:若未特别指出,系统指火车站售票系统。
1.5 基本配置规定
1.5.1硬件配置规定
Pc机若干台,配置一般主流配置,用于满足售票服务;
数据库服务器,数据库服务器用于存放用户及航班信息等资料,配一台专用服务器,安装数据库管理软件,如SQL server2023;
所用的硬件要有较高的性能价格比,这方便了对系统信息的管理,节省了很多不必要的设备,减少了项目投资。
1.5.2系统配置规定
系统支持操作系统如下:
Windows xp、windows 7、Windows service 2023(推荐)等各类系统。服务器系统要运营稳定可靠,可以保证365天*24小时的不间断运营,并安装杀毒软件,防止病毒的干扰,保证系统的运营稳定。
SQL Server数据库服务器版, 可以存储管理大量数据信息。
1.6参考资料
软件设计文档国家标准——具体设计说明书
车票预订系统项目开发计划书
车票预订系统需求分析说明书
《软件工程案例教程》 机械工业出版社 韩万江著 2023年8月第一版
2.项目概述
2.1 产品描述
火车票售票系统是一个融合火车票的订票、卖票、退票、车票管理、售票点管理、列车车次信息查询及售票信息查询等为融为一身的综合系统。
2.2 产品功能
本系统重要用于火车票的销售,提供了以下几个子功能:用户注册登录和火车票信息查询、订票查询、火车票预订、退票申请以及后台方面的列车车次信息发布更新、车票生成、提供取票服务成等后台功能。
根据可行性研究的结果和客户的规定,分析现有情况及问题,采用Client/Server结构,将火车票售票系统划分为两个子系统:客户端子系统,服务器端子系统。故火车票售票系统将由四部分组成:网上订票客户端系统,售票员服务系统,系统管理员系统、数据库服务器管理系统。本系统的各个系统的关系如下:
网 络
服务器
服务器管理系统
客户端系统
售票服务系统
本系统的各个系统的关系图
2.3 用户特点
该系统的用户有四类,他们分别是一般用户旅客(以旅游出差人士为主)、车站售票员、代售点售票员,系统管理员。他们的计算机使用水平,其中旅客中有好有差;车站售票员、代售点售票员能纯熟地操作使用的系统;系统管理员可以根据具体需要进行适当的数据操作,并对系统进行必要的维护;
2.4一般约束
超级管理员,可以根据具体需要进行适当的数据操作(增、删、改、更),并对系统进行必要的维护;
普通管理员,能对库(车次库和客户库)中的信息进行查询操作,并可以在提供其账户的条件下,进行有权限的操作;
客户只能对航班信息库中的内容进行查询操作,客户进入到页面之后在不进行登录的情况下只能进行火车信息的查询操作,要预订车票就必须要先注册登录提交自己的真实的、可用的基本信息;
系统会根据管理员和客户的各种操作做出相应的返回信息进行提醒。
3.具体需求
3.1功能需求
火车站售票系统将由四部分组成:
网上订票客户端系统,售票员服务系统,系统管理员系统、数据库服务器管理系统。
系统数据流程如下图
顶层数据流程图
第一层数据流程图
第二层数据流程图
3.2性能需求
原始信息皆由管理员录入,系统应尽量减少操作员的数据录入量,录入数据尽量通过设计下拉列表框来选择录入,这样的解决同时也避免了许多录入异常现象的发生。数据输入的格式应符合业务习惯,并且直观、方便。规定系统解决的数据能准确无误,同时输出信息规定直观、简洁。
3.2.1可靠性
系统运营具有较高的可靠性,提供严格的并发控制,保证数据的一致性和对的性
3.2.2实用性
从用户的实际需要出发进行系统开发,不盲目追求高新技术的应用。
3.2.3安全性
系统安全措施可靠、高效、可维护性好,有权限控制、口令控制、临时锁定控制,其中口令录入界面便于系统辨认登录用户。
3.2.4可维护性
为了保证系统的可维护性,规定具有具体的文档资料,同时,规定系统在功能设计上考虑可扩展性,以满足业务变动的需求。
3.2.4可移植性
系统开发完毕后,要能运营于任何由Windows NT/Windows 9X操作系统所构成的计算机网络环境下。
3.3具体规定
对服务器的规定,至少可以满足2023同时在线访问。
对客户端,在现使用的电脑中安装即可使用,规定不高。
使用本系统功能时,电脑配置一般情况下,一般事务相应时间不能超3秒,其中时间涉及:输入、输出和传输的响应时间等。
4. 接口设计
4.1 软件接口
服务器程序可使用.NET提供的与数据库连接的接口,进行数据库的访问。
服务器程序上可使用Navicate for SQL 对数据库的备份命令,以做到对数据库的保存。
在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口式对数据进行网络传输及接受。
4..2. 硬件接口
在输入方面,对于键盘、鼠标的输入,使用标准输入/输出,对输入进行解决。
在输出方面,打印机的连接及使用,也可标准输入/输出对其进行解决。在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速ATM。
4.3内部接口
该系统由六个模块组成,分别是查询模块、售票模块、修改模块、退票模块、记录模块、系统维护管理模块。其关系如下图
4.3.1模块描述
查询模块:售票员和旅客查询具体规定的车次和余票信息
售票模块:根据用户需求拟定订票信息。
修改模块:根据用户需求修改其所定车票信息。
退订模块:根据用户规定和退订的信息修改。
记录模块:根据所售车票的情况记录出具体所有情况下的各种数据信息 ,并进 行信息的返回。
系统维护管理模块:管理员根据实际情况修改数据库信息。
5.数据结构设计
5.1逻辑结构设计
系统E-R图如下:
列车-时间ER图如下:
售票ER图如下
5.2物理结构设计
5.2.1物理结构设计要点
5.2.2 管理员信息
字段名称
字段类型
主键
外键
是否为空
默认值
管理员ID
Varchar(10)
是
否
否
001
管理员姓名
Varchar(50)
否
否
否
Admin
管理员密码
Varchar(16)
否
否
否
123456
5.2.3售票服务员工信息
字段名称
字段类型
主键
外键
是否为空
默认值
员工ID
Varchar(10)
是
否
否
100
员工姓名
Varchar(50)
否
否
否
无
员工密码
Varchar(16)
否
否
否
无
证件号码
Varchar(20)
否
否
否
无
联系地址
Varchar(50)
否
否
否
无
联系电话
Varchar(20)
否
否
否
无
5.2.4用户注册信息
字段名称
字段类型
主键
外键
是否为空
默认值
用户ID
Varchar(10)
是
否
否
10000
用户密码
Varchar(16)
否
否
否
无
证件号码
Varchar(20)
否
否
否
无
真实姓名
Varchar(50)
否
否
否
无
联系地址
Varchar(100)
否
否
否
无
邮政编码
Varchar(10)
否
否
否
无
联系电话
Varchar(20)
否
否
否
无
5.2.5用户订票信息
字段名称
字段类型
主键
外键
是否为空
默认值
订单号
Varchar(10)
是
否
否
10000
乘车日期
Datetime
否
否
是
无
车次
Varchar(10)
否
是
是
无
始发站
Varchar(10)
否
否
是
无
终点站
Varchar(10)
否
否
是
无
席别
Varchar(10)
否
否
是
无
票种
Varchar(10)
否
否
是
无
张数
Varchar(5)
否
否
是
1
备注
Varchar(100)
否
否
是
无
5.2.6列车信息表
字段名称
字段类型
主键
外键
是否为空
默认信息
始发站
Varchar(10)
否
否
是
无
车次
Varchar(10)
是
否
否
无
终点站
Varchar(10)
否
否
是
无
发车时间
Datetime
否
否
是
无
停靠站
Varchar(10)
否
否
是
无
到站时间
Datetime
否
否
是
无
票种
Varchar(10)
否
否
是
无
5.2.7旅客所定火车票表
字段名称
字段类型
主键
外键
是否为空
默认信息
票种
Varchar(10)
是
否
否
无
车次
Varchar(10)
否
是
否
无
张数
Varchar(10)
否
否
是
1
5.3数据结构与程序的关系
1,用户登录时,后台服务器查找数据库,匹配相应的用户名和密码,若未找到,则返回错误信息。
2,登录订票系统,用到员工表,通过每一个售票员来操作每一个终端,通过对用户需求(即:用户买票的规定填写订单信息表,涉及火车票表)。
3,若要查询记录功能则需要以管理员身份登录,用到管理员信息表,管理员可以修改列车时刻表。
5.4设计算法
订票模块程序流程图:
输出:欢迎进入售票窗口
N
i!=-1
Y
N
ti[i].num>=ti[i].max
Y
输出:该趟车次不存在
ti[i].num++
输出:该趟车次的票已售完
输出:订票成功
返回主目录
结束
退订模块程序流程图:
输出:欢迎进入退票窗口
输入车次
i=0
i<n
N
i++
Y
s.ID==ti[i].ID
N
Y
k=i
输出:NO exist!
k==-1
调用printf_one(k)
N
Y
ti[i].num--
输出:退票成功
返回主目录menu()
结束
6.运营设计
6.1运营模块组合
用户端程序在有输入时启动接受数据模块,通过各模块之间的调用,读入并对输入进行格式化。在接受数据模块得到充足数据时,将调用网络传输模块,将数据通过网络送到服务器,并等待接受服务器返回的信息。接受到返回信息后随时即调用数据输出模块,对信息进行解决,产生相应的输出。
服务器程序的接受网络数据模块必须始终处在活动状态。接受到数据后,调用数据解决/查询模块对数据库进行访问,完毕后调用网络发送模块,将信息返回用户端。
6.2运营控制
运营控制将严格按照各模块间函数调用关系来实现。在各事务中心模块中,需对运营控制进行对的的判断,选择对的的运营控制途径。
在网络传输方面,用户端在发送数据后,将等待服务器的确认收到信号,收到后,再次等待服务器发送回答数据,然后对数据进行确认。服务器在接到数据后发送确认信号,在对数据解决、访问数据库后,将返回信息回送用户端,并等待确认。
6.3运营时间
在需求分析中,对时间的规定必须对作出的操作有较快的反映。网络硬件对运营时间有最大的影响,当网络负载量大时,对操作反映将受到很大的影响。所以将采用高速ATM(异步传输模式)网络,实现用户端与服务器之间的连接,以减少网络传输上的开销。另一方面是服务器的性能,这将影响对数据库访问时间即操作时间的长短,影响加大客户机操作的等待时间,所以必须使用高性能的服务器。软件对本系统的速度影响将会大于硬件的影响。
7.系统犯错解决设计
7.1犯错信息
程序在运营时重要会出现两种错误:(1)由于输入信息,或无法满足规定期产生的错误,称为软错误。(2)由于其他问题,如网络传输超时等,产生的问题,称为硬错误。
对于软错误,须在订票、购票、退票和取票操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提醒语句,送到输出模块中。对于硬错误,可在犯错的相应模块中输出简朴的犯错语句,并将程序重置。返回输入阶段。
犯错信息必须给出相应的犯错因素,例:“该列火车已满!”,“查无此信息!”等等。
7.2补救措施
所有的用户端及服务器都必须安装不间断电源以防止停电或电压不稳定导致的数据丢失的损失。若真断电时,用户端将不会有太大的影响,重要是服务器上:在断电后恢复过程可采用SQL SERVER的日记文献,对其进行ROLLBACK解决,对数据进行恢复。
在网络传输方面,可考虑建立一条成本较低的后备网络,以保证当主网络断路时数据的通信。
在硬件方面要选择叫可靠、稳定的服务器机种,保证系统运营的可靠性。
展开阅读全文