基于javaee的网络火车票订购系统的设计与实现论文

上传人:1777****777 文档编号:37723039 上传时间:2021-11-04 格式:DOC 页数:57 大小:1.51MB
返回 下载 相关 举报
基于javaee的网络火车票订购系统的设计与实现论文_第1页
第1页 / 共57页
基于javaee的网络火车票订购系统的设计与实现论文_第2页
第2页 / 共57页
基于javaee的网络火车票订购系统的设计与实现论文_第3页
第3页 / 共57页
点击查看更多>>
资源描述
码农毕业设计下载网: 基于javaEE的网络火车票订购系统的设计与实现摘 要 随着软件行业的快速发展,给我们的日常生活带来了非常多的益处,比如我们可以在网上进行订票、购物等。本次毕设就是为方便人们的出行即能够网上订购火车票所设计的,在满足火车票信息管理的基础上,建立火车票信息数据库,采用Eclipse作为开发工具,以面向对象程序设计思想为基础,利用UML进行数据逻辑和物理模型设计。JSP是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,所以用JSP编程为我们本次程序的编写提供了方便。另外,能够利用Hibernate框架连接到Oracle数据库后,向数据库发送SQL语句实现程序与数据库中表间的消息通信,从而实现了相应的火车票管理的功能。火车票订购系统由管理员和用户二部分组成。在本系统中,主要完成的对火车票信息的添加、修改、删除和查询以及对火车票订购的功能。关键词:火车票订购系统,JSP,面向对象程序设计, Eclipse,Oracle数据库The Design and Implementation of Network Train Ticket Ordering System based on JAVAEE Abstract With the rapid development of software industry, to our daily life has brought a lot of benefits, for example, we can book tickets online, shopping and on.Of this project is for the convenience of people travel to order train tickets online design, namely in the train, on the basis of information management, establish train ticket information database, using Eclipse as a development tool, based on the object-oriented programming thought, logical and physical data model design based on UML. JSP is a very good programming language, object-oriented, has nothing to do with the platform, security, stability and multithreading etc, so use JSP programming the writing of this program provides a convenient for us.In addition, can use the Hibernate framework to connect to the Oracle database and send SQL statements to the database implementation procedures and message communication between database tables, so as to realize the function of the corresponding train ticket management. Train ticket ordering system by administrators and users of two parts.In this system, mainly to complete the train ticket information to add, modify, delete, and query and the function of train ticket order. Key words:train ticket ordering system,JSP,object-oriented programming, Eclipse,Oracle database目 录1. 绪论五 1.1 综述国内外对本课题的研究动态,说明选题的依据和意义五 1.2 研究的基本内容,拟解决的主要问题六 1.2.1 研究的基本内容如下六 1.2.2 解决的主要问题六 1.3 网络订票系统实现的技术与编写语言七 1.4 开发系统的目的十一 1.5 系统开发环境十一 1.5.1 硬件环境十一 1.5.2 软件环境十一2. 系统需求分析及可行性研究十三 2.1 需求分析十三 2.1.1 功能需求十三 2.1.1.1 用户角度十三 2.1.1.2 管理员角度十四 2.1.2 性能需求十四 2.2 可行性研究十五 2.2.1 技术可行性十五 2.2.2 经济可行性十五 2.2.3 操作可行性十六 2.3 分析网上现有的销售平台的设计思想十六 2.4 分析现有火车票售票系统的特征十七3. 数据库设计十八 3.1 数据库需求分析十八 3.1 数据库表设计十八4. 系统实现二十四 4.1 系统分析二十四 4.2 系统主要功能二十五 4.2.1 管理员模块功能二十五 4.2.2 用户模块功能二十六 4.3 系统详细设计二十七 4.3.1 实体间的关联二十七 4.3.2 实例对象之间的交互二十七 4.4 系统操作的详细流程二十八 4.1.1 用户二十八 4.1.2 管理员二十八5. 功能实现二十九 5.1 管理员的功能二十九 5.1.1 管理员注册二十九 5.1.2 修改密码二十九 5.1.3 查询火车信息三十 5.1.4 添加火车信息三十 5.1.5 删除火车信息三十一 5.1.6 修改火车信息三十一 5.1.7 实现管理员功能的后台代码三十二 5.2 用户的功能三十四 5.2.1 用户注册信息三十四 5.2.2 完善用户信息三十四 5.2.3 修改用户信息三十四 5.2.4 订购车票三十五 5.2.5 查看订购车票三十五 5.2.6 退还或改签车票三十六 5.2.7 查看个人信息三十六 5.2.8 查看订单三十七 5.2.9 实现用户功能的后台代码三十七6. 系统测试三十九 6.1 Web应用系统测试方法三十九 6.1.1 链接测试三十九 6.1.2 性能测试三十九 6.1.3 兼容性测试四十 6.1.4 安全性测试四十 6.2 测试用例四十一 6.3 测试结果四十二 结 论四十五参考文献四十六致谢四十七外文原文四十八中文翻译五十三文献综述五十七1. 绪论1.1 综述国内外对本课题的研究动态,说明选题的依据和意义在中国,铁路是最重要的交通工具之一,它对人们的出行起着至关重要的作用,有着非凡的意义。随着社会的发展,市场经济成为经济的主要模式,各行各业都受到了强烈的冲击,同时也面临着非常严峻的考验。相比其它交通工具,公路行驶非常便捷,航空飞行非常快速,而这一切也对铁路运输带来了很大的冲击。在以前有过这样一份关于“对铁路客运存在的问题”的调查,调查结果表明,认为购票难的乘客占据有29.3 %,在所有的选择中排在第一位。从这可以得出,铁路客运服务的最大问题是购票难,假如这个问题一直都得不到解决的话,其结果可想而知,即必将导致乘客人数的不断减少。对于路程短的乘客,会选择便捷的公路打巴等,而对于路程较长的乘客,选择公路的方式显然不合理,而且近年来机票的价格不断下降,相比飞机票价,铁路票价的优势已经非常明显,但是,飞机票有多种灵活多样订票方式,而且大多数还可以提供免费送票上门的服务,这必然会导致购买火车票难的部分乘客选择飞机出行。由此,要稳固“铁老大”的地位,必须解决自己所面临的大难题,引进先进的技术与服务模式。在瑞典国家,曾计划用12年的时间建设瑞典铁路基础设施,且投资金额高达投资970亿瑞典克郎(与折合116亿美元),此项计划已于2004年l月开始实施,由此可见,铁路交通的发展对一个国家的重要性,为此,不管你是什么行业都必须紧跟时代的步伐,否则你将会被这个时代淘汰。在21世纪,计算机科学技术和网络技术的高速发展,使人们对未来智能化的生活越来越期待,越来越提出更多的需求来满足更高质量的生活要求。当前与人们生活息息相关的很多方面都未全面实现智能化,比如说,购买火车票,虽然当前提供了网上购票系统及自动取票机,但是其服务的效率远远不能满足人们的需求。伴随着社会的发展及人们对生活品味的精益求精,一种新的贸易方式应用而生,即电子商务,它是一种以现代计算机科学技术和网络技术为基础,融合信息化管理、网络化商贸信息、电子化金融为一体的,主要是为了实现三流(物品、资金与信息)和谐统一发展的新贸易形式,它使贸易活动的全过程实现了三化,即电子、网络和数字。电子商务相对于传统的贸易方式,有着巨大的冲击,这种新的方式带动了经济结构的变化,是一种商贸方式的变革,被国际上标为是21世纪经济发展的一个至关重要的催化剂,它的意义甚至可以与200年前工业革命所带的影响相提并论。适者生存,永远是这个社会生存的法则。信息时代的到来,电子商务的影响和发展,给处于困境中的铁路运输行业带来了希望。未来火车站的发展是完全实现提供自动化的售票信息服务,网络购买票,智能化购买票。随着计算机的广泛使用,信息的处理量在逐渐增大,手工处理的老旧方式已远远不能满足人们对其的需要,网上火车票订票系统的应用将各使这种工作都渐渐的由手工转为自动化,将会使很多复杂、繁琐、且需要投入很多人力及物力的工作变得简单化、高效化。网上火车票订票就是为解决铁路局最大难题-购票难、效率低,且顺应时代的呼唤而出现的。本系统的根本任务是,通过对票务信息的智能化管理,来方便人们的生活与工作,同时提升人们的时间效率。其中,数据库技术就是实现智能化管理的最好技术。我们可以设置专门的管理员,他主要是用数据库将整个火车站的票务情况存入计算机,管理员根据铁路局对火车线路的规划对发生变化的火车信息做出相应的修改,来使得信息能够及时的更新和管理,以满足用户的需求。网上火车票订票系统应实现的主要目标是可以提供及时、全面的信息服务,加快信息查询的效率,实现灵活的查询方式,减轻火车站内手工售票工作人员的工作量,而且系统规模不大同时又保证了日常工作的要求,系统易于扩充,便于日后能够联网与管理,提高系统的管理水平。网上火车票订票管理是一件比较繁杂但又非常重要的事,它涉及到了国家铁路运输行业的正常工作、国民经济的快速发展和人民生活高水平、优质量的大事情。网上火车票订票涉及到的主要内容,有用户登陆的帐号密码,有经济支付,有订票管理,有用户退票、改签,有用户信息的查看和修改等。因此,本毕业设计就是专门解决这些问题的。综上所述,我们可以了解到铁路火车票务管理的复杂性,本毕业设计的开发仅是一个尝试性的实践工作,但它给了我很多启发,对于今后研究开发词类程序起到了一个抛砖引玉的作用。 1.2 研究的基本内容,拟解决的主要问题1.2.1 研究的基本内容如下: 系统设计: 主要是对开发此系统所进行的一切工作进行全面的设计和分析,包括对系统的可行性研究,对系统的需求分析,为了设计出比较好的作品,分析当前火车票订票系统的特征及分析网上的各种销售平台的设计思想,对系统的整体设计思想进行规划对系统的模块功能仔细分析,对系统的模块设计尽量合理,谨慎选择开发环境和开发工具的选择避免出现不必要的错误等。 数据库设计:主要是根据实体的创建来创建相应的数据表,首先对数据库进行初步的需求分析和概要设计,然后根据实体间的关系做逻辑设计,最后建表。除此之外,数据库的选择也是一个重中之重的环节,它的选择直接影响着系统的可行性,请谨慎选择,尽量选择自己熟悉的数据库,以免出现无法解决的错误。 主要模块功能的实现:火车线路信息的修改、订购火车票/退票/改签、管理员信息修改、火车票信息查询、用户信息查看/修改等等。1.2.2 解决的主要问题: 解决Structs2+Hibernate+JSP等工具的操作和连接上的细节性难点; 解决系统的安全问题(例如:用户登录的安全性、管理员登陆的安全性等); 实现客户端页面的相关操作并可以连接到后台数据库,主要是结合后台数据库,实现管理员对火车信息的增、删、改、查,用户对火车信息的查询、订票等操作; 解决客户端页面的美化问题,使得动态页面和静态页面相互结合;1.3 网络订票系统实现的技术与编写语言本毕业设计的题目是基于javaee的网络火车票订购系统的设计与实现,完成此系统计算机所搭建的环境主要是WIN7和JDK,使用的开发工具是Eclipse,主要的编写语言是后台代码用JAVA、前台代码用JSP,通过jsp页面与java代码的交互来实现本系统所需要的功能。除此之外,本系统的实现主要使用到Struts框架的思想,数据库连接用到了Hibernate框架中的技术,使用Spring实现jsp页面与action间信息的处理等,通过这些技术的联合使用,使得此系统的实现更加容易。下面是相关技术特点及内容介绍: (1) J2EE 相关知识介绍J2EE是一种基于Java组件技术的系统开发规范,它是由Sun公司推出的一种企业应用, 不同厂商都是以此为标准创建平台产品的, 这使的不同厂商生产的产品之间的无障碍交互成为可能。J2EE 规范提供了一个多层次企业级信息系统的标准平台,这个平台是基于组件技术, 目的是规范和简化企业级应用系统的部署和开发。它不仅能够在因特网的应用中保护数据的安全模式,而且能够方便的存取数据库的 JDBC API等等, 同时它还能够对很多技术提供全面的支持,比如XML、JSP(Java Serv-er Page)、Java Servlets API以及EJB(Enterprise JavaBean)技术,它最终的目标是成为一个能够让企业开发者的投放市场时间大幅缩短的优化体系结构。J2EE组成技术一般分为三层或多层的体系架构,这已经成为了开发信息系统的首要选择。最典型也是最经典的的J2EE体系一般分为三层,即持久层、业务逻辑层和表现层。持久层 (Persistence Layer) 主要是负责实体对象持久化的,也就是对数据库进行各种操作的层次,在系统设计中我们一般用Dao层表示。 业务逻辑层是决定架构是否成功的关键 ,它的主要功能是给表现层提供业务逻辑使用, 它容纳了很多的接口。在一般情况下,一个好的业务逻辑层主要具备以下几个特点: 面向对象设计,独立于表现层存在,容易管理和测试,对事物能更好的处理,功能完善,用户使用较简单,同时有非常好的OO实施等等。业务层主要是通过以下技术实现的:EJB,POJO等等。在系统设计中我们一般用Service层表示。表现层 (Presentation Layer) 主要是实现显示功能的,它是远程调用的门面或者是客户端界面,它主要用到的技术有:MVC 框架技术,SERVLET和页面技术JSP,其三层结构和各层之间的关系, 如图 1-1 所示 图1-1 三层体系结构 (2)Struts 和 MVC 的共性和区别Struts和MVC相互联系,共存发展,但又有各自的特点。MVC应用框架最典型的是Struts,它使得系统的表示层开发更加简化,更加利于重用,同时还提供了效率。而MVC(Model/View/Controller)模式是目前广泛流行的一种设计模式,主要包括3类对象。分别为Model、View、 Controller。下面分别对其介绍:Model是一种应用对象,View是显示在屏幕上,Controller规定了用户的输入界面的响应方式。在MVC模式中,担任模型的角色的是JavaBean,它在JSP和Servlet之间的交互起到了桥梁的作用,在完成Servlet处理后,就设置实体相对应的属性,JSP读取所设置的实体属性后进行显示。在该模式更加清晰的将显示与逻辑分离开来,使得代码比模式(JSP+JavaBean)更容易理解了,适合于设计和开发大型的项目。 而Struts,它是 Apache 的一个组织项目,和Apache所组织的其它类型的项目一致。Struts是开放源代码的一个项目,它是一个非常优质的MVC框架,它把用作实现的部分应Servlet 和 JSP 标记(属于 J2EE 规范)。 MVC 的各项特性基本都被Struts 继承了,并依据 J2EE 的特征做出了相应的扩展和更新。Struts 的工作原理如图 1-2所示。 图1-2 Struts 工作原理下面按照层次进行详细介绍:第一,在 Struts 控制中,由 ActionServlet 类来充当控制器。ActionServlet 是一个非常通用的控制组件,它提供了很多入口点,主要用来处理发送到Struts 的所有HTTP请求。一般都是依据配置文件 struts-config.xml的配置信息,把收到的请求转发给合适的Action对象,配置信息一般为以下形式: afterLogin/adminlogin.jsp 。如果这个 Action对象不存在, 则会先创建一个 Action 对象。第二,在Struts视图中,页面的输出主要是由JSP控制的。它将接收到的数据(来自ActionForm),应用logic,taglib,html,bean等来显示这些数据。第三,在 Struts模型中,最主要的实体类有三种,分别为:JavaBean or EJB、ActionForm、Action。ActionForm主要是用来封装客户的请求信,而Action是用来获取Action-Form中的数据的,之后再交由JavaBean或者EJB对数据进行处理。 (3)对数据库用到的Hibernate框架介绍在之前做项目时,对数据库进行连接和访问操作时,并未使用过Hibernate框架,都是用的JDBC、数据池等。在接触Hibernate后,感觉它更加简单,不要编写繁杂的SQL语句,利用配置文件自动识别数据库的名称等,不用再手动设置数据库驱动、数据库连接的用户名等,它主要利用到了对象关系的映射文件。Hibernate由一个开放的源代码构成的,它能够对JDBC进行有效的对象封装,这样可以使程序员更加随心所欲地对数据库进行控制,而这一切是基于编程思想的。在之前没有Hibernate框架的应用时,java语言数据库的主要链接口是JDBC,而且在当时来看,它是具有比较好性能和比较高的效率的。然而,随着数据量的不断增加和应用系统的不断扩展,数据和数据表之间的关系越来越变的复杂,同时使得JDBC操作数据库的代码变得非常复杂,使得整个系统的性能越来越低。而Hibernate的出现,解决了这一大难题,它利用对象关系映射的方式大大的简化了数据库的操作,提高了系统的性能。另外,程序对Hibernate API进行访问也主要通过持久化对象,这使得对Hibernate所用到的数据库资源有了更加有效的配置。Hibernate不仅为程序员提供高效的数据查询,还提供了JAVA类与数据表之间的有效映射。它相对于手动操作数据库的技术,比如JDBC或SQL等,更具有一定的自动化,这也是我在学会应用Hibernate之后最大的感受,而且有效减少数据库操作的工作量。除此之外,因为Hibernate工作时主要使用了代理模式进行,因而有效的简化了加载类的过程和时间,而且减少了代码提取时所需的编写量,最终使得程序开发的效率和时间得到了大大的提升。目前看来,Web服务器和Hibernate框架已经非常成功实现了良好的集成与融合,而且大部分数据库服务器都是支持的,因此这就使它具有了一定的通用性。综上所述,Hibernate为我们的应用程序数据库设计提供了多中运行方式,而且在一些轻量级系统中,使得应用程序可以实现直接与JDBC相连接,并进一步行执行事务的管理。在全面优化应用程序的体系过程中,处于底层的所有JDBC都会被抽象化。然而对于Hibernate,它能够自己规定查询语言(HQL),同时还能对最初的SQL语法兼容,所以它拥有非常高的效率、非常强的灵活性,这也是它能够与多种Web服务器集成,而且支持大部分数据库服务器的主要原因。既然Hibernate在数据库操作方面有这么多一处,那么我们要利用Hibernate来设计开发应用,提高程序的性能和效率以及为编程人员省去很多麻烦,就要对Hibernate有效配置有非常深刻的认识和非常熟悉它的基本配置。以下是对Hibernate有效配置的方法做一个简单介绍:首先是映射文档的配置工作,它的主要作用是有效定义持久化对象,所以对于以class_name来命名的文件或者任何一个持久化对象来说,创建映射文件是至关重要的一步。如果它的设置是非常正确无误的,那么Hibernate持久化服务就能够正常有效的运行,而且系统数据库的性能也会非常好;但是如果它的设置非常糟糕。那么Hibernate持久化服务就不能正常运行,而且数据库性能也会非常低。数据库和持久化类之间的关系是通过映射文档来体现的,它主要包括相关字段和映射字段。另外,它还可以表明持久化类之间的关系,比如:乘客和火车票之间存在着一对多或多对一的关系,由此我们便可以得出关系型数据库表间的关系。之后,对Hibernate框架进行基本的配置工作。创建命名为hibernate.cfg.xml的配置文件,位于src目录下,并且要把它路径配置到实体类的路径中,最后完善对H配置文件的配置工作。Src目录下的配置文件主要由三个方面组成,包括有特定数据库的信息、连接数据库以及数据库的生成模式等。所以,当程序员要使数据库内的变化与应用当中一致时,就可对配置文件内所设置的属性值进行相应的修改。下面对这三个方面进行详细介绍:数据库模式的生成,它主要是通过Hibernate来实现,它所要执行的详细命令主要是:Java-cpclasspath net.sf.hibernate.t001.hbm2ddoptions mapping_files,这条命令可以有效提供合适恰当的数值,并根据这些数值生成的模式;对数据库的操作,主要是依据Hibernate完成数据库的连接,而且能够同时提供对外接口。每当Hibernate获取核心接口(Sessionfactory)后,就能进行有效的会话(session),并进行删除(deiete)、加载(load)、查询(guery)、嵌入(insert)等操作。任何代码的运行都有其执行的顺序,有可能是程序员所设定的逻辑顺序,还可能是其它,那么Hibernate代码在初始化运行时,所执行的步骤是怎样的呢?接下来将详细介绍,来更加深入的了解Hibernate的工作流程。首先,在启动时应该对net.sf.hibernate进行获取,用到了net.sf.hibernate.cfg对象;然后,调用会话工厂(SessionFactory)对象上的openSession()方法,打开net.sf.hibernate.Session会话;之后,当有些对象需要保存时,应该关闭会话(session);最后,要开启net.sf.hibernate时,程序员就能够利用Hibernate的核心接口对象上的OpenSessionInView的方法打开。值得注意的是,在对数据库报表进行编程时,要考虑到程序运行的科学性以及性能,包括:数据字典中的数据不得随便修改;在对数据进行更新时,要保证系统的数据逻辑不会发生变化;设计报表涉及非常多的数据,保障程序的运行效率是非常重要的,所以程序的逻辑必定要符合科学性;对标准程序进行动态使用可以用附加技术实现,从而避免影响对标准系统的升级。当你选择的数据表编程是有效的时候,就要进一步想到程序的科学性与逻辑性,而且要学会换位思考一些问题,进而找出更优良的解决方案。 在数据持久化对象中,Hibernate只是其中的一种,而且它还是一个轻量级的映射框架。在程序设计中,数据库用到Hibernate数据持久层设计会有很多优势,主要有:第一,它能有效的改善数据访问的效率;第二,因为它属于轻量级映射框架,而且有开放性的特点。程序员在进行开发时,可以根据自身的需求修改代码,拥有非常强的灵活性;第三,应用它进行程序设计,可以有效减少SQL语句的用量,从而减少了代码的数量,使系统的性能得到明显的提高。 总之,它可以有效地促进java对象模型的发展,程序人员可以使用Hibernate的数据持久层的解决方法,不用对数据库的逻辑关系做过多考虑,进而有效的使业务逻辑更加清晰并且实现,使模块的划分更加地科学化、合理化。1.4 开发系统的目的本系统主要应用于铁路局部门,完成铁路局的管理员对火车票的管理和用户对火车票的订购、退票、改签等,实现对火车票管理的信息化。设计和开发网上订购火车票系统不仅仅可以减轻铁路局部门手工操作人员的工作压力,且可以系统地对车票、订票上的各项服务和信息进行管理,同时还可以便于旅客朋友们去订购车票和查询火车信息等,大大的提高工作服务的质量和工作的效率。1.5 系统开发环境1.5.1 硬件环境 PC机CPU :一般的Intel处理器及以上 内存 :2GB及以上 硬盘 :400G及以上1.5.2 软件环境 操作系统:Windows7旗舰版windows 7旗舰版是微软公司所开发的操作系统中windows7系列的终结版本,其它的版本可以慨括为专业版、家庭普通版和高级版、简易版。与它们相比较,Win7旗舰版具有最丰富和最完善的功能,而且是一款操作简单拥有Windows7 Professional和Windows7 Home Premium全部功能的操作系统,高功能使得对硬件的要求也最高。开发工具:Eclipse Eclipse 是一个基于Java和源代码开放的可扩展开发平台。对其自身而言,它只是用于通过插件组件来构建开发所需的环境,即它是一组服务,亦是一个框架。更大的优势是,它自身带有一个标准的插件集,主要包括Java开发工具(Java Development Kit,JDK)。数据库:Oracle Oracle 是一个大型数据库软件,经常在企业级开发中使用。在书本中对数据库关键目标作出的陈述主要有两点:1 提高程序的性能,2 降低程序管理开销。 它的主要优势有:可用性的增强、支持回滚更新操作、新的 Flashback 能力;安全性的增强,利于对大量用户的管理;提高的BI功能 ,包括对SQL 能力的改进、功能分析、挖掘数据的能力等; XML 的能力;非关系型数据存储的能力的改进;开发能力支持的加强,生物信息学( Bioinformatics )的支持。服务器 :Apache Tomcat 7.0.3 Tomcat,是一种虚拟服务器,它是由Apache软件基金会中的一个下属项目开发的Servlet容器,依据Sun Microsystems提供的技术规范,实现对Servlet和JavaServer Page(JSP)的支持,而且还提供了作为Web服务器的一些特有的功能,比如Tomcat阀、Tomcat管理和控制平台、安全域管理等。因为Tomcat本身是一个内含HTTP的服务器,所以它也可以被看作一个独立的Web服务器。 2. 系统需求分析及可行性研究2.1 需求分析需求分析是在软件开发和设计过程中的一个不可或缺环节。在本阶段,主要是对火车票订购系统的使用情况作出全面的调查,来确定该系统的目标,并且对系统所需要的基本数据和数据的处理要求进行分析,从而确定管理人员的操作模式和用户的需求。2.1.1 功能需求 网上火车订购系统是一个融合火车票的订购、火车信息的添加、管理员信息的管理、火车信息信息及售票信息查询为一体的综合系统。功能需求从用户与管理员两个方面的进行分析,即系统参与者主要是管理员和用户,如下用例图2-1所示: 图 2-1 参与者 2.1.1.1 用户角度从用户的角度看,用户需要订购自己所需要的火车票,所以本系统的使用者应该有注册账户功能、登陆功能、站点、车次查询功能、订票、退票功能、查看自己的订票信息功能同时还有修改自己的注册信息功能,如下用例图2-2所示: 图 2-2 用户 2.1.1.2 管理员角度从管理员的角度看,管理员可以通过登录权限进入管理员模式。管理员可以进行路线、车次的添加、删除以及修改等操作,如下用例图2-3所示: 图 2-3 管理员2.1.2 性能需求为了保障系统能长期的、安全的、稳定的、可靠的、高效的运行,本系统需要满足以下的性能要求。准确性和及时性系统处理的准确性和及时性是系统的必要性能,及时而且准确的依据用户权限及所输入的信息做出响应是系统的本能。因为本系统的查询功能对整个系统的性能和功能的完善至关重要,火车信息作为系统大量数据来源,它数量和时间又影响着用户的决策活动,它的准确性和及时性会很大程度上决定系统的成与败,在系统开发过程中,必须采用有效的方法保证系统的及时性和准确性。易用性本系统是直接面对用户的,而用户往往对计算机并不是很熟悉。这就是要求系统能够提供易用的人机交互界面,良好的用户接口。要实现这一点,就要求系统能够尽量使用用户熟悉的中文信息的界面和术语,从而保证系统的易用性。安全性网上订票系统中涉及到相当重要的数据信息,系统中要保证用户的权限,对于车次等信息用户只享有查询服务,不能够对其进行修改、删除等操作;系统还提供了方便的手段供系统维护人员进行数据备份、日常安全管理、以及系统意外崩溃时数据的恢复等工作,同时系统还要保证对数据库及时的更新,保证数据的一致性。2.2 可行性研究可行性研究是开发项目决策阶段最重要的工作,主要是讨论和研究准备要开发项目值不值得和能不能做。通过对火车站及旅客购买车票的各个方面进行了具体了解之后,现对火车票订购系统的可行性进行分析,通过对系统目标的初步调研和分析,提出可行性方案并进行论证。这里主要从技术可行性、经济可行性和操作可行性三方面进行分析。 2.2.1 技术可行性 开发工具:Eclipse数据库环境:Oracle 10g系统环境: Windows 7 旗舰版系统以JAVA语言为基础,利用Struts框架和hibernate框架设计系统的框架,以Oracle的基本语言联合java实现对数据库的添加、删除、查找等操作,在技术上应该不存在比较大的问题,所以系统是可行的。2.2.2 经济可行性 开发该系统所需的相关资料可以通过已存在的网上订票系统进行调查采集,所需的其他应用软件、硬件系统也易于获得。因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。 2.2.3 操作可行性 系统实现用户与数据库的交互,界面简洁友好,操作方便。用户只需对订票流程和业务调查了解即可,不需掌握数据库等相关知识。所以,从操作上看,该系统是方便可行的;从系统的需求分析和可行性分析可以看出来,该系统方便,简单,安全,是很有可行性的。2.3 分析网上现有的销售平台的设计思想当前网络中的销售系统基本都是基于B/S模式的。这种模式的系统,用户只需要在客户端使用一个浏览器就可以使用该平台,不需要安装专门的程序,这也是网络化时代下最大便利之处。现在已使用的网络销售系统主要包括两个部分:一个是直接和用户相关的前台程序,用户在前台便可以浏览通告,还可以按照车次、 站点等查询车票信息, 将所需车票点击订购后等待系统的答复。如果答复有票, 旅客须在规定时间内将订、购票所需的费用通过网上银行转账,凭订票个人身份证件取票。如果在指定时间内转账没有成功,所订购车票自动取消。另一个是后台信息管理程序,主要是功能实现的业务逻辑代码。铁路局在此管理列车的相关信息公告,添加、修改车票信息,订单的查询、处理,并管理已注册的管理员信息等。现有销售平台的前台用户程序主要是通过JSP+JQuery+AJAX等实现的,后台的主要思想还是基于最根本的Struts结构,以其为基础或以所开发企业自己的框架思想为基础,利用java语言来实现系统所要实现的销售功能。当然,这些技术只是一个基础,但是也是最主要的。B/ S 结构的软件系统有其特殊性, 决定了对其进行的测试和采用的测试技术也有所特殊。B/ S 结构的软件系统有以下特征:以网页表单的形式展示界面;采用 Cooki es保存用户信息;客户端使用浏览器访问后台服务;采用 B/ S 结构的软件系统的客户端一般只能完成浏览、 查询、 数据输入等简单的功能, 绝大部分工作由服务器承担;信息经过万维网传送。W eb 应用软件是基于 H TTP 协议和 H TM L 构建的, 这使得 W eb 应用软件都遵循统一的结构, W eb 应用软件运行时的一个典型的结构如图 2-4所示。 图2-4 web系统运行结构2.4 分析现有火车票售票系统的特征现有火车票售票系统有两个部分,一个是管理员,另一个是用户。管理员主要是维护系统的安全、可行性及后台数据的安全。除此之外,管理员要对所添加的乘客信息进行审核,审核通过方可购买火车票;管理员还需根据铁路局的相应规划变动,改变、增加、删除火车线路信息,及时更新铁路交通信息,以免给乘客带来不便;管理员还需第一时间发布相关线路变更的通告等。用户主要是注册信息、购买火车票、退票、查看个人订单、添加乘客信息等,这些功能虽然极大的改善了购票难的问题,但是,相对于人们的需要,还不是非常完美。希望随着网络和电子商务技术的快速发展,未来可以实行无纸质票的时代,只需网上购票成功,凭借个人身份证件便可乘坐相应的火车。3. 数据库设计3.1 数据库需求分析 在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后进入数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。数据库需求分析是数据库结构设计的第一个阶段,在这个阶段主要是收集基本数据、数据结构等。数据库分析任务是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。3.2 数据库表设计 经过分析与研究可得,此火车票订购系统主要涉及到五个实体类,故对应有五张表分别为t_user(用户),t_ticket(火车票),t_order(订单),t_train(火车)和t_admitor(管理员)。创建表的SQL数据库基础语言如下:drop table t_ticket;drop table t_order;drop table t_user;drop table t_train;drop table t_admitor;create table t_user( userId number(38) primary key,username varchar2(20) unique,password varchar2(50) ,passwordquestion varchar2(200) ,passwordanswer varchar2(200) ,name varchar2(20) ,gender varchar2(10) ,country varchar2(50) ,cardType varchar2(50) ,cardId number(20) ,birthday varchar2(10),email varchar2(100) ,phone varchar2(50) ,peoOrstu varchar2(50),school varchar2(50);create table t_admitor( adminId number(38) primary key, adminName varchar2(20) not null unique, passwd varchar2(50) not null);create table t_train( trainId number(38) primary key, trainNumber varchar2(20) not null, seatType varchar2(20) not null, startPoint varchar2(20) not null, endPoint varchar2(20) not null, nullSeat number(10) not null, startTime varchar2(20) not null, price number(10) not null, startDate varchar(20) not null, admitor_id number(38), constraint train_admi foreign key(admitor_id) references t_admitor(adminId);create table t_order( orderId number(38) primary key, sumPrice number(10), sumTiNum number(10), user_id number(38), constraint order_user foreign key(user_id) references t_user(userId);create table t_ticket( ticketId number(38) primary key, passengerType varchar2(20) , passengerName varchar2(20) , passCardType varchar2(20) , passCardId number(20) , priceBuy number(10), numberSeat number, train_id number(38), constraint ticket_train foreign key(train_id) references t_train(trainId), user_id number(38), constraint ticket_user foreign key(user_id) references t_user(userId), order_id number(38), constraint ticket_order foreign key(order_id) references t_order(orderId);drop sequence SEQ_COMMON;create sequence SEQ_COMMON increment by 1 start with 1; 根据实体类之间的映射关系,表与表之间也存在约束关系。例如,t_ticket(火车票)表的属性train_id,user_id和order_id分别于t_train(火车)表的属性trainId,t_user(用户)表的属性userId和t_order(订单)的属性orderId存在完整性约束。当订购火车票时,存储火车信息的表和存储用户信息的表必须存在,并且与所存在的信息要一致,否则无法订购。t_admitor(管理员)表主要包括管理员的编号Id、管理员的用户名、密码三个属性。其表如表3-1所示:表3-1 t_admitor(管理员)字段名字段类型长度备注adminName字符20用户名passwd字符50密码adminId数字38管理员Id(主键)t_user(用户)表主要包括用户的编号Id、用户名、密码、姓名、性别、密保问题、密保答案、手机号、证件类型、证件号码、群体属性、邮箱、国家、学校、出生日期十四个属性。其表如表3-2所示: 表3-2 t_user(用户)字段名字段类型长度备注username字符20用户名password字符50密码passwordquestion字符200密保问题passwordanswer字符200密保答案name字符20姓名gender 字符10性别country 字符50国家birthday字符10出生日期email字符100邮箱phone字符50手机号peoOrstu字符50群体属性school字符50学校cardType字符50证件类型cardId数字20证件号码userId数字38用户Id(主键) t_train(火车)表主要包括火车的编号Id、车次、始发站、终点站、发车时间、发车日期、座位类型、空余座位数、票价九个属性,另外管理员的编号Id作为外键属性admitor_id存在。其表如表3-3所示。表3-3 t_train(火车)字段名字段类型长度备注trainId数字38火车编号Id(主键)trainNumber字符20火车车次seatType字符20座位类型startPoint字符20始发站endPoint字符20终点站nullSeat数字10空余座位数startTime字符20发车时间price字符20票价startDate字符20发车日期admitor_id数字38外键t_ticket(火车票)表主要包括火车票的编号Id、乘客类型、乘客姓名、乘客证件类型、乘客证件号码、票价六个属性,另外火车的编号Id、用户的编号Id和订单的编号Id作为外键属性train_id、user_id和order_id存在。其表如表3-4所示。 表3-4 t_ticket(火车票)字段名字段类型长度备注ticketId数字38火车票编号Id(主键)passengerType字符20乘客类型passengerName字符20乘客姓名passCardType字符20乘客证件类型user_id数字38外键train_id数字38外键order_id数字38外键passCardId数字20乘客证件号码priceBuy数字10票价 t_order(订单)表主要包括订单编号Id、总价、总数三个属性,另外用户编号Id作为外键user_id存在。其表如表3-5所示。 表3-5 t_order(订单)字段名字段类型长度备注orderId数字38订单编号(主键)sumPrice数字10总价sumTiNum数字10总数user_id数字38外键 4. 系统实现4.1 系统分析 网络火车票订票系统的实现是旅客能够订购到一张自己满意的车票, 车票的
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 任务书类


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!