《2022年火车票售票系统-软件工程设计报告.docx》由会员分享,可在线阅读,更多相关《2022年火车票售票系统-软件工程设计报告.docx(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源成果:软件工程课程设计说明书_2021-09-18专业_网 络 工 程班级姓名学号指导老师完成日期火车票售票系统摘要火车站是目前客流量最大的运输工具;对于售票如此大的工作量,完全靠人工是不行能达到高效水平的,因此,开头摸索开发提高售票效率以及劳力的运算机售票系统;售票系统的核心是数据库技术,利用数据库将整个火车站的票务情形存入运算机,再配置上用户接口,基本实现了查询、售票、退票、订欢迎下载精品学习资源票、改签等功能,肯定程度上提高了售票效率;针对火车站的售票实际情形,依据软件工程的结构化设计思想,经过工程的可行性讨论和需求分析、总体设计、具体设计,以及编码实现和调试等步骤设计开发了
2、火车站网上订票系统;并运用数据流图和数据字典、E-R 图和数据库规律结构、层次图、系统流程图、以及程序流程图,对该系统的数据需求、数据库、系统软件结构、系统流程、以及处理过程等进行分析和设计;关键词:信息治理、售票、数据库、用户接口;目录欢迎下载精品学习资源第一章前言 .21.1 工程开发的必要性 .21.2 工程功能的概述 .3第 2 章 软件开发环境 .32.1软件开发环境 . .32.2软件性能需求 . .4第 3 章 需求分析 .43.1 可行性讨论 .43.1.1经济可行性 . .43.1.2技术可行性 . .43.1.3操作可行性 . .43.2 需求分析 .53.2.1功能需求
3、. .53.2.2数据需求 . .53.2.3性能需求 . .63.2.4约束与限制 . .7第 4 章 总体设计 .74.1系统概要 . .74.2系统结构组成 . .7第 5 章 具体设计 .95.1数据库设计 . .95.1.1数据库介绍. .95.1.2数据表设计 . .95.1.3数据表的应用 . .125.2模块设计 . .125.2.1登录/ 注册模块 . .125.2.2查询模块 . .145.2.3售票模块 . .165.2.4退票模块 . .185.2.5改签模块 .205.2.6修改车次模块 .225.2.7统计信息模块 .23欢迎下载精品学习资源第一章 前言1.1 工程
4、开发的必要性火车是目前客流量最大的运输工具,将来很长一段时间中也会连续这种现状;传统的人工售票成本大,出错率高等缺点,已是跟不上现代人的生活节欢迎下载精品学习资源奏;而软件相对于人工来说,它有更高处理速度,出错率也将很低,当然,其成本也会大大降低;如今,对火车的要求在于提高售票效率,火车售票也慢慢进入自动化:自动化售票,快捷便利的查询、改签、退票,智能化的订票;在曾经看来是复杂繁琐的工作,变得简洁快速人性化;通过提高售票效率,仍可以提高火车运输甚至整个运输业的运行效率;火车站售票系统的主要作用是通过运算机实现票务信息的统一治理,来提高工作效率,使售票员售票和乘客购票更加便利高效;实现运算机治理
5、的当然少不了数据库技术;我们可以利用数据库将整个火车站的票务情形存入运算 机,再配置上界面友好功能完善的用户接口,以满意用户需求;一个火车站售票信息治理系统应达到的目标是供应准时、精确的信息服务,加快信息检索的效率,实况敏捷的查询,减轻治理人员制作报表和统计分析的负担,且系统规模不太大但又要保证支持日常工作的要求,以便系统应易于扩充,提高治理水平;1.2 工程功能的概述本系统主要用于火车票的销售,供应了以下几个子功能:用户登录和注册、火车票订购、火车票信息查询、订票查询、售票、取票方式、改签、退票以及后台方面的火车班次信发布、取消火车班次、订票生成、取票号生成等后台功能;火车站售票系统将由四部
6、分组成:网上订票客户程序,售票员系统,系统治理员系统以及置于服务器的数据库服务器;第 2 章 软件开发环境2.1 软件开发环境开发工具: Visual C+6.0使用的数据库: Server 2021系统开发语言: C+欢迎下载精品学习资源开发环境: Win 72.2 软件性能需求本系统对电脑配置要求不高,一般中低端配置就行,由于开发环境是Win 7,其他操作系统运行此系统的稳固性仍未知;第 3 章 需求分析3.1 可行性讨论该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证;我们在这里主要从技术可行性、经济可行性和操作可行性三方面进行分析;3.1.1 经济可行性本系统其他应用软件
7、、硬件系统也易于获得. 因此, 开发成本较低;而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节约不少人力、物力及财力;所以,从经济的角度来看,该系统可行;3.1.2 技术可行性系统实现依靠我相对熟识的c+语言和 SQL Server2021 数据库系统,其基本操作实质仍是对数据库进行添加、删除、查找等操作;所以,从技术角度来看,该系统可行;3.1.3 操作可行性系统采纳菜单式,实现用户与数据库的交互,界面设计时将尽量使系统界面简洁易操作,充分考虑使用人员的习惯,使得操作简洁,数据录入简洁、快速、规范、牢靠;统计、运算精确;制表敏捷;适应力强;因此,操作方面的可行性也
8、能满意;欢迎下载精品学习资源3.2 需求分析需求分析是软件设计的一个重要的环节;本阶段对售票系统的应用情形作全面调查,以确定系统目标,并对系统所需要的基础数据以及数据处理要求进行分析,从而确定用户的需求;用户对系统的需求我们从以下几方面进行分 析;3.2.1 功能需求本火车售票系统应当具备如下功能:1、查询模块:分为对车次信息的查询和客户对已订车票信息的查询;要求:1) 对车次的查询,可以依据发车车次进行查询;2) 车次信息包括:火车列次、动身地、目的地、发车日期、开出时刻、票价;3) 座位类型设定;4) 车次信息只答应用户查询,不能修改;2、售票模块:通过查询系统,依据客户的需求找到中意的车
9、次,再输入个人信息后直接通过网上售票确定已预订选中的车票;要求:售票记录应包括:会员名、车号、发车日期、订购票数、总价;3、退票模块:可退票,通过查询系统,可以依据客户的名字找到客户的订票信息,通过退票模块退去已购车票;4、改签模块:当行程方案有变是,可改签,通过查询系统,可以依据客户的名字找到客户的订票信息,通过改签模块改签已购车票;5、车次修改:供应车次信息、票价修改、站点修改、增加车次,削减车次、车次的暂时调度和暂时路线更换等操作;6、统计信息:将要统计的车次号输进到统计界面,依据车次的售票情形作出销售额、客流情形统计表;3.2.2 数据需求1、数据录入和处理的精确性欢迎下载精品学习资源
10、数据的输入是否正确是数据处理的前提,错误的输入会导致系统输出的不正确和不行用,从而得不到想要的结果;数据的输入来源是手工输入;所以系统地界面要让用户简洁使用,假如用户显现误操作,系统能简洁明白的给出中文提示;2、数据的一样性和完整性由于系统的数据是共享的,在不同的代售点中,车次信息是共享数据,所以如何保证这些数据的一样性,是系统必需解决的问题;要解决这一问题,要求系统能保证数据的一样性,在数据录入处掌握数据的去向,并且要求对数据库的数据完整性进行严格的约束;对于输入的数据,要为其定义完整性规章,假如不能符合完整性约束,系统应当拒绝该数据,并给出出错提示;3、数据的共享与独立性整个售票系统的数据
11、是共享的;然而,从系统开发的角度上看,共享会给设计和调试带来困难;因此,应当供应敏捷的配置,使不同权限的用户都可以正常进行操作;3.2.3 性能需求为了保证系统能够长期、安全、稳固、牢靠、高效的运行,本系统应当满意以下的性能需求;1. 精确性和准时性系统处理的精确性和准时性是系统的必要性能;系统应能准时而且精确的依据用户权限及所输入的信息做出响应;由于本系统的查询功能对于整个系统的功能和性能完成举足轻重;作为系统的许多数据来源,而车票的数量和时间又影响用户的决策活动,其精确性和准时性很大程度上打算了系统的成败;在系统开发过程中,必需采纳肯定的方法保证系统的精确性和准时性;2. 易用性本系统是直
12、接面对用户的,而用户往往对运算机并不是特别熟识;这就要求系统能够供应良好的用户接口,易用的人机交互界面;要实现这一点,就要求系统应当尽量使用用户熟识的术语和中文信息的界面,从而保证系统的易用欢迎下载精品学习资源性;此外,对服务器的要求,至少能够满意当地售票人员同时拜访;对客户端,在线使用的电脑中安装即可使用,使用本系统功能时,电脑配置一般情形下,响应速度 2s 左右,3.2.4 约束与限制客户下订单提交后需在半小时内进行确认信息,并且做出相应的打算,如:退票、换票、付款等;售票员在开车前半小时不准售票,在开车前2 小时不准退票;改签的天数的范畴为1 天,一天内只能改签一次;关于操作权限,客户应
13、当只有查询、订票、改签、退票的权限,售票员应该只有售票和查询票务信息的权限,治理员应当赐予特别权限,使之能对票务信息查询、修改;第 4 章 总体设计4.1 系统概要本火车站售票系统是依据需求分析开发的原型系统,目的是为了火车站工作人员顺当快速完成每次售票工作,以致火车运行畅通;该系统在开发各个阶段,都突显现代软件设计的新思想、新技术的讨论与应用及其有效性和有用性的证明;系统使用的用户主要有:客户、售票员、系统治理员;都是在客服端界面上进行操作,并不需要明白服务器具体情形;只要用户的运算机上安装本单机版软件便可便利的使用本系统;4.2 系统结构组成系统的软件系统总体分为五部分:登录、售票、退票、
14、改签、用户治理;:登录模块:验证用户合法性,登录后设定用户权限;欢迎下载精品学习资源售票模块:供应查询和售票操作;退票模块:供应查询、核对信息和退票操作; 改签模块:供应查询、核对信息和改签操作;车次修改:供应车次信息、票价修改、站点修改、增加车次,削减车次、车次的暂时调度和暂时路线更换等操作;统计信息:将要统计的车次号输进到统计界面,依据车次的售票情形作出销售额、客流情形统计表;总体数据流图如下图:供应所需信息查询数据库数据库购 票者售票系统反馈给购票者显示查询结果总体结构图下图:客服端(客户)客服端(售票员)客服端(管理员)欢迎下载精品学习资源服务器数据库第 5 章 具体设计5.1 数据库
15、设计5.1.1 数据库介绍系统基于 Visual C+ 6.0平台开发,使用了 Server2021数据库; Server 2021 功能强大,便利系统治理员组织和共享的数据库,便利系统治理员工作组作出更好的决策;5.1.2 数据表设计字段名称字段类型主键外键是否为空默认值治理员 IDVarchar(10)是否否001治理员姓名Varchar(50)否否否Admin治理员密码Varchar否否否无下面具体创建每一个表: 表 1 治理员信息欢迎下载精品学习资源(16) 表 2 售票员字段名称字段类型主键外键是否为空默认值售票员 IDVarchar是否否100(10)售票员姓名Varchar否否否
16、无(50)售票员密码Varchar(16)否否否无证件号码Varchar(20)否否否无联系地址Varchar否否否无(50)联系电话Varchar否否否无(20)表 3 客户表字段名称字段类型主键外键是否为空默认值客户 IDVarchar(10)是否否10000客户姓名Varchar(50)否否否无客户密码Varchar(16)否否否无证件号码Varchar(20)否否否无真实姓名Varchar否否否无(50)联系地址Varchar否否否无(100)邮政编码Varchar否否否无(10)联系电话Varchar(20)否否否无表 4 订单信息欢迎下载精品学习资源字段名称字段类型主键外键是否为空
17、默认值订单号Varchar(10)是否否10000乘车日期Datetime否否是无车次Varchar(10)否是是无始发站Varchar否否是无终点站(10)Varchar否否是无(10)席别Varchar(10)否否是无票种Varchar(10)否否是无张数Varchar否否是1备注(5)Varchar否否是无(100)表 5列车信息表字段名称字段类型主键外键是否为空默认信息始发站Varchar否否是无车次(10)Varchar是否否无(10)终点站Varchar(10)否否是无发车时间Datetime否否是无停靠站Varchar否否是无到站时间(10)Datetime否否是无票种Varch
18、ar(10)否否是无表 6火车票表字段名称字段类型主键外键是否为空默认信息欢迎下载精品学习资源票种Varchar是否否无车次(10)Varchar否是否无(10)张数Varchar(10)否否是15.1.3 数据表的应用当客户端登录时,后台服务器查找数据库,匹配相应的用户名和密码,如未找到,就返回错误信息;登录订票系统,用到售票员表,通过每一个售票员来操作每一个终端,通过对客户需求(即:客户买票的要求填写订单信息表, 包括火车票表);如要查询统计功能就需要以治理员身份登录,用到治理员信息表,治理员可以修改列车时刻表;5.2 模块设计本火车售票下系统主要有登录 / 注册、查询、售票、退票、改签、
19、修改车次、统计信息这些功能,设计时按这些功能设计模块就可以了;其具体功能图如下:火车票售票系统客户售票员用户治理查购退改查售退改统修询票票签询票票签计改信车5.2.1 登录/注册模块息次本火车售票下系统有客户、售票员、系统治理员三种用户,其中客户可以自己注册账户登录,而售票员和系统治理员就直接由相关部门授权给定账号密欢迎下载精品学习资源码登录;其程序流程图如下所示:输入登录信息欢迎下载精品学习资源登录是否提示输入错误否注册欢迎下载精品学习资源欢迎下载精品学习资源是验证输入格式错误验证输入欢迎下载精品学习资源格式正确格式正确欢迎下载精品学习资源调用函数到数据库中匹配提示账号或密码错误匹配失败调用
20、函数存 储到 数据库中欢迎下载精品学习资源欢迎下载精品学习资源匹配胜利登录胜利是登录是否否欢迎下载精品学习资源客户登录 / 注册模块流程图输入登录信息是验证输入欢迎下载精品学习资源提示输入错误格式正确调用函数到数据库中匹配匹配失败提示账号或密码错误匹配胜利登录胜利格式错误售票员/ 治理员登录模块流程图5.2.2 查询模块客户与售票员胜利登录后,都具有查询车票信息的权限,其享有的操作是一样的;查询可分为按车次查询与站点查询,客户或售票员通过输入待查询车次或者站点查询车票的相关信息,包括票价,时刻,剩余票数等信息;如用户输入的车次或者站点错误,系统会提示输入错误;能够对客户要求的大部分查询类型都能
21、够查询,每个查询功能键都一目了然,能快速精确的显示要查询的信息;要求单次的查询系统的处理时间在2 秒以内;查询功能时序图如下图:欢迎下载精品学习资源客服或售票员查询功能时序图输入工程:车次号或者站名;输出工程:车次号、站点、发车时间、到站时间、剩余票数、车票价格、旅程历时;该模块通过拜访数据库查询车票信息,提取客户或售票员输入的车次或者站名,封装成 SELECT语句,到数据库中查询车票信息,将信息返回到用户界面;如输入错误,弹出错误提示框;其程序流程图如下图:欢迎下载精品学习资源输入数据验证输入格式错误提示输入错误返回 查询 界面格式正确调用函数到数据库中查询无车票有车票输出到界面输出“车票售
22、完”终止查询查询功能流程图5.2.3 售票模块客户胜利登录后,享有购票服务;售票员胜利登录后,享有售票权限;购票与售票实质上是同一中操作,只不过是操作主体不同,下面对售票员的售票模块进行说明;依据客户的需求如发车日期、发车时间、车票类型(同学票、军人票)等,客售票员查询相关的车票信息,挑选客户所需要的车次,下订单,然后结欢迎下载精品学习资源算;单次售票任务在 25 秒之内完成,系统的反应时间在3 秒之内;保证多台机器同时运行该系统不会有过高延时;售票时序图如下图所示:售票界面售票掌握器数据库模块: 售票员1: 输入购票信息2: 购票信息3: 修改4: 返回修改胜利5:提示车票已售出6:提示售票
23、功能时序图输入工程: 车次、站点、日期;输出工程:车票信息、剩余票数;售票员输入客户预购车票的相关信息,调用查询模块,到数据库中查询是否有票,如有,就挑选需要的票数和车次,并将卖出票数写入数据库,数据库中对应车次剩余票数刷新,储存,售票员挑选打印火车票给客户;如无就提示车票已售完,回到输入信息界面,重复上边的算法流程;售票算法流程图如下图:欢迎下载精品学习资源输入车票信息无车票查询提示并返回有车票挑选票数与车次票数写会数据库更新数据库点击打印售票算法流程图5.2.4 退票模块客户与售票员登录后,均有退票的权限,下面对售票员的退票情形进行分析;处理客户由于某种情形需要退回车票的情形,客户要在车站
24、指定的时间内进行退票;超过指定时间,只能改签,不能退票;系统准时的记录下所退回的车票,更新数据库;退票时序图如下图所示:欢迎下载精品学习资源售票员退票界面退票掌握器DAO退票数据库退票时序图输入工程:车票编号;输出工程:确认车票界面、警告提示、退票款、数据修改胜利;售票员扫描客户欲退车票的条形码,获得车票编号,售票员点击退票按钮,将车票编号交给退票模块;退票模块到数据库中查询此票是否已售出,如匹配就点击确认退票,退票模块修改数据库,售票员返仍退票款;如不匹配就会提示售票员此票未售出;退票算法流程图如下图所示:欢迎下载精品学习资源扫描车票,点击退票数据传送给退票模块退票模块操作数据查询数据无记录
25、警告车票有错有记录(已卖出)查看发车时间是验证超过时限否超时不行退票否显示退票信息是否改签修改数据库是转到改签模块返回退票界面退票算法流程图5.2.5 改签模块客户与售票员登录后,均有改签的权限,下面对售票员的改签情形进行分析;方案暂时变更需要更换动身日期,或者退票不胜利,可以挑选改签服务;售票员收回客户车票,返仍票款;如客户需要日期的票有剩余,就重新卖给客户一张票;如票已售完,就退出;改签时序图如下图所示:欢迎下载精品学习资源改签时序图输入工程:车次、日期输出工程:警告提示、新车票售票员扫描车票条形码,输入到改签界面,改签模块进入数据库中确认该车票的确售出;如的确售出,就返仍退票款,并依据乘
26、客需求另售一张指定日期车票;如没有售出,警告提示售票员车票有误;改签算法流程图如下图所示:扫描车票,点击改签欢迎下载精品学习资源据传送给改签模块查询数据库否该票售出否是返回查询界面警报提示车票有误显示退票信息输入旅客欲改签车次日期否查询有票否返回改签界面有转到售票模块改签算法流程图5.2.6 修改车次模块系统治理员通过该模块修改需要变更的车次信息,包括车次修改、票价修改、站点修改;车次修改包括增加车次,削减车次,车次的暂时调度和暂时路线更换;票价修改为节假日、春运等特别时段或某些特别地域需要适量增加或削减票价;站点修改可是某些车次增加或削减一些站点;其时序图如下图所示:欢迎下载精品学习资源修改
27、车次时序图治理员输入要修改的车次,提交给修改模块,修改模块依据治理员输入的信息进入数据库查询到相关表中数据,并修改,修改胜利后给治理员显示修改之后的信息内容;5.2.7 统计信息模块主要是统计车票的销售情形以及销售额等;同时通过车票统计仍可得知不同日期车流量的情形,为列车调度供应第一手资料;统计时序图如下图所示:统计时序图售票员将要统计的车次号输进到统计界面,掌握器提取数据,进入数据库欢迎下载精品学习资源输入车次统计模块提取数据查询数据库相关表项存在与否不存在提示没找到记录存在返回剩余车票数运算已售出车票数运算销售额生成表单,显示终止查询统计表,返回给售票员,售票员依据车次的售票情形作出销售额、客流情形统计表;统运算法流程图如下图所示:统运算法流程图欢迎下载