软件工程火车票售票系统--详细设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息工程学院
《软件工程》作业
(火车票售票系统)
详细设计
专业:计算机科学与技术网络方向
班级:102本
学号:**************
*名:***
王通、王希宝、谢斌、武亚玲、邢伟刚指导老师:***
火车票售票系统
1.引言
随着计算机技术的发展,用计算机为人们的生活服务已经变得普及化。
铁路公司为了增强公司的信息化程度,提高公司的售票管理的效率,就建立起了相应的火车票订系统,实现提高了火车客用系统的售票效率和管理水平。
火车票订票系统是典型的信息管理系统的一部份,火车票订票系统的开发充分利用了计算机信息技术提高了火车票订票的管理水平、服务水平。
系统实现了乘客查询信息、订票操作、取票操作、销售统计等功能,可明显提高对火车票订票的有效管理。
1.1编写目的
本火车站售票系统的根本目的在于通过计算机实现票务信息的统一管理,来提高工作效率,使售票员售票和乘客购票更加方便。
实现计算机管理的最佳技术就是数据库技术。
我们可以利用数据库将整个火车站的票务情况存入计算机,再配置上功能丰富的用户接口,以满足用户需求。
一个火车站售票信息管理系统应达到的目标是提供及时、准确的信息服务,加快信息检索的效率,实况灵活的查询,减轻管理人员制作报表和统计分析的负担,且系统规模不太大但又要保证支持日常工作的要求,以便系统应易于扩充,方便日后统一联网与管理,提高管理水平。
1.2范围
软件系统名称:火车票预订系统
该系统的中心功能是列车车次和售票信息的查询功能和售票功能。
虽然这两个看似截然不同的功能,但它们在实现上十分的类似,售票就需要首先先通过查询的方式得到满足要求的列车车次,然后再根据实际情况进行售票。
所以售票功能可以看成是列车车次和售票信息查询功能的延伸。
支出:该系统是软件工程作业,故无经费支出。
收益:系统完成后即可交付使用,主要是为了方便火车站售票人员使用,有着重大的利益。
1.3背景
火车票的管理和规范问题,是困扰我们多年的一个老问题,也是政府管理中
的一个难点,订票是客运业务中的一个最基本的业务,表面上看,它只是长途客运业务的一个简单的部分,但是它涉及到管理与客户服务等多方面,因此,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,这就要求一种全新的订票方式——网上订票,来缓解订票高峰时期的客运压力,并为用户提供方便快捷的订票服务。
1.4 专门术语
SQL SERVER:系统服务器所使用的数据库管理系统(DBMS)。
SQL:全称Structured Query Language(结构化查询语言)。
一种用于访问查询数据库的语言。
ROLLBACK:数据库的错误回复机制。
事物流:数据进入模块后可能有多种路径进行处理。
主键:数据库表中的关键域。
值互不相同。
外部主键:数据库表中与其他表主键关联的域。
系统:若未特别指出,系统指火车站售票系统。
1.5 基本配置要求
1.5.1硬件配置要求
Pc机若干台,配置一般主流配置,用于满足售票服务;
数据库服务器,数据库服务器用于存放用户及航班信息等资料,配一台专用服务器,安装数据库管理软件,如SQL server2000;
所用的硬件要有较高的性能价格比,这方便了对系统信息的管理,节省了很多不必要的设备,减少了项目投资。
1.5.2系统配置要求
系统支持操作系统如下:
Windows xp、windows 7、Windows service 2008(推荐)等各类系统。
服务器系统要运行稳定可靠,可以保证365天*24小时的不间断运行,并安装杀毒软件,防止病毒的干扰,保证系统的运行稳定。
SQL Server数据库服务器版, 可以存储管理大量数据信息。
1.6参考资料
软件设计文档国家标准——详细设计说明书
车票预订系统项目开发计划书
车票预订系统需求分析说明书
《软件工程案例教程》机械工业出版社韩万江著2011年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具体要求
对服务器的要求,至少能够满足2000同时在线访问。
对客户端,在现使用的电脑中安装即可使用,要求不高。
使用本系统功能时,电脑配置一般情况下,一般事务相应时间不能超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物理结构设计要点
管理员信息表
管理员ID 管理员姓名管理员密码varchar(10) varchar(20) varchar(6)
<pk>
员工表
员工ID 管理员ID 员工姓名员工密码证件号码联系地址联系电话varchar(10) varchar(10) varchar(20) varchar(6) varchar(20) varchar(50) varchar(12)
<pk>
<fk>
用户信息表
用户ID 员工ID 用户密码证件号码真实姓名联系地址邮政编码联系电话varchar(10)
varchar(10)
varchar(6)
varchar(20)
varchar(20)
varchar(50)
varchar(20)
varchar(12)
<pk>
<fk>
订单信息表
订单号
火车票_票种
送票者ID
用户ID
乘车日期
车次
始发站
终点站
席别
票种
张数
备注
varchar(10)
varchar(10)
varchar(12)
varchar(10)
date
varchar(10)
varchar(20)
varchar(20)
varchar(10)
varchar(10)
varchar(10)
long varchar
<pk>
<fk3>
<fk1>
<fk2>
火车票表
票种
车次
张数
varchar(10)
varchar(20)
varchar(10)
<pk>
列车信息表
始发站
车次
管理员ID
终点站
发车时间
停靠站
到站时间
票种
varchar(20)
varchar(10)
varchar(10)
varchar(20)
timestamp
varchar(20)
timestamp
integer
<pk>
<fk>
送票者信息表
送票者ID 送票者姓名varchar(12) varchar(20)
<pk>
5.2.7旅客所定火车票表
5.3数据结构与程序的关系
1,用户登录时,后台服务器查找数据库,匹配相应的用户名和密码,若未找到,则返回错误信息。
2,登录订票系统,用到员工表,通过每一个售票员来操作每一个终端,通过对用户需求(即:用户买票的要求填写订单信息表,包括火车票表)。
3,若要查询统计功能则需要以管理员身份登录,用到管理员信息表,管理员可以修改列车时刻表。
5.4设计算法
订票模块程序流程图:
退订模块程序流程图:
6.运行设计
6.1运行模块组合
用户端程序在有输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化。
在接收数据模块得到充分数据时,将调用网络传输模块,将数据通过网络送到服务器,并等待接受服务器返回的信息。
接收到返回信息后随时即调用数据输出模块,对信息进行处理,产生相应的输出。
服务器程序的接收网络数据模块必须始终处于活动状态。
接收到数据后,调用数据处理/查询模块对数据库进行访问,完成后调用网络发送模块,将信息返回用户端。
6.2运行控制
运行控制将严格按照各模块间函数调用关系来实现。
在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径。
在网络传输方面,用户端在发送数据后,将等待服务器的确认收到信号,收到后,再次等待服务器发送回答数据,然后对数据进行确认。
服务器在接到数据后发送确认信号,在对数据处理、访问数据库后,将返回信息回送用户端,并等待确认。
6.3运行时间
在需求分析中,对时间的要求必须对作出的操作有较快的反应。
网络硬件对运行时间有最大的影响,当网络负载量大时,对操作反应将受到很大的影响。
所以将采用高速ATM(异步传输模式)网络,实现用户端与服务器之间的连接,以减少网络传输上的开销。
其次是服务器的性能,这将影响对数据库访问时间即操作时间的长短,影响加大客户机操作的等待时间,所以必须使用高性能的服务器。
软件对本系统的速度影响将会大于硬件的影响。
7.系统出错处理设计
7.1出错信息
程序在运行时主要会出现两种错误:(1)由于输入信息,或无法满足要求时产生的错误,称为软错误。
(2)由于其他问题,如网络传输超时等,产生的问题,称为硬错误。
对于软错误,须在订票、购票、退票和取票操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中。
对于硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置。
返回输入阶段。
出错信息必须给出相应的出错原因,例:“该列火车已满!”,“查无此信息!”等等。
7.2补救措施
所有的用户端及服务器都必须安装不间断电源以防止停电或电压不稳定造成的数据丢失的损失。
若真断电时,用户端将不会有太大的影响,主要是服务器上:在断电后恢复过程可采用SQL SERVER的日志文件,对其进行ROLLBACK处理,对数据进行恢复。
在网络传输方面,可考虑建立一条成本较低的后备网络,以保证当主网络断路时数据的通信。
在硬件方面要选择叫可靠、稳定的服务器机种,保证系统运行的可靠性。