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