jsp客运售票系统ssh论文_第1页
jsp客运售票系统ssh论文_第2页
jsp客运售票系统ssh论文_第3页
jsp客运售票系统ssh论文_第4页
jsp客运售票系统ssh论文_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

图书分类号:密级:毕业设计(论文)客运售票系统的设计与实现Xuzhousouthstationpassengertrafficticketsystem学生姓名学院名称专业名称指导教师年月日徐州工程学院毕业设计(论文)PAGEIII徐州工程学院学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用或参考的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标注。本人完全意识到本声明的法律结果由本人承担。论文作者签名:日期:年月日徐州工程学院学位论文版权协议书本人完全了解徐州工程学院关于收集、保存、使用学位论文的规定,即:本校学生在学习期间所完成的学位论文的知识产权归徐州工程学院所拥有。徐州工程学院有权保留并向国家有关部门或机构送交学位论文的纸本复印件和电子文档拷贝,允许论文被查阅和借阅。徐州工程学院可以公布学位论文的全部或部分内容,可以将本学位论文的全部或部分内容提交至各类数据库进行发布和检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。论文作者签名:导师签名:日期:年月日日期:年月日摘要随着我国铁路交通的不断发展,简单的窗口售票模式已经不能满足方便人们出行的目的。采用先进的网络技术开发出方便快捷的网上订票系统是现代客运业务发展的必然需求。本次设计的车票网上订票系统通过访问主页,可以实现个人信息注册、车次车票价格查询、在线订票退票等基本功能,为用户提供方便快捷的订票服务。本系统采用了B/S模式的结构设计,采用Java语言开发。界面设计采用MyEclipes作为前台应用开发工具。后台选用MySQL数据库进行支持,采用MySQLWorkbench提供数据库可视化设计、模型建立、以及管理功能。利用目前比较流行的Tomcat6.0搭建Web应用服务器,提供通过网页访问功能。采用MVC开发模式实现系统的高内聚低耦合,确保系统的扩展性和安全性。关键词:网上订票;车票;MyEclipse;B/S模式AbstractWiththecontinuousdevelopmentofChinarailroadtransportation,thesimplewindowticketsalesmodecannotmeetthepurposetomakepeopletravelconvenient.Usingtheadvancednetworktechnologytodevelopconvenientandfastonlineticketsbookingsystemisthenecessaryofmodernpassengertransportbusiness.Throughthehomepage,theonlinetrainticketsbookingsystemachievedsomebasicfunctionssuchaspersonalinformationregistration,trainlinesinquiryandpricesinquiryonlineticketsbookingandrefundingandsoon,thatcanprovideconvenientandfastserviceforusers.TheB/Smodewasadoptedinthesystemforthestructuraldesign,anddevelopedbyJavalanguage.Intheinterfacedesign,theMyEclipes10.5wasusedasthefrontdesksoftwaredevelopingtool,andMySQLdatabasewasusedtosupportthebackground.BymeansoftheMySQLWorkbench,itprovidesdatabasevisualdesign,modelestablishment,andmanagementfunction.ItwasusedthatpresentpartlyfashionableTomcat6.0tobuildtheWebAS,andtovisitwebfunction.TheMVCdevelopmentmodulewasusedtoimplementthesystem'shighcohesiontogetherwithlowcouplingtomakesuretheexpansibilityandsafetyofthesystem.Keywords:TicketsonlinebookingTrainticketsMyEclipseB/Smodule徐州工程学院毕业设计(论文)PAGEII目录摘要 IIAbstract III1绪论 11.1车票网上订票系统的开发背景 11.2研究现状及发展趋势 21.3系统设计目标 32车票网上订票的技术实现 42.1使用JAVA技术的优点 42.2JAVA技术的应用 62.2.1JAVA应用程序和小应用程序 62.2.2Hibernate、Servlet、JSP和JavaBeans 62.3MyEclipse简介 82.4MySQL简介 93网上订票系统的分析与设计 103.1可行性研究 103.1.1技术可行性 103.1.2经济可行性 103.1.3操作可行性 103.2系统需求分析 113.2.1功能需求 113.2.2性能需求 113.3网上订票系统的开发方法 133.4网上订票系统的体系结构设计 143.4.1C/S和B/S体系结构 143.4.2网上订票系统基于Web的三层结构设计 153.5系统的总体结构 173.6业务流程图 193.7数据流图 204网上订票系统的实现 224.1数据库介绍 224.2概念设计 244.3逻辑设计 264.4系统实现 295系统的开发工具和运行环境 355.1系统运行环境的搭建 355.1.1JAVA虚拟机的安装 355.1.2Tomcat环境搭建 355.1.3系统软硬件要求 355.2系统程序的安装和加载 365.2.1文件的拷贝 365.2.2数据库的连接 366网上订票系统测试 376.1系统测试的目标 376.2测试的实现 376.2.1模块测试 376.2.2系统及子系统测试 37结论 39致谢 40参考文献 411绪论1.1车票网上订票系统的开发背景车站市场的管理和规范问题,是困扰我们多年的一个老问题,订票是客运业务中的一个最基本的业务,表面上看,它只是车站业务的一个简单的部分,但是它涉及到管理与客户服务等多方面,因此,过去传统的售票方式已经不能满足现代客运业务流量剧增的客观要求,这就要求一种全新的订票方式——网上订票,来缓解订票高峰时期的客运压力,并为用户提供方便快捷的订票服务。本次设计便是利用开发工具MyEclipes和MySQL数据库共同开发的一个车站网上订票系统,它能方便快捷地运用在车站订票业务的营运之中。1.2研究现状及发展趋势目前,国内外车站售票信息管理管理一般采用两种方式:一种纯手工管理;另一种则是利用一些较老的或是以别的系统为底板改版而成的系统来进行管理。但这两种方法都有各自的弊端:前一种方法由于参与管理者的文化水平不一,字迹不一,互相之间会导致信息传达不便,而且纸质信息传载媒体有着一个很大的弱点就是容易损坏,造成信息丢失;后一种方法虽然解决了信息传达、信息保存的问题。但存在一个更致命的缺点:系统安全问题得不到保证。在当前的信息化时代中,任何车站售票,都需要一个实用的车站售票管理系统来规范车站售票信息管理管理,这将会大大提高车站售票的管理水平,优化资源,实现效益的最大化。现在国内外也有很多车站售票信息管理管理的软件,采用的技术也是多种多样,如基于JSP、FTP模式,但大多数车站售票管理系统主要用于大型车站售票的关键部门。至于小型车站售票,利用车站售票管理系统组织管理服务活动的并不多。针对国内外对车站售票信息管理软件的巨大需要和基本需要,一个好的车站售票信息管理软件,必须功能齐全,操作简便,向用户展示友善的操作界面。在完善功能的同时又必须兼顾系统的灵活性,安全性,健壮性。一个好的服务管理系统,不管是计算机专业人员还是其他用户都能很快上手,操作简单,便于安装,容易普及。车站售票管理系统的优势主要表现在两个方面:①、车站售票信息管理无纸化,环保又方便。传统的车站售票信息管理方式,都是经由工作从员手工记录存档。这种传统的纸质车站售票信息管理管理,一是会有很大的体力消耗,二是在精力上也是不小的付出,而且这种辛苦在很多时候往往没能得到满意的回复。而无纸化车站售票信息管理,只需在电脑前点点鼠标,在体力上几乎没有多大的消耗,而且在环保、效率、针对性服务指导方面做得要比传统的车站售票信息管理管理科学得多。②、科学管理,安全可靠。传统的车站售票信息管理管理方式,都是一份份独立的车站售票信息管理,一个部门对应一份,而这么一撂的设计,经常会由于各种原因,丢失或是污损,给车站售票信息管理管理和服务进程带来很大的麻烦和不便。而车站售票管理系统的动作,只需做好系统数据库的保护,以上问题可以迎刃而解了。1.3系统设计目标本系统是利用网络的方便、快捷和计算机的准确、高效实现车站票网上订票系统。车站票网上订票系统是通过主页访问、身份识别实现区别不同身份用户完成车票、车次的管理操作。系统有三个大的功能模块:登录功能模块,验证登录信息;管理员功能模块,实现车票和车次管理;普通用户功能模块,实现车票和个人信息管理。2车票网上订票的技术实现Java是一种基于网络计算的开发语言,基于Java开发的应用程序是基于WEB的,另外由于JAVA的平台无关性,使得应用程序可以运行在不同硬件平台、不同操作系统平台上。因此,JAVA自诞生以来,受到了各软、硬件厂商的广泛支持。最近,各大型数据库厂商纷纷宣布他们的产品能更好地支持INTERNET,支持JAVA。并且很多应用软件厂商纷纷推出了采用JAVA开发的应用程序。随着INTERNET的迅速发展,应用软件的开发工具转向JAVA是一种必然的趋势,它代表着未来软件开发技术的潮流,JAVA的良好表现证明它是一种成熟的、可靠的开发语言。本论文中实现的网上订票系统就是基于JAVA技术的,因此,在本章将对JAVA及相关技术作一个简要的介绍。2.1使用JAVA技术的优点JAVA是非常新的一种语言(1995年正式发布),具有面向对象、分布式、解释执行、健壮性和安全性、体系结构中立、可移植、多线程、以及动态性等特点。和其他编程语言相比,它有很多优点。使用JAVA的优点具体体现在以下几个方面:(1)灵活性JAVA非常灵活,足以支持部署和开发环境中的各种变化。由于JAVA是在面向对象的基础平台上构建的,因此可以很容易对基本的语言进行扩展和发布。(2)厂商的广泛支持采用JAVA有一个非常引人注目的原因,就是受到了厂商的广泛支持。JAVA不像其他技术一样只有一个主要的供应商,而是有数百个公司都生产或支持JAVA产品。Oracle公司是JAVA业界的一个巨头,它继续对客户提供引导,对JAVA应用程序的开发提供产品支持。这种支持JAVA的公司有很多,因此选择JAVA语言非常牢靠,不会因为选择它作为开发语言而将自己紧紧和一个厂商捆绑在一起。(3)用户的广泛支持JAVA具有很好的用户基础,它们并不局限于一个特定的公司。在Internet上,有很多资源都可以获得JAVA示例代码。另外,JAVA程序员还可以使用很多免费软件或共享软件和很多应用程序代码。(4)平台独立性JAVA源代码和运行时文件并不局限于某一个操作系统。因此,在Windows环境中创建并编译JAVA类文件,无需任何修改就可以将相同的文件部署到UNIX环境中。JAVA的这种特性,也称为可移植性,这一点对于那些发现自己的业务增长需要一个特定的操作系统、又需要支持原操作系统的企业来说非常重要。2.2JAVA技术的应用2.2.1JAVA应用程序和小应用程序标准的用Java语言编写的独立软件应用程序称为Java应用程序(Javaapplication)。它们可以在支持Java的环境(Hotjava或AppletViewer)之外执行。Java小应用程序(Javaapplet)是内嵌于HTML文档中的使用<APPLET>标记的可执行Java代码。当与Java兼容的浏览器访问这样的页面时,它就自动下载由<APPLET>标记所指向的可执行代码,当完成下载该代码后,浏览器内置的Java环境就在浏览器中执行它。Java小应用程序的主类必须是类库中己定义好的类Java.applet.Applet的子类。Java小应用程序可以直接利用浏览器或AppletViewer提供的图形用户界面,而Javaapplication程序则必须另外书写专用代码来营建自己的图形界面。2.2.2Hibernate、Servlet、JSP和JavaBeansHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Servlet可称为小服务程序。Servlet和传统的CGI程序及ISPAI(InternetServerAPI),NSAPI(NetscapeServerAPI)等Web程序开发工具的作用是相同的。在使用JavaServlet以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。许多Web服务器都支持Servlet,不支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。由于Java的跨平台的特性,Servlet也是平台无关的。JavaServlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此JavaServlet效率非常高。和传统的CGI,ISAPI及NSAPI方式相同,JavaServlet是利用输出HTML语句来实现动态网页的。如果用JavaServlet来开发整个网站,动态部分和静态部分的整合过程就很困难。为此,SUN推出了JSP。JSP(JavaServerPages)是用于构建包含动态Web内容(HTML,DHTML,XHTML以及XML等)的应用系统的一种Java技术。JSP使得进行复杂动态Web页的开发变得简单、灵活而高效。JavaServlet是JSP技术的基础,大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP页是包含了JSP元素的HTML或XML页。JSP元素由JSP标准来定界。其中一些标注具有标准的XML/Namespaces语法,其它一些具有JSP专用的语法。JavaBeans就是Java的可重用组件技术。ASP通过COM来扩充复杂的功能,如文件上传、发送E-Mail以及将业务处理或复杂计算分离出来成为独立可重复利用的模块。JSP通过JavaBeans实现了同样的功能扩充。JavaBeans组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。JSP语法虽很简洁,但从整个系统设计的角度出发,使用JSP需要一种层次化的思想。一种成熟的思想是采用使内容和显示逻辑分开的技术,这种技术的典型是J2EE(Java2PlatformEnterpriseEdition)架构。这一架构中,JSP仅仅扮演页面展示的角色,商业逻辑、数据逻辑则被封装在EJB(EnterpriseJavaBeans)中。J2EE平台提供了一个基于组件的方法来设计、开发、装配及部署企业应用程序。J2EE架构非常可靠,但EJB的设计和使用过于复杂,有时我们仅仅需要一种使内容和显示逻辑分开的简单方式。JavaBeans与JSP的结合便能胜任这一要求。2.3MyEclipse简介MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属Eclipse开发工具。在结构上,MyEclipse的特征可以被分为7类:1.JavaEE模型2.WEB开发工具3.EJB开发工具4. 应用程序服务器的连接器5.JavaEE项目部署服务6.数据库服务7.MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。2.4MySQL简介MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的特性1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。3.为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4.支持多线程,充分利用CPU资源ADO技术。5.优化的SQL查询算法,有效地提高查询速度6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。7.可以处理拥有上千万条记录的大型数据库,支持多种存储引擎。3网上订票系统的分析与设计3.1可行性研究可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。可行性研究的目的不是解决问题,而是确定问题是否值得去解决。其最根本任务就是对以后的行动方针提出建议。一般来说,至少应该从下述三方面研究每种解法的可行性:3.1.1技术可行性本系统开发的软硬件资源都已具备,前台开发工具使用MyEclipse,开发语言为Java,后台数据库使用MySQL6.0,其基本操作实质还是对数据库进行添加、删除、查找等操作开发环境安全,技术可靠,两者使用都相对比较熟练,因此具备技术可行性。3.1.2经济可行性开发该系统所需的相关资料可以通过已存在的网上订票系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。3.1.3操作可行性本系统界面设计十分亲切,功能标题醒目,各种功能的实现简单容易,易于理解,用户只需对订票流程和业务调查了解即可,不需掌握数据库等相关知识,上手较快,系统管理人员可以简单的实现车票的销售,车次的管理,统计,退票等功能。通过以上可行性分析,认为该系统的开发方案切实可行,可进行开发。3.2系统需求分析需求分析是软件设计的一个重要的环节。本阶段对订票系统的应用情况作全面调查,以确定系统目标,并对系统所需要的基础数据以及数据处理要求进行分析,从而确定用户的需求。3.2.1功能需求本网上售票系统应该具备如下功能:登录通过登录站点http://localhost:8080/ticket/可以访问系统主页面,输入用户或管理员的信息实现用户的登录和用户身份的识别,并区别用户的权限实现不同的操作。2.查询分为对车次信息的查询和客户对已订车票信息的查询。要求:对车次的查询,可以按照发车车次进行查询。车次信息包括:车号、出发地、目的地、发车日期、开出时刻、票价。3)座位类型设定。4)车次信息只允许用户查询,不能修改。3.添加管理员用户可实现车次的添加、途经站点的添加和车票信息的管理。4.订票、退票普通用户可实现订票和退票,通过查询系统,客户可以根据自己的账户找到车票信息,通过订票模块实现订票,也可通过退票模块退去已购车票。3.2.2性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,本系统应该满足以下的性能需求。1.准确性和及时性系统处理的准确性和及时性是系统的必要性能。系统应能及时而且准确的根据用户权限及所输入的信息做出响应。由于本系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而车票的数量和时间又影响用户的决策活动,其准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性。2.易用性本系统是直接面对用户的,而用户往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。3.安全性网上订票系统中涉及到的数据是客运公司相当重要的信息,系统要保证用户的权限,对于车次等信息用户只享有查询服务,不得更改;系统还要提供方便的手段供系统维护人员进行数据备份、日常安全管理、以及系统意外崩溃时数据的恢复等工作。同时系统还要保证对数据库进行及时更新,保证数据一致性。3.3网上订票系统的开发方法在实际的系统开发中存在多种开发方法,如结构化方法、原型化方法、面向对象方法等等。结构化方法也可称为面向功能的软件开发方法或面向数据流的软件开发方法,首先用结构化分析(SA)对软件进行需求分析,然后用结构化设计(SD)方法进行总体设计,最后用结构化编程(SP)进行程序设计。原型化方法一般由以下四个阶段组成:(1)确定用户需求,(2)开发原始模型,(3)征求用户对原始模型的改进意见,(4)修改原型。原型化方法比较适用于用户需求不清、业务理论不确定、需求经常变化的情况。当系统规模不是很大也不复杂时采用该方法是比较好的。面向对象方法是当前计算机业界中最流行的方法,包括面向对象分析(00A),面向对象设计(OOD)、面向对象编程(OOP)。这是一种以对象建模为基础,自底向上和自顶向下相接合的方法。面向对象技术在需求分析、可靠性和可维护性这三个软件开发的关键环节和质量指标上有了实质性的突破,基本解决了这些方面存在的严重问题。采用面向对象的语言编写程序,更接近于现实世界,并符合人类的思维习惯,从而使应用程序具有更高的可读性、易维护性以及可扩充性。3.4网上订票系统的体系结构设计3.4.1C/S和B/S体系结构C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。目前大多数应用软件系统都是Client/Serve;形式的两层结构,现在的软件应用系统正在向分布式的Web应用发展;内部的和外部的用户都可以访问新的和现有的应用系统,Web和Client/Server应用都可以进行同样的业务处理;不同的应用模块共享逻辑组件;通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构,M也是在这样一种背景下被提出来的架构,但微软的方案只是一种构想,要成为现实还需要几年,而JAVA技术已经是很成熟的应用了。传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,这么高的代价和低效率已经越来越不适应了。在JAVA这样的跨平台语言出现之后B/S架构更是飞快地普及起来了。总的说来,B/S结构同传统的C/S模式相比,其优点在于:(1)Browse/Server是一种瘦客户机模式,客户端软件仅需安装浏览器,且对客户端硬件配置要求较低;(2)标准统一,维护相对简单。HTML是Web信息的组织方式,所有Web服务器和浏览器都遵循这个国际标准,使用B/S方式,可以将开发人员集中在服务器端,只需开发和维护服务器端应用程序,而服务器上的应用程序可通过网络浏览器在客户端上执行,从而充分发挥开发人员的群体优势,应用软件的维护也相对简单;(3)无需开发客户端软件。浏览器软件可以从Internet上免费得到,对于安装了Windows操作系统的客户机来说,只要使用内置的网络协议和浏览器即可;(4)跨平台支持。由于采用统一的通讯协议,并且浏览器及服务器软件可以支持多平台,所以方便的在企业异构平台运行;(5)浏览器界面易学易用,使用者无须太多技术知识。图3-4网上订票系统的体系结构基于以上对B/S和C/S实现,采用Browse/Server两种模式的分析,本文中对基于Web的HRMS的模式,如图3-6所示。这是一种基于世界范围内最先进技术的网络配置方案,也是配合Internet/Intranet建设的最佳方案,这种技术平台方案最大限度地方便了用户部署和维护大型软件系统,从而大大降低了用户目标系统的总体拥有成本(TCO)。下面是对该体系结构的具体说明:(1)客户端主要负责人机交互,包括一些与数据和应用关系的图形和界面运算。(2)WEB服务器主要负责对客户端应用程序的集中管理。(3)应用服务器主要负责应用系统的逻辑结构和数据关系,即事务处理。应用服务器又可以根据其处理的具体业务不同而分为多个。(4)数据服务器则主要负责数据的存储和组织、分布式管理、备份和同步等等。3.4.2网上订票系统基于Web的三层结构设计Web正逐渐改变着社会结构和人类生活。随着全球互联网的迅速发展,以WWW为基础构架的各种应用系统正日益普及,从而极大地影响了各类应用系统的开发及实施方法。以Web为基础的网络同传统的C/S结构相比有许多优势,如统一的通讯协议、瘦客户机(客户端只需要浏览器)、任何连入互联网的节点甚至无线连接都可以接入系统等。由于Web体系结构的巨大优势。这种B/S模式主要是由表示层、功能服务层、数据服务层构成的三层体系结构,如图3-4所示。图3-6系统的结构模型图该系统的物理结构有三层:第一层是分布在世界各地的网络用户终端,有关人员可以使用终端上的浏览器,在授权范围内,从任何地方进入系统。第二层是位于企业信息中心机房的Web服务器,它负责接受各用户的访问请求,并把处理结果通过网络送给用户。第三层是同样位于中心机房的数据库服务器,它负责存储、处理通过网络收集的数据。因此软件结构也分为三层:浏览器层,应用服务器层,数据库服务器层。系统的核心部分是WebServer它负责接受远程或者本地的HTTP查询请求,然后根据查询的条件到数据库服务器获取相关数据,再将结果翻译成标准HTML语言和各种Script代码,传送回提交请求的用户浏览器。同样,浏览器也会将更改、删除、新增数据记录的请求申请送至Web服务器,由后者和数据库服务器联系完成这些工作。3.5系统的总体结构根据系统分析,按照结构化程序设计的要求得到了下面的系统功能模块图:图3.5车站票网上订票系统总体功能图各个子模块描述如下: 1.登录功能模块:在浏览器上输入服务器的IP地址http://localhost:8080/ticket/,进入登录功能模块,选择登录身份区别是普通用户或是系统管理员。2.管理员功能模块:(1)车次管理功能模块主要实现车次的添加、车次更新、删除等功能。(2)车票管理功能模块主要实现售票统计、金额统计和乘客取票等功能。3.普通用户功能模块:(1)查询功能模块:主要完成站点信息查询、车票信息查询、订票信息查询等功能。站点信息查询是通过输入始发站和终点站显示对应的车次、车票价格、到站时间等信息;车票信息查询是通过输入车次显示对应的票价及是否还有剩余车票等信息。(2)车票管理功能模块:主要完成车站票的订票,退票等功能。(3)个人信息管理功能模块:主要完成个人信息的修改等功能。3.6业务流程图该图为车站票网上订票系统业务流程图图3.8车站票网上订票系统业务流程图3.7数据流图数据流程图是以图形的方式表达在问题中信息的变换和传递过程。它把系统看成是由数据流联系的各种概念的组合,用分解及抽象手段来控制需求分析的复杂性,采用分层的数据流程图来表示一个复杂的系统。车站票网上订票系统系统登录数据流图:图3.7车站票网上订票系统登录管理数据流图车站票网上订票系统车票查询数据流图:图3.7车站票网上订票系统查询管理数据流图车站票网上订票系统车次、车票、站点管理数据流图:图3.7车站票网上订票系统车次、车票、站点管理数据流图4网上订票系统的实现4.1数据库介绍数据库是指自描述的完整记录的集合。它除了包含用户的源数据外,还包含关于它本身结构的描述。数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。另外,合理的数据库结构将非常有利于程序的实现。数据库设计(DatabaseDesign)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程,就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。1.数据库设计的一般性原则第一个基本规则:对于每一个要存储其信息的实体(或事物),我们都应该给他一个自己的表;第二个处理规则:如果你需要在一个列中存储多个值,那证明你的设计可能是有缺陷的。简单的数据关系:一对一;一对多;多对一;多对多在数据库的设计中:要做到数据规范化、完整性、数据冗于和规范实例化。在整个设计过程中,我们必须按步骤认真完成。2.数据库设计的过程(六个阶段)需求分析阶段,准确了解与分析用户需求(包括数据与处理)是整个设计过程的基础,是最困难、最耗费时间的一步概念结构设计阶段是整个数据库设计的关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型逻辑结构设计阶段将概念结构转换为某个DBMS所支持的数据模型对其进行优化数据库物理设计阶段为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)数据库实施阶段运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改在设计过程中把数据库的设计和对数据库中数据处理的设计紧密结合起来将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计数据库的设计在数据库应用系统的开发中占有很重要的地位。只有设计出合理的数据库,才能为建立在数据库上的应用提供方便。4.2概念设计概念设计阶段,一般是使用语义数据模型描述概念模型,目的是使即使是非专业人员也可以看的懂。通常是使用E-R模型图作为概念设计的描述工具进行设计。概念结构设计的第一步就是对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体、实体的属性,标识实体的码,确定实体之间的联系类型(1:1,1:N,M:N),设计分E-R图。在经过仔细调查济南汽车站售票系统的过程和对内容的详细分析基础上,对本系统的需求,设计了数据库的E-R图,部分如下:车站票网上订票系统用户E-R图帐号帐号密码密码电话号电话号用户用户姓名姓名身份证号身份证号图4.2.1用户E-R图车站票网上订票系统车票信息E-R图车站票网上订票系统订票信息E-R图起始站票号起始站票号开车时间终点站车票信息开车时间终点站车票信息票数票数票价票价车次号车次号图4.2.2车站票网上订票系统车票信息E-R图票号票号起始站起始站座位号座位号终点站车票信息终点站车票信息开车时间开车时间车次号票价车次号票价图4.2.3车站票网上订票系统订票信息E-R图车站票网上订票系统途径站点信息E-R图站点序号站点序号站点名称站点名称运行时间到站时间途径站点信息运行时间到站时间途径站点信息出站时间运行里程出站时间运行里程图4.2.4车站票网上订票系统途径站点信息E-R图车站票网上订票系统车次信息E-R图始发站车次号始发站车次号车票剩余终点站车票剩余终点站车次信息车次信息始发时间运行时间始发时间运行时间到站时间总里程数到站时间总里程数图4.2.5车站票网上订票系统车次信息E-R图4.3逻辑设计逻辑结构设计的主要任务是,把由概念结构设计阶段得出的E-R图转换为相应的逻辑结构。数据库逻辑设计包括所需的实体和关系,实体规范化等工作。数据库逻辑设计决定了数据库及其应用的整体性能,调优位置。如果数据库逻辑设计不好,则所有调优方法对于提高数据库性能的效果都是有限的。为了使数据库设计的方法走向完备,数据库的规范化理论必须遵守。规范化理论为数据库逻辑设计提供了理论指导和工具,在减少了数据冗余的同时节约了存储空间,同时加快了增、删、改的速度。在规范的数据库逻辑设计时,还应考虑适当地破坏规范规则,即反规范化设计,来降低索引、表的数目,降低连接操作的数目,从而加快查询速度。常用的反规范技术有增加冗余列、增加派生列、重新组表等。总之,在进行数据库逻辑设计时,一定要结合应用环境和现实世界的具体情况合理地选择数据库模式。下面的4个表分别为用户信息表,车票池信息表,订票信息表,车次信息表。4-2车次信息表(stopinfo)列名数据类型长度是否主键代表意义stopIdint11YES外键stopnamevarchar255NO列车车站ticketnumint11NO预售车票总数fromStopvarchar255NO始发站toStopvarchar255NO终点站fromTimedatetimenullNO发车时间toTimedatetimenullNO到站时间priceFloat11NO价格sskmbigint20NO列车运行里程typeidint11NO列车类型yupiaoint11NO列车余票4-3用户信息表(tb_user)列名数据类型长度是否主键代表意义useridint11YES主键usernamevarchar255NO用户名passwordvarchar255NO密码realnamevarchar255NO真实姓名identityCodevarchar255NO身份证号phonecodevarchar255NO电话号码usercodevarchar255NO用户编号isdelint11NO是否删除标示usertypeflagint11NO用户类型标示4-4订票信息表(ticket)列名数据类型长度是否主键代表意义tickIdint11YES主键pricefloat255NO车票价格codenumvarchar255NO车票座号fromStopvarchar255NO发车站toStopvarchar255NO到达站fromTimedatetimenullNO发车时间toTimedatetimenullNO到达时间bookstopvarchar255NO车次ordercodevarchar255NO订单号UseridcptyIntInt1111NONO外键车票类型标示4-5车票池信息表(ticketpool)列名数据类型长度是否主键代表意义pidint11YES主键stopnamevarchar255NO车次名codeint11NO车票编号stateint11NO车票状态4.4系统实现以下为系统的部分截图: 登陆界面:注册界面:用户登录主页面:票务管理员登录主界面系统管理员登录主界面订票界面:车次查询:查看订单:退票:所有车票信息:添加车次:所有订单信息设定管理员:管理员列表:管理员回收站:用户个人信息修改:5系统的开发工具和运行环境5.1系统运行环境的搭建5.1.1JAVA虚拟机的安装本系统采用的是基于java的jsp技术所以java虚拟环境即java虚拟机是必须要安装的。JDK(JavaDevelopmentKit)是一切java应用程序的基础,可以说,所有的java应用程序是构建在这个之上的。它是一组API,也可以说是一些javaClass。目前已经正式发布的最新版本是JDK1.5。Windows下直接运行.exe文件,安装到一个目录,如C:/jdk1.5,安装完成后就是环境变量的设置。桌面上选择“我的电脑”(右键)>高级->环境变量->在“系统变量”>“新建”->在变量名中输入:JAVA_HOME变量值中输入:C:/jdk1.5同样再新建一个变量名CLASSPATH,变量值中输入:C:\jdk1.5;C:\jdk1.5\lib\dt.jar;C:\jdk1.5\lib\tools.jar;还需要在Path变量值后面添加一个值:C:\jdk1.5\bin。至此JAVA环境安装成功。我们可以在命令行中敲入命令java如果显示java帮助,则证明环境设置成功。5.1.2Tomcat环境搭建安装TOMCAT,直接使用默认安装就可以了,假如我们将其安装在C:\Tomcat6.0,安装完毕后,开始设置环境变量新建环境变量CATALINA_HOME,值为C:\Tomcat6.0,新建CATALINA_BASE,值为C:\Tomcat6.0。打开Tomcat5.5文件中的bin文件,双击其中的运行程序ServerRunner,显示serverstart,服务器正常启动此时在浏览器上敲入本地测试地址:http://localhost:8080如果出现Tomcat页面则证明Tomcat安装成功,而且正常启动。到这里,系统运行所需要的基本运行环境已经安装完成。5.1.3系统软硬件要求系统要求:WindowsXP/vista或者Window7操作系统。软件要求:本系统采用MyEclipse为开发工具;Java为开发语言;数据库采用MySQL数据库系统。硬件要求:硬盘160G以上、CPU2.4Ghz以上、内存2G以上。5.2系统程序的安装和加载5.2.1文件的拷贝我们可以将整个系统文件夹拷贝到Tomcat的默认根目录下,一般路径为:C:\Tomcat6.0\webapps\ROOT。5.2.2数据库的连接因为该系统仅作为毕业设计使用,为了方便演示和运行,系统所用数据库采用了Mysql数据库。设置完数据源以后,把文件中的classes文件下的所有文件夹复制到网站根目录的web-inf文件夹下面,然后重启服务器即可。在浏览器敲入地址:http://localhost:8080/ticket/我们可以看到网站的主页面已经出现,至此,系统加载成功。6网上订票系统测试6.1系统测试的目标软件测试是在软件投入运行之前对软件需求分析、设计规格和编码的最终复审,是保证软件质量和可靠性的关键步骤。软件测试的主要过程是根据软件开发各阶段的规格说明和程序内部结构,精心设计若干测试用例,使用这些测试用例运行程序,从而找出程序中隐藏的错误。测试的目的就是在系统运行之前,尽可能多地发现系统中的错误。测试的目标:(1)测试是为了发现程序中的错误而执行程序的过成。(2)好的测试方案是极可能发现程序中迄今为止尚未发现的错误的测试方案。(3)成功的测试是发现了至今为止尚未发现的错误的测试。测试方法可分为两种:如果已经知道了某个程序应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;如果已经知道模块内部工作过程,可以通过检验模块内部动作是否按照设计要求的规定正常进行。前一个方法称为黑盒测试,后一个方法称为白盒测试。6.2测试的实现本系统采取的测试方法是先对单个模块进行单元测试,经过修改和调整通过以后,进行总体测试。测试结果各项功能均已经或基本达到设计要求。6.2.1模块测试在设计的好的系统中,每个模块完成一个清晰定义的子功能。而且这个子功能和同级其他模块的功能之间没有相互依赖关系。因此,有可能把每个模块作为一个单独的实体来测,而且通常比较容易设计检验模块正确性的测试方案。模块测试的目的是保证每个模块作为一个单元能正确运行。6.2.2系统及子系统测试系统测试是把经过测试的子系统装配成一个完整的系统来测试。在这个过程中不仅应该发现设计和编码的错误,还应该验证系统确定能提供需求说明书中指定的功能,而且系统的动态特性也符合预定要求。子系统测试是指当把各个经过测试的、独立的模块经过一定的方式、方法集成为一个子系统后进行的测试。这一步主要是测试接口,看各个模块之间的接口是否匹配,通信规则是否合理。(1)测试的主要内容包括:①用户登录②车票预订③车次管理④用户管理(2)验收测试 这一步的任务是进一步验证软件的有效性,即验证软件的功能和性能。测试的主要内容包括:①连接测试:主要对系统各个页面之间的链接情况进行了测试②布局测试:主要对系统各个页面的布局情况进行了测试,通过多次测试本系统能基本满足要求。③β测试:邀请了其他同学和老师对本系统整体功能进行了测试,测试结果一切正常,达到了设计的要求。结论经过四个多月的设计与开发工作,本系统实现了以下功能:通过站点http://localhost:8080/ticket/访问系统主页、用户身份的识别、登录;管理员对车次的添加、修改、删除,车票的添加、修改,途径站点的添加、删除、修改;普通用户个人信息的注册、修改、对车次的查询、订票、付款、退票功能。所设计的车站票网上订票系统,能实现车站票网上的售票、退票、订票、付款等操作,能够实现管理员对车次、车票、途径站点的管理更新操作。系统功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高。本系统共有六个功能模块:登录功能模块、主页模块、查询功能模块、车站票预定模块、车次管理功能模块及车站票管理功能模块。系统采用B/S架构,MVC开发模式,以MyEclipes作为前台软件开发工具,后台数据库选用MySQL数据库进行支持,采

温馨提示

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

评论

0/150

提交评论