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