火车票售票管理系统样本_第1页
火车票售票管理系统样本_第2页
火车票售票管理系统样本_第3页
火车票售票管理系统样本_第4页
火车票售票管理系统样本_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。摘

要中国的领土面积约960万平方公里居世界前列,人们在如此大的领土上出行可谓是一个社会性的难题。中国铁路线四通八达总长度可谓世界第一,一直以来中国铁路以安全、稳定、快速和较为便宜的票价,吸引了占世界三分之一的人口乘坐。但近年来,随着中国国民经济的飞速发展和人民生活水平的提高,铁路旅客运输面临着增加运能、提高卖票服务质量、提高竞争能力的迫切需要。基于网络自主的火车票售票管理系统替代传统的人工售票,实现自动化售票和对票务的自动化管理,极大的方便了乘客购票,也提高了铁路部门的管理效率和运营效率。由此可见,售票管理系统是解决当前问题的重要手段,是火车运输发展的必然趋势。本论文围绕铁路运输售票的现状,引入火车票售票管理系统,并对该系统的开发及原理进行详细的介绍。关键词火车票;售票系统;订票;管理系统iAbstractChina'sterritorialareaofapproximately960millionsquarekilometersoftheworld,peopleinsuchalargeterritorytripisasocialproblem.Chinarailwaytoextendinalldirections,anditstotallengthisthelongestoftheworld.Allalong,China'srailwayprovideastable,safeandfastservice,whichaffectedmanypeople’swhataboutthetraffictoolsonthedecision.Butinrecentyears,withtherapiddevelopmentofChina'snationaleconomyandtheimprovementoflivingstandards,railwaypassengersareconfrontedwiththeurgentrequestofincreasingtransportationcapacitygrowingticketservicequality,andtheimprovementofcompetitiveness.Trainticketmanagementsystemwhichbasedonnetworkreplacedthetraditionalticket-sellingsystem.Thisnewsystemtoconvenientpassengersbookingticket,whichalsoimprovedthemanagementandoperatingofrailwaydepartmentmoreefficiency.Thus,ticketmanagementsystemisaimportantsolutiontothecurrentissuesofthedevelopmentofthetraintransport.Thispaperillustratedthecurrentstatusofrailwaytransportticketingandtrainticketmanagementsystem.Whichspeciallystatedthedevelopmentandintroductionoftheprincipleofthewholesystem.Keywordsticket;ticketingsystem;booking;managementsystemii目

录摘要………………iAbstract………………………….ii前言………………1第一章系统来源与意义………………………..31.1题目的来源与意义.……………………..31.1.1题目的来源……………………….31.1.2题目的意义……………………….31.2系统概述………………..31.3本文的工程背景及论文结构…………...31.3.1工程背景………….31.3.2论文结构………………………...31.4小结……………………...4第二章

JavaWeb技术介绍…………………..32.1JavaWeb技术应用现状………………..52.2Web开发技术简介……………………52.2.1Web开发技术的发展历史………..52.2.2JavaWeb开发的背景……………..52.2.3JavaWeb开发模式简介…………..62.2.4JavaWeb开发所涉及的框架及技术……………..62.3Struts2简介………………62.4Struts2的工作流程………………………72.5Struts2与Struts1的区别………………..72.5.1Action类..…………72.5.2线程模式..………………………...72.5.3Servlet依赖………………………..72.5.4可测性…………….82.5.5捕获输入………….82.5.6表示式语言……………………...82.5.7绑定值到页面(view)………….82.5.8校验……………...92.5.9Action执行的控制………………92.6系统开发工具和开发语言……………...92.6.1系统开发工具…………………...92.6.2系统开发语言…………………...102.7小结…………………….10第三章

火车票售票管理系统需求分析……………………..113.1开发必要性..…………...113.2可行性分析…………….113.2.1经济可行性……………………...113.2.2技术可行性……………………...113.2.3对同类系统的分析……………...113.3系统逻辑模型的提出………………….113.4功能需求……………...123.4.1登录系统………………………123.4.2售票及退票……………………...133.4.3车票管理………………………133.5小结…………………….13第四章

火车票售票管理系统概要设计……………………..144.1系统功能设计………….144.2系统功能模块介绍…………………….154.2.1登录与模块……………………...154.2.2注册模块………………………...154.2.3查询模块………………………...154.2.4订票模块………………………...154.2.5用户管理模块…………………...154.2.6车票管理模块…………………...154.3小结…………………….15第五章

详细设计与实现……………………165.1系统数据库设计……………………….165.1.1概念结构设计…………………...165.1.2逻辑结构设计…………………...165.1.3物理结构设计…………………...175.2系统准备……………….185.3关键业务流程描述…………………….195.3.1售票管理………………………...195.3.2用户管理………………………...195.4模块代码实现………….195.4.1订票查询模块…………………...195.4.2订票模块………………………205.4.3用户管理模块…………………...215.5小结…………………….21第六章

系统测试……………226.1软件测试的目标……………………….226.2登陆测试……………….226.2.1登陆成功………………………..226.2.2登录失败………………………...236.3订票测试……………….236.4退票测试……………….246.5强制退票测试………….246.6删除车票测试………….256.7小结…………………….25结论……………..26参考文献………………………..27致谢……………..28火车票售票管理系统的设计与实现前

言用信息化推动工业化,用信息化技术改造传统产业,这是中国迫切需要完成的一项战略任务。作为工业文明产物的铁路,如何借重于信息经济技术的帮助,实现管理方式、运营组织、服务标准的现代化这是摆在中国铁路管理者面前的重大课题。铁路信息化是铁路线代化的主要标志,其根本目的是将信息技术广泛应用于铁路生产经营与管理决策的各项活动中,改造传统产业,提高铁路运输生产效率、提升铁路运输市场的竞争力,提高铁路运输的经济效益。自1975年铁道部电子中心开始筹备以来,经过20多年的历程,铁路信息化事业从无到有,逐步发展,特别是TMIS等系统建设以来,铁路信息化建设已经初具规模。主要体现在以下几个方面。建立了一支全路统一管理的信息化队伍。各铁路局、铁路分局分别成立了电子中心和电子所,业务上都由铁道部电子中心归口管理。按照年的统计,人员总数达到多人,80%以上为大专以上毕业生,人员素质较高。在主要站段建立了电算室,承担基层信息系统维护、管理工作,业务上由分局电子所指导。已经形成的这支从部到局到分局到站段的全路电算系统,承担起了全路信息系统建设的研发、实施、投产和维护管理任务。建立了覆盖部、局、分局和主要站段的计算机网络。现在全路已有大、中、小型计算机1600余台,微型计算机近10万台,在部、局、分局、主要站段均建立起了内部的计算机网络,并经过光缆互相连接,形成了覆盖全路的4级计算机网络,为铁路信息化建设提供了基本的网络平台,在国内处于领先水平。铁路计算机应用达到一定水平。铁路计算机从简单的单机应用,以18点报告为代表的统计项目,逐步发展到今天涉及了全路各部门,覆盖了运输和车辆、机车、工务、电务、财务、统计、办公等铁路各系统,功能深入到铁路运输生产内部环节的全路全网型实时性系统。特别是TMIS建设以来,确报、货票、车站系统、货运营销与生产管理、客票系统、自动抄车号、局间分界站货车使用费清算、客运清算等系统陆续投入使用,其中客票系统信息化成绩尤为突出。当前,全国铁路共建成计算机售票站1741个,联网售票车站774个。客票系统的推广使用,标志着中国铁路客票计算机发售进入到一个全新的阶段,也为延伸服务在技术上1火车票售票管理系统的设计与实现准备了必要的条件。采用计算机出售火车票大大方便了旅客购票,但毕竟还局限于火车站的售票厅和市内售票处的售票窗口,不论在地理位置分布上还是售票窗口的数量上,都有一定的局限性。为了解决售票大厅拥挤和团里集中购票的问题,提高铁路客运的售票效率及旅客便利性,使铁路客运在竞争日益激烈的运输行业更具优势。本系统的设计理念就是为了,解决车站购票厅及各购票网点旅客拥挤、购票困难的问题。系统采用了MyEclipse6.5+MySql5.1数据库的两层管理模式,开发平台为:WindowsXpHomeEdition,利用JavaWeb开发中的struts2技术,实现网络购票和管理。用户和管理员只需打开IE浏览器,进入购票网站利用用户名、密码登陆系统,即可购票。实现了居家方便购票及对票的自主管理。2火车票售票管理系统的设计与实现第一章论文概述1.1题目的来源与意义1.1.1题目的来源现在人们更多的使用火车作为出行交通工具,因此车票票务市场也在快速发展。人们希望车票销售手段也能相应地有所调整,并对如何能经济、方便和及时地购买到自己所需要的车票表现出极大的关注。随着社会的不断进步,国内外铁路运输事业的飞速发展,各国铁路运营部门对票务管理的要求也在不断的提高,本系统就是针对这种日益增长的需求而进行开发的。1.1.2题目的意义随着旅游业的逐渐的成熟发达,铁路客运量大幅度的提高,国内旅游专线的增加,这些都对铁路的售票管理系统提出了更高的要求,因此要不断的完善更新铁路售票系统,提高铁路售票系统的工作效率。铁路运输系统中,售票系统是很重要的一个环节,要想提高整个铁路运营部门的工作效率,就要先提高售票系统的工作效率和安全性,故而研发此系统,此系统能够为售票工作提供方便快捷的售票服务,广大的客户能够得到更好的票务服务。1.2系统概述本系统实现一个火车票售票管理系统,经过考察分析,构建出数据库,而且实现票务管理模块和客户信息管理模块。本系统的开发严格遵守软件工程开发的标准流程。经过对各个单模块的实现来完成最后软件总体功能的实现。经过考察,进行需求分析,画出ER图和功能模块结构图。在模块设计的同时进行单元测试,最后对自己的设计做评价和总结。1.3本文的工程背景及论文结构1.3.1工程背景本系统是”基于struts2的网页自主火车车票售票管理系统”的开发,在此项目开发中涉及到JavaWeb的相关应用,利用MyEclipse平台及MySql数据库构建服务器平台,应用Struts2技术实现在线购票和在线管理的Web服务,从而达到解决旅客购票困难问题的3火车票售票管理系统的设计与实现目的。1.3.2论文结构本文以”基于struts2的网页自主火车车票售票管理系统”的开发为依托,较为详细地研究Struts2的概念、技术与应用中的核心,涉及到以下几个方面的内容:

介绍Struts2的基础知识,以及Struts2是如何工作的。介绍”基于struts2的网页自主火车车票售票管理系统”的开发过程,及具体流程。介绍”基于struts2的网页自主火车车票售票管理系统”中的数据应用。介绍”基于struts2的网页自主火车车票售票管理系统”中各模块的功能及具体实现过程。1.4小结本章对论文及系统进行了简单的介绍,并对论文的工程背景及论文结构进行了简单的说明。4火车票售票管理系统的设计与实现第二章JavaWeb技术介绍2.1JavaWeb技术应用现状近几年,Web程序发展异常迅猛,不但出现了形形色色的购物网站、交友网站、银行自助系统等,还出现了像PalmOsWeb操作系统、能够代替Office等传统办公软件的GoogleDocument等强大的Web程序。这些主要得益于Web程序的瘦客户端的特点,即不需要客户安装任何软件只需要使用浏览器即可完成操作。Web程序能够非常简单,简单到只有几个HTML页面,几个图片,例如小型企业的介绍性网站等。也能够非常复杂,例如GoogleDocument网站,完全能够替代Word、Excel、PPT、PDF阅读器等;GoogleTalk也能够替代QQ、MSN等。实现这些Web程序所用到的技术也很多,最流行的有微软的.NET技术和Java相关技术[1]。Java相关技术作为最流行的开发技术之一,在Web开发领域也有着广泛的应用。但JavaWeb开发所涉及的技术比较繁杂,涉及了很多开发框架和工具,而且它们各有所长,并不完全是一个完善的体系。这对需要掌握JavaWeb开发的人来说,有一定的困难。2.2Web开发技术简介2.2.1Web开发技术的发展历史Web这个Internet上最热门的应用架构是由TimBerners-Lee创造的。Web的前身是1980年TimBerners-Lee负责的Enquire(EnquireWithinUponEverything的简称)项目。1990年11月,第一个Web服务器nxoc01.cern.ch开始运行,TimBerners-Lee在自己编写的图形化Web浏览器WorldWideWeb上看到了最早的Web页面。1991年,CERN(EuropeanParticlePhysicsLaboratory)正式发布了Web技术标准。当前,与Web相关的各种技术标准都由著名的W3C组织(WorldWideWebConsortium)管理和维护[2]。2.2.2JavaWeb开发的背景网站有静态、动态之分。静态网站的内容都是静态的、不可变的,网站发布后,无论是谁、什么时候访问,得到的内容都是一样的。静态网站一般不涉及编程,只需要编写几个HTML文件,连同图片等放到服务器上即可。静态网站一般不称为Web程序。而动态网站的内容是能够变化的。动态网站一般配合数据库使用,数据存储在数据库中,经过网络程序动态添加,显示数据。动态网站能够用多种语言编写,例如CGI、PHP、5火车票售票管理系统的设计与实现ASP、JSP、.NET、Perl等。其中应用最广的就是Java。因为Java是一种开源的、跨平台的、面向对象的编程语言,有着众多的免费资源和标准可供选择,例如Struts、Struts2、Hibernate、Spring等[10]。2.2.3JavaWeb开发模式简介因为JavaWeb的官方规范是有一个名为JCP的开放组织制定的,任何人都能够参与标准的制定,因此她的开发模式是走在世界前列的。JavaWeb提出了一些革命性的、颠覆传统的开发模式,例如分层模式(Model2模式)、AOP(面向切面编程)等[2]。除了JCP制定的官方规范,还有一些广泛流行的非官方模式和设计思想。大名鼎鼎的Struts、Struts2、Hibernate等都是非官方的框架。这些非官方的开发模式甚至超越了官方提出的模式[3]。2.2.4JavaWeb开发所涉及的框架及技术JavaWeb编程包括两部分:服务器端执行的代码和客户端执行的代码。服务器端执行的代码即Java,用于生成HTML、CSS、JavaScript等浏览器端可执行的代码。服务器端编程可用的技术有Servlet、JSP、Struts、、Spring、Hibernate、EJB、WebService等。浏览器能够显示HTML、CSS代码,并能够执行JavaScript脚本程序。JavaScript与Java并不是一种语言,语法也不一样,运行的环境也不一样。对于一般的动态网站,可以不使用JavaScript[4]。2.3Struts2简介虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts1而言。Struts2与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts1和WebWork两者的优势,因此,是一个非常值得期待的框架[5]。ApacheStruts2是一个优雅的,可扩展的JAVAEEweb框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。ApacheStruts2即是之前大家所熟知的WebWork2。在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts26火车票售票管理系统的设计与实现2.4Struts2的工作流程当接收到一个httprequest。Interceptor做一些拦截或者初始的工作。当外部的httpservletrequest到来时。初始到了servlet容器传递给一个标准的过滤器链。ActionContextCleanUp这个在集成插件方面非常有用。调用FilterDispatecher会去查找相应的ActionMapper。如果找到了相应的ActionMapper它将会将控制权限交给ActionProxy。ActionProxy将会经过ConfigurationManager来查找配置struts.xml。下一步将会通过ActionInvocation来负责命令模式的实现(包括调用一些拦截Interceptor框架在调用action之前)。一旦action返回,会查找相应的Result。Result类型能够是jsp或者freeMark等。这些组件和ActionMapper一起返回给请求的url(注意拦截器的执行顺序)。响应的返回是经过我们在web.xml中配置的过滤器。如果ActionContextCleanUp是当前使用的,则FilterDispatecher将不会清理。如果ActionContextCleanUp不使用,则将会去清理sreadlocals[5]。2.5Struts2与Struts1的区别2.5.1Action类Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。Struts2Action类能够实现一个Action接口,也可实现其它接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常见的接口。Action接口不是必须的,任何有execute标识的POJO对象都能够用作Struts2的Action对象[6]。2.5.2线程模式Struts1Action是单例模式而且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1Action能做的事,而且要在开发时特别小心。Action资源必须是线程安全的或同步的。Struts2Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,而且不会导致性能和垃圾回收问题)2.5.3Servlet依赖Struts1Action依赖于ServletAPI,因为当一个Action被调用时HttpServletRequest7火车票售票管理系统的设计与实现和HttpServletResponse被传递给execute方法。Struts2Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2Action仍然能够访问初始的request和response。可是,其它的元素减少或者消除了直接访问HttpServetRequest和HttpServletResponse的必要性。2.5.4可测性测试Struts1Action的一个主要问题是execute方法暴露了servletAPI(这使得测试要依赖于容器)。一个第三方扩展--StrutsTestCase--提供了一套Struts1的模拟对象(来进行测试)。Struts2Action可以经过初始化、设置属性、调用方法来测试,”依赖注入”支持也使测试更容易[7]。2.5.5捕获输入Struts1使用ActionForm对象捕获输入。所有的ActionForm必须继承一个基类。因为其她JavaBean不能用作ActionForm,开发者经常创建多余的类捕获输入。动态Bean(DynaBeans)能够作为创立传统ActionForm的选择,可是,开发者可能是在重新描述(创立)已经存在的JavaBean(依然会导致有冗余的javabean)。Struts2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。输入属性可能是有自己(子)属性的rich对象类型。Action属性能够经过web页面上的taglibs访问。Struts2也支持ActionForm模式。rich对象类型,包括业务对象,能够用作输入/输出对象。这种ModelDriven特性简化了taglib对POJO输入对象的引用。2.5.6表示式语言Struts1整合了JSTL,因此使用JSTLEL。这种EL有基本对象图遍历,可是对集合和索引属性的支持很弱。Struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言--"Object-GraphNavigationLanguage"(OGNL对象图导航语言)[7].2.5.7绑定值到页面(view)Struts1使用标准JSP机制把对象绑定到页面中来访问。Struts2使用"ValueStack"技术,使taglib能够访问值而不需要把你的页面(view)和对象绑定起来。ValueStack策略允许经过一系列名称相同但类型不同的属性重用页面(view)。8火车票售票管理系统的设计与实现2.5.8校验Struts1支持在ActionForm的validate方法中手动校验,或者经过CommonsValidator的扩展来校验。同一个类能够有不同的校验内容,但不能校验子对象。Struts2支持通过validate方法和XWork校验框架来进行校验。XWork校验框架使用为属性类类型定义的校验和内容校验,来支持chain校验子属性。2.5.9Action执行的控制Struts1支持每一个模块有单独的RequestProcessors(生命周期),可是模块中的所有Action必须共享相同的生命周期。Struts2支持经过拦截器堆栈(InterceptorStacks)为每一个Action创建不同的生命周期。堆栈能够根据需要和不同的Action一起使用[8]。2.6系统开发工具和开发语言2.6.1系统开发工具火车票售票管理系统是应用于内部局域网,或借助广域网而运用于企业内部的软件系统。本软件系统使用Eclipse作为开发工具。Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于经过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不但限于此。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许她们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。Eclipse是一个开发源码项目,它其实是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但由于其开放源码,任何人都能够免费得到,并能够在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可[9]。2.6.2系统开发语言本系统采用的是Java作为开发语言。Java是由SunMicrosystems公司于1995年5月9火车票售票管理系统的设计与实现推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下:1、Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。总之,Java语言是一个纯的面向对象程序设计语言。2.7小结本章开始主要对JavaWeb开发做了简单的介绍,之后又对JavaWeb开发中的Struts2技术做了简单说明,介绍了Struts2的基本框架和工作流程,详细叙述了Struts2技术在JavaWeb中的地位和发展趋势。10火车票售票管理系统的设计与实现第三章火车票售票管理系统需求分析3.1开发必要性随着中国市场经济的快速发展和信息化水平的不断提高,如何利用先进的管理手段,提高火车售票管理系统的水平,是当今社会所面临的一个课题。提高企业的管理水平,必须全方位地提高企业的管理意识。只有高标准、高质量的管理才能满足铁路的发展需求。面对信息时代的挑战,利用高科技手段来提火车售票管理系统无疑是一条行之有效的途径。在某种意义上,信息与科技在企业管理与现代化建设中显现出越来越重要的地位。火车售票管理系统方面的信息化与科学化,已成为现代化生活水平步入高台阶的重要标志。3.2可行性分析3.2.1经济可行性本系统开发简单但要耗去一定的时间,所用的开发工具和软件都差不多是免费的。而且,由于系统能够在未来较长的一段时期内稳定地发挥作用,这对于铁路售票自动化管理,节省人力、物力资源等都有很大的帮助。由此可见,开发此系统在经济上是完全可行的。3.2.2技术可行性从当前IT业界比较流行的数据库开发、管理软件来看,对于售票管理系统这一类对数据要求比较严格的系统,Eclipse和MySql的结合无疑是在实际应用中较为成功的一种解决方案。为用户提供了软件开发一直坚持的非常友好、操作简单的用户界面、完善强大的数据库操作功能和简洁明了的数据库接口。因此技术实行起来相对会容易。3.2.3对同类系统的分析有关售票管理系统的软件市面上有不少,试用一些,但总觉得不是很好用,不能完全满足我们的要求,因此都放弃用这些软件了,改为每次输入数据后,用手工更改数据库查看票务信息,客户信息,随着业务的发展,数据量越来越大,用手工查看就很麻烦了,所以,迫切希望有一套完全适合铁路售票管理应用的软件,以减轻管理人员的工作负担。3.3系统逻辑模型的提出为了实现管理信息系统的计算机化,仅仅用文字来描述信息的流动和存储还远远不够,还要进一步调查分析舍去物质流,抽象出信息流,绘制出数据流程图,并对各种数据11火车票售票管理系统的设计与实现的属性和各项处理功能进行详细分析。系统分析的主要成果是系统的逻辑模型。本系统主要是以数据流程图、E-R图和系统功能模块图为主要描述工具来勾画系统的概貌。在仔细分析调查有关售票管理信息需求的基础上,将得到如下图3-1所示的本系统所处理的数据流程。用户注册

车票设置用户信息录入用户信息管理

图3-1

管理员设置管理员录入订票信息录入订票管理火车票售票管理系统数据流程图

车票信息录入车票信息录入3.4功能需求3.4.1登录系统登录系统是指系统的两类用户访问系统并应用自己权限内的功能。包括一般用户登录,系统管理员登录。一般用户登录一般用户登录,一般用户经过浏览器访问该系统的网址,登录到系统的首页并在页12火车票售票管理系统的设计与实现面的提示下做自己权限内的操作,包含注册信息修改、车票查询、订票、查看购票车和退票。管理员登录系统管理员登录,系统管理员在输入用户名和密码后,系统自动识别身份跳转到管理员页面。登录系统后,系统会显示出系统管理员所具有的所有操作权限,包括查看用户信息、删除用户、查看用户购票车、强制用户退票、浏览车票信息、修改车票、删除车票、添加新票等。3.4.2售票及退票火车票的售票是只针对于用户的,用户在登录后进行车票查询,选择车票进行购购票。退票是针对用户和管理员的。用户在登录后能够选择购票和对购销车内的票执行退票。管理员在登录属于自己的工作平台后,能够查看用户购票车对其执行强制退票。3.4.3车票管理车票的管理是针对于系统的管理员权限内的操作。列车及车票的管理包括火车票的添加、火车票的删除、火车票的修改。添加车票火车票的添加是系统管理员向系统的数据库中添加新的车票。新的车票添加到数据库中后,售票员能够出售这些新添入的车票。删除车票火车票的删除是系统管理员将过期的车票或者是系统中已经不存在的列车的车票删除。比如当日已经发出的列车的车票车站已经停运的列车的车票都属于过期的车票。这样的车票不能在出售,因此要从系统的数据库中将它们删除。管理员在删除车票的同时,要对已定该票的用户执行强制退票操作。修改车票火车票的修改是系统管理员对系统中信息有误的车票或者临时有变动的车票进行信息更新。管理员在修改车票的同时,要对已定该票的用户执行强制退票操作。3.5小结本章对系统的需求分析做了详细的说明,并对系统的主要功能及开发环境做了明确的介绍。13火车票售票管理系统的设计与实现第四章火车票售票管理系统概要设计4.1系统功能设计本系统包含用户子系统和管理员子系统两个子系统,每个子系统包换了若干子功能模块,每个子功能模块完成相应的处理操作功能。其中管理员的权限是大于用户的。基本设计流程如下图4-1所示:火车票售票管理系统用户子系统

管理员子系统用户信息修改

用户查票订票

用户信息修改

用户信息管理

车票信息管理

添加更新车票图4-1

系统功能图由图4-1可知,当系统启动后,用户需要经过验证进入系统。系统根据用户的验证判断用户的权限,当是管理员用户登录时会转入管理员功能模块,否则转入用户模块。成功登录后,用户能够完成权限限制内的操作,即当前能够操作的功能模块。用户操作时,系统自动判断用户所想要调用的功能子模块,并提交给用户,在用户完成操作后能够退出系统。14火车票售票管理系统的设计与实现4.2系统功能模块介绍4.2.1登录与模块主要完成登录功能,用户由键盘输入用户名和密码,系统进行判断进入用户页面或者管理员页面,从而进行相关操作。4.2.2注册模块完成用户注册功能,用户录入个人信息及设置用户名和密码。4.2.3查询模块用户登录后进行票查询,进而进行订票操作。4.2.4订票模块用户在进行查询操作后可进行订票操作,将想要购买的车票放入购票车。4.2.5用户管理模块管理员登录成功后能够查看所有用户以及除用户密码以外的所有用户信息,可对用户进行删除操作,也可进入用户个人购票车,查看用户购票信息并能够对用户进行强制退票操作。4.2.6车票管理模块管理员在登陆成功以后,能够查看所有车票信息,并对车票进行删除、修改、和添加操作。4.3小结本章对系统的概要设计做了详细的说明,主要对系统功能及模块做了明确的介绍。15火车票售票管理系统的设计与实现第五章详细设计与实现5.1系统数据库设计5.1.1概念结构设计该系统所采用的数据库是MySql。概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。概念模型使设计者的注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结构和处理模式上。概念模型具有以下的特点:1.概念模型是对现实世界的抽象和概括,它真实、充分地反映了现实世界中事物和事物之间的联系,能满足用户对数据的处理要求。2.由于概念模型简洁、明晰、独立于计算机,很容易理解,因此能够用概念模型和不熟悉计算机的用户交换意见,使用户能积极参与数据库的设计工作,保证设计工作顺利进行。3.概念模型易于更新,当应用环境和应用要求改变时,容易对概念模型修改和扩充。5.1.2逻辑结构设计概念结构设计所得的E-R模型是对用户需求的一种抽象的表示形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的DBMS所支持。为了能够建立起最终的物理系统,还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则、数据的语义约束、规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户子模式。这就是数据库逻辑设计所要完成的任务。数据库逻辑结构的设计分为两个步骤:首先将概念设计所得的E-R图转换为关系模型;然后对关系模型进行优化。在火车票售票管理系统当中包括了以上几个ER模型向关系模型的转换:用户信息表(用户名,密码,生日,真实姓名,身份证号码,管理员标志位)车票信息表(车票编号,始发站,终点站,日期,发车时间,车次,车厢,座位号,是否卧铺,是否有票标志位)购票车表(车票编号,用户名)16火车票售票管理系统的设计与实现E-R图如下图5-1:密码

生日

真实姓名

身份证号码是否有票

用户名

用户1购票车

管理员标志位是否卧铺标志位N编号始发站

终点站

日期

车票

发车时间

座位号车厢车次图5-1火车票售票管理系统数据库E-R图5.1.3物理结构设计数据设计具体如下表5-1,表5-2,表5-3:17火车票售票管理系统的设计与实现表5-1

火车票售票管理系统用户表(user)编号123456

字段名称userNamepassWordbirthDaytrunNamecardsign

字段类型varcharvarcharvarcharvarcharvarcharint

字段说明用户表主键,用户名密码生日真实姓名身份证号码管理员标志位表5-2火车票售票管理系统票信息表(ticket)编号12345678910

字段名称idstartdestinationdatatimetrainNumtrainBoxseatsleepsign

表5-3

字段类型intvarcharvarcharvarcharvarcharvarcharintintvarcharint购票车信息表(raletion)

字段说明表主键,车票编号始发站终点站日期发车时间车次车厢座位号是否卧铺是否有票标志位编号12

字段名称userNameid

字段类型varcharint

字段说明用户名表主键,车票编号5.2系统准备系统选用的服务器是Tomcat6.0,后台数据库选用的是MySql。系统的开发工具选用18火车票售票管理系统的设计与实现的是Eclipse6.5。5.3关键业务流程描述前台票据信息显示功能模块组成本系统的前台系统;火车票订票查询、火车票管理、订票管理和用户管理组成本系统的后台系统。前台系统主要显示系统的数据内容;后台系统是维护系统的数据、前台数据内容显示的格式和版式,以及用户、角色的管理等。后台系统中的火车售票管理流程比较复杂,它涉及到火车售票管理模块和火车订票查询模块。5.3.1售票管理后台系统中的火车售票管理流程比较复杂,它涉及到火车售票管理模块和火车订票查询模块,如果票据信息存在附件,它还需要涉及到上载票据信息附件等功能。在添加、修改和删除票据信息时,该票信息将要变化或删除,可能已经背离用户购买该票的本意,这就首先要记录该票的编号,在购票车表中删除该票的记录即使用户强制退订该票,其次在车票信息表中将该票是否有票标志位置为1或删除该票信息。5.3.2用户管理在注册用户中可能存在一些非法用户,这就需要管理员能够浏览用户除密码以外的信息并能对非法用户进行删除。在对用户进行删除操作时,用户所订购的车票需要被强制退订,在购票车表中跟该用户有关的信息需要被删除。5.4模块代码实现5.4.1订票查询模块火车票售票管理系统中的查询模块,主要是查询当前有票的火车票信息,实现用户方便订票。相关代码如下:publicclassticketListextendsActionSupport{privateListallTicket;publicListgetAllTicket(){returnallTicket;}publicvoidsetAllTicket(ListallTicket){this.allTicket=allTicket;}19火车票售票管理系统的设计与实现publicStringexecute(){ticketDaotd=newticketDao();allTicket=td.allTicket();returnSUCCESS;}}5.4.2订票模块订票模块在将票信息输出显示之后,对选中车票进行订购。实现代码如下:publicclassbuyTicketextendsActionSupport{privateintticketId;privateTicketVoticket;publicTicketVogetTicket(){returnticket;}publicvoidsetTicket(TicketVoticket){this.ticket=ticket;}publicintgetTicketId(){returnticketId;}publicvoidsetTicketId(intticketId){this.ticketId=ticketId;}publicStringexecute(){ticketDaotd=newticketDao();td.bookTicket(ticketId);returnSUCCESS;}}20火车票售票管理系统的设计与实现5.4.3用户管理模块用户管理模块实现对用户信息及用户订票信息的管理,实现代码如下:publicclassuserListextendsActionSupport{privateListallUser;publicListgetAllUser(){returnallUser;}publicvoidsetAllUser(ListallUser){this.allUser=allUser;}publicStringexecute(){userDaotd=newuserDao();allUser=td.allUser();returnSUCCESS;}}5.5小结本章对系统的详细设计做了说明,主要对系统的数据库设计、主要业务流程及实现代码做了明确的介绍。21火车票售票管理系统的设计与实现第六章系统测试6.1软件测试的目标软件测试的目标是想以最少的时间和人力发现软件中潜在的各种错误和缺陷。如果成功的实现了测试,就能够发现软件中的错误。测试的另一个收获是它能够证明软件的功能和性能与需求说明相符,同时实施测试收集到的数据为可靠性分析提供了依据。6.2登陆测试6.2.1登陆成功系统中输入正确的用户名和密码,进行登录。如下图6-1,6-2:图6-1登陆界面22火车票售票管理系统的设计与实现图6-2登陆成功6.2.2登录失败用户名或密码错误或者用空用户名及密码登录会导致登录失败。如图6-3:图6-3登陆失败6.3订票测试用户订票后,原车票将会在车票查询菜单中消失,并出现于用户的购票车中。如图6-4,6-5,6-6:图6-4订票前查询菜单图6-5订票后查询菜单23火车票售票管理系统的设计与实现图6-6订票后用户购票车6.4退票测试用户订票后,原车票将会出现于用户的购票车中,此时用户能够对显示出的车票进行退票操作。如图6-7,6-8:图6-7购票车中的退订操作图6-8退订结果6.5强制退票测试管理员进入系统后,能够进入用户的购票车查看,执行强制退票操

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论