目录
1.1课题背景及意义
1.2研究现状
1.2.1国内研究现状
1.2.2国外研究现状
2.1可行性研究过程
2.2项目在经济上的可行性
2.3项目在法律允许的可行性
3.1功能性需求
3.1.1系统功能
3.1.2管理员功能
3.1.4旅客功能
3.2性能需求
3.3运行要求
3.3.1服务器子系统运行要求
3.3.2客户端子系统运行要求
3.4需求模型
3.4.1数据字典
3.5系统的数据流图
4.1概要设计
4.1.1系统的层次图
4.2详细设计
4.2.1系统主要功能模块界面图
4.2.2系统模块程序流图
5.1系统用例图
5.2系统功能类图
5.3系统功能时序图
随着我国经济的高速发展,我国的交通运输能力不断提高,越来越多的国民开始走出家门来到异地进行商务或者旅游等活动。在这一条件下,客流量不断增大。火车售票的管理对于交通运输的正常运行起着至关重要的作用,而随着信息量的逐步增加,繁杂的数据处理费时费力,单纯以人力进行的火车售票已经不适合现状了。
现今的社会发展迅速,火车成为了人们在交通方面不可缺少的交通工具,乘坐火车出行的人越来越多,所以火车的客运量也在迅速的增长着。为了给人们带来方便快捷的交通环境,火车站系统采取提高列车的速度,增加火车站列车等措施来满足大量的旅客的乘车需求。但是,现在人多车多的情况下,如果再像从前一样,在一个单一的地点售票,必然满足不了现在的形势。所以就需要售票能够在不同的地点进行。如此的情况之下,售票系统自然是相当必要的。售票系统的出现能够在很大的程度上解决单一地点售票所带来的种种不便,并且能够使想要出行的旅客方便的买到自己需要的车票。对于售票处的地点也从原来的单一地点(火车站)变成了多个地点,可以在市内的多个地点(宾馆、酒店、娱乐场所等等)。这样给将要出行的旅客带来了更进一步的方便。使旅客无论是在金钱还是在时间方面都能够得到充分的节省。为了方便旅客,火车售票系统不仅仅只能售票,还能改签,退票在线操作。也就是说系统的用户应该不只是售票员,还应该有管理员。管理员能够通过售票系统及时的更新乘车信息。这样才能够使乘客避免不必要的麻烦,真正的解决以前老式售票的种种不便,才能够真正的成为现在网络社会的真正适应者。
现在的时代是一个信息产业的时代,国家把信息产业作为了增长国民经济重要的一环。在这样的环境下,以先进的信息技术进行汽车售票的管理成为了时代发展的必然。综上所述,开发这样一个火车联网售票系统是相当有必要的。
我国火车站很早就利用计算机管理系统来加强管理、提高服务水平。我国火车站的IT的发展阶段主要是以电脑系统的运用为标志的,电话通讯系统实际上也是从程控交换技术出现才获得质的飞跃。随着计算机的普及应用,计算机技术的不断发展,同时也使火车站管理系统发展到了一个新的时期,趋于更加完善。火车站管理系统实现了火车票预定、出行、退票流程的智能化、自动化,节约了车站的人工成本,较少了乘客的等候时间,具有简单、便捷、私密的特点。
国外的火车站发展较为国内早了好多年,同时在多年的发展探索中,火车站的功能发展更加全面和多样化。火车站由一开始的单一出行站点到现在的休闲商务旅游多方面出行,向着更复杂功能更齐全的方向发展。随着这些火车站的全面发展,其对火车站的管理要求也随着提高,为了更方便地订票,在计算机迅速发展的背景下,产生了火车订票系统软件,在很大成程度上减少了人力物力和财力,也同时使车站的经营更加规范化,提高了服务的标准。
技术性方面,采用当前主流的Springboot框架进行系统主体框架的搭建,实现前台页面的设计与美观调整,以上技术,均由本人经过系统学习,并且都是在课程设计中实践过的,可以使得开发更加便捷和系统。从技术角度看,这个系统是完全可以实现的。
实用性方面,本次设计的主要任务是在火车订票系统内火车票预订、车次搜索、车票改签、个人资料修改、车票退票等,符合当前潮流的发展。从用户角度出发,同时也考虑系统运营成本和人力资源,采用网络上的便捷方式,实现线上业务,使得业务流程更系统,也更方便用户的体验,比较实用。
经济性方面,由于本课题中设计的火车订票系统的主要目的是为了能够更加方便及快捷的进行信息的查询管理及检索服务,也就是能够可以直接投入使用的信息化软件。系统的主要成本主要是集中在对使用数据后期继续维护及其管理更新这个操作上。但是一旦系统投入到实际的运行及使用之后就能够很好的提高信息查询检索的效率,同时也需要有效的保证查询者的信息方面的安全性,同时这个火车订票系统所带来的实际应用方面的价值是远远的超过了实际系统进行开发与维护方面的成本,因此,从经济上来说开发这个软件是可行的。
本项目是在大范围内需求而产生的,针对的是大众群体,使用对象是国家,而并非个人,所以不会存在侵权行为。因此,在法律范围之内,无侵权行为。
第三章 需求分析
登录模块:登录模块是进入系统的入口,所有用户必须登录后才能访问系统。登录需要输入用户名和密码,如果多次尝试登录需要输入验证码。登录时需要选择用户的角色,是一般用户还是管理员登录等。登录成功后,会通过数据库获取用户的权限,并跳转至用户的主页面。
管理员用户管理模块:管理员管理包括:管理员的添加,修改和删除操作。添加管理员时,先判断用户添加的管理员是否是admin(超级管理员),如果不是则添加成功。修改时候,如果是超级管理员,可以修改所有管理员的信息,如果是普通管理员,那么只能修改自己的信息。超级管理员可以删除自己以外的所有其他管理员,普通管理员不能执行删除管理员的操作。
留言版模块:留言板促进用户之间的交流,发表个人意见、建议、看法等,在留言板可以查看已有的留言记录,发布新留言,可以展示个人动态头像,个人匿名昵称等。
火车车次推荐模块:可分为火车车次推荐浏览、火车车次推荐检索、火车车次推荐维护三个模块,管理员对火车车次推荐有维护的权限,发布新的火车车次推荐、更新已有的火车车次推荐等。
火车票管理模块:火车车次管理分为火车票添加、修改和火车票预订,车票改签,车票退票。火车票信息由管理员进行修改、添加、删除操作;火车票预订,改签,退票由普通用户来执行。
修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。
管理普通管理员:对普通管理员进行管理。调动相关工作人员时可以添加或删除普通管理员。
火车票信息管理:对火车票信息进行维护,添加、删除、修改信息。
对预订单信息进行处理:办理预订单审核等。
改签管理:审核乘客的车票改签信息。
退票管理:审核乘客的车票退票信息。
用户管理:可以查看注册用户的信息,并对其进行管理
前台用户可分为未注册用户需求和以注册用户需求。
未注册用户的功能如下:
注册账号:用户填写个人信息,并验证手机号码。
火车车次推荐数据:用户可以浏览主页面的车次推荐数据来了解系统的最新车次推荐信息。
浏览车次:用户可以根据车票类型浏览车次的信息,并选中某个车次查看详情,例如:班车、车型、价格、线路、出发时间、车票价格、姓名、联系电话、出行日期、预订人、是否支付等。
已注册用户的功能如下:
登录:根据账号密码进行登录操作。
维护个人信息:用户因个人信息的变更可以随时修改自己注册信息。
浏览评论信息:选中某车次可查看其用户的评论。
车票预订:用户根据自己的需求选中班次车票进行预订操作。
个人车票改签退票:用户可以查看自己以往预订数据,进行改签或者退票申请。
为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。
1.准确性和及时性
系统处理的准确性和及时性是系统的必要性能。系统应能及时而且准确的根据用户权限及所输入的信息做出响应。由于本系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而车票的数量和时间又影响用户的决策活动,其准确性和及时性很大程度上决定了系统的成败。
在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。
2.易用性
本系统是直接面对用户的,而用户往往对计算机并不是很熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。
3.系统的标准性
系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合国家标准,各铁道部统一。如规范的数据库操作界面、作为业界标准的TCP/IP网络协议及IS09002标准所要求的质量规范等;同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。
4.系统的响应速度
车票预订系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。
系统环境:win10
数据库:MySQL - 架构:B/S - 源码类型: Web
编译工具:Idea、Eclipse (选其一)
其他:jdk1.8、Tomcat8.5(内置) 、Navicat
硬件要求:CPUi5,内存8G
系统环境:win10以上
数据库管理系统:MySql
硬件要求:CPUi5,内存8G
1.数据需求分析
从前面可以分析到数据库中最重要的是车票信息,预订信息,评价信息。分析可以得到如下数据描述:
平台用户:用于记录用户的各种信息,包括用户名、密码、姓名、性别、地址、邮箱、联系方式等数据项。
管理员:记录管理员的登录信息。包括用户名,密码,权限等数据项。
火车票:存储各种火车票信息。包括列车号、价格、时间、始发地点、终点站等据项。
火车票预订。存储用户的火车票预订信息。包括火车票预订的车次、列车号、价格、出行时间、价格、姓名、联系电话、预订人、是否支付等数据项。
留言:存储用户的留言。包括留言内容,留言的信息,留言人,时间等数据项。
2.数据库概念设计
根据前面的数据流程图,结合系统的功能模块设计,设计出符合系统的各信息实体。
图3-1 系统ER图
3.数据库表设计
火车订票系统所拥有的数据表有以下:用户信息表,评论信息表,车票信息表,车票预订表,留言表。
由于数据表较多,只展示系统主要数据表,如下表所示。
表3-1 registered_user表
表3-2 train_number表
表3-3 order_refund表
表3-4 order_change表
对系统的数据流进行分析,系统的使用者分为二类,一般用户,管理员。系统主要对界面信息传送,登录信息的验证,注册信息的接收,用户各种操作的响应做处理。
系统顶层数据流图如下图所示。
图3-2 顶层数据流图
要判断用户是是什么身份,是根据登录的数据来判断后,跳转到对应的功能界面。在系统的内部用户就可以对数据进行操作,数据库中心就可以接收到系统传输的有效数据流来对数据sql语句进行对应操作。
图3-3 底层数据流图
火车票订票系统总体分为前台用户模块和后台管理员模块。两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。综上所述,系统功能结构图如下图所示。
图4-1系统层次图
图4-2 用户端首页
图4-3 车次信息界面
图4-4用户购票订单
图4-5用户改签订单
图4-6车次管理界面
图4-7退票管理界面
1.注册模块的实现
用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败,注册页面的表单验证是通过JavaScript进行验证的,密码和密码确认必须相同,你输入的密码,系统会根据你输入密码的强度给出指定的值,电话号码和身份证号码必须要求输入格式与生活相符合,当你前台验证通过的时候你点击注册,表单会将你输入的值通过name值传递给后台并保存到数据库中。
用户登录流程图如下图所示:
图4-8用户登录流程图
火车票订票功能整体流程:用户浏览车票信息时,同时会显示车票的状态,系统会在其显示详细信息的页面时便会判断车票的状态,若车票状态为可预订,则会显示预订的链接按钮。在用户点击预订按钮时,会先通过拦截器判断用户是否登录,若未登录,会跳转至登录页面,提示用户先登录,若为登录用户就会跳转至填写预订信息的页面,填写好预订信息之后,点击提交按钮,预订成功之后返回提示信息,告知用户预订成功。
火车票订票流程图如下图所示:
图4-9火车票订票流程图
根据需求,需要对车票进行添加、删除或修改详情信息。删除或修改车票时,系统根据车票的状态判定为可删除状态下,才会给出删除和修改链接,点击删除链接按钮时,请求到达后台,还会先查询车票状态再次做出判定能否删除。点击修改链接按钮时,会跳转到修改信息的页面,重新填写好数据后,数据提交到后台会对数据库中相应的记录做出修改。
添加车票时,会给出数据填写的页面,该页面根据填写好的车票编号同样会事先发送Ajax请求查询编号是否已存在,数据填写好之后提交到后台,会调用相关服务在数据库中插入记录。
火车车次管理流程图如下图所示:
图4-10火车车次管理流程图
第五章 UML模型
客户先通过网站系统查询各种情况(票的价格,车的情况,以及一些铁路状况),再通过系统数据库给与的实时信息提示去预定想要的火车票,完成订票的过程,客户也可以通过网站系统对自己已经订购的票进行退订手续。管理员可以修改票务信息,修改变动后的时间以及车票价格等等。
图5-1系统用例图
5.2系统功能类图
图5-2系统功能类图
图5-3系统功能时序图
第六章 总结
经过这次实践学习,使我对软件工程设计步骤有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处,最主要是自己在UML图形正确使用上不够熟悉,通过实践,使我在这个方面的认识有所提高。
其次,经过查找资料,调查研究,获取需求以及在这些基础上做出的系统分析,我做出了这个“火车票订票管理信息系统”大作业。总的来说,这个系统的设计考虑了大部分要考虑的因素,一些影响不大的因素就没有考虑再内,还有很多需求分析有所欠缺,系统还有很多功能不能用图表来展现实现,这在以后的设计中要吸取教训。通过这次的课程设计,我不但学到了很多东西,也把原来学的东西理解的更透彻了,特别是把原来学的不同科目的东西结合起来了,收获很大。
通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学好软件工程这门课,还是其它的计算机专业课,都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己更好地学好计算机。
没有实践,学习就是无源之水,无本之木。以上就是我在进行课程设计实训的心得和感受。