民航订票系统毕业设计.doc_第1页
民航订票系统毕业设计.doc_第2页
民航订票系统毕业设计.doc_第3页
民航订票系统毕业设计.doc_第4页
民航订票系统毕业设计.doc_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

哈尔滨商业大学毕业设计(论文)民航售票管理信息系统的开发与设计学 生 姓 名 指 导 教 师 专 业 计算机科学与技术 学 院 计算机与信息工程学院 2010年05月28日Graduation Project (Thesis)Harbin University of CommerceAirline reservation management information system of design and developmentStudent Supervisor Specialty Computer Science and Technology SchoolComputer and Information Engineering 2010-05-28毕业设计(论文)任务书姓名:学院:计算机与信息工程学院班级:(2)班专业:计算机科学与技术毕业设计(论文)题目:民航售票管理信息系统的开发与设计立题目的和意义:自九十年代以来,因特网技术的飞速发展正在迅速地改变着人们的生活方式,因特网正在由科学工作者的工具变为普通百姓获取信息、进行交流的场所,而因特网的商业应用则尤为引人注目。航空公司在因特网上建立网上售票系统不仅方便了旅客,还节省了航空公司的代理费用,加速了资金周转,这为售票成本居高不下的航空公司带来了无限生机。网上售票的另一优点是扩充了航空公司的销售网点,使航空公司通过因特网将其销售网点扩展到全世界。技术要求与工作计划:运行环境:WindowsXP使用语言:Java数据库: MySQL使用工具:MyEclipse,Dreamweaver使用技术:Structs,Springi, Hibernate,jsp时间安排:2010年1月20日2010年3月1日开题报告、系统调研及需求分析整理 2010年3月2日2010年3月15日操作系统、数据库、开发工具的确定 及工具学习 2010年3月16日2010年4月1日概要设计、数据库设计 2010年4月2日2010年4月30日 详细设计 2010年5月1日2010年5月20日系统实现、运行调试、论文书写2010年5月21日2010年6月3日 运行调试、答辩指导教师要求:(签字) 年 月 日教研室主任意见: (签字) 年 月 日 院长意见:(签字) 年 月 日毕业设计(论文)审阅评语一、指导教师评语:指导教师签字:年 月 日毕业设计(论文)审阅评语二、评阅人评语:评阅人签字:年 月 日毕业设计(论文)答辩评语三、答辩委员会评语:四、毕业设计(论文)成绩:专业答辩组负责人签字:年 月 日五、答辩委员会主任签章答辩委员会主任单位: (签章) 答辩委员会主任职称: 答辩委员会主任签字: 年 月 日哈尔滨商业大学毕业设计(论文)摘要航空售票订票是民航管理业务中的一项最基本的业务,表面上,它只是民航业务的一个简单的部分,但它涉及的业务量大,客户多,客户服务等多个方面,因而基于传统的订票方式已经不能满足航空业务流量剧增的要求。本设计用java语言编写利用MyEclipse工具开发的一个航空订票系统。它是根据售票订票的功能需求和业务流程,采用B/S结构进行设计。设计和实现该系统的主要功能包括查询符合乘客需求的航班信息和当前航班的售票订票情况,进行订票,管理机票数据和乘客的信息,添加新航班、更新航班信息,按乘客要求进行退票处理等等。该系统的开发包括两部分的工作:数据库设计和应用程序编制。本设计的数据库采用当今最常用的关系数据库并使用MySQL数据库管理系统进行管理。通过数据库需求分析得到了系统的数据字典,并完成了数据库的概念设计。数据库逻辑设计完成了数据库所有表格的创建。应用程序用MyEclipse进行深入开发。关键词:航空订票;B/S结构;Java;关系数据库AbstractAirline Reservation and ticket-selling is one of the most elementary operations in airline management. Professedly it is just one of simple parts in airline operation, but it includes many operations, clients and client service. As a result the method of traditional ticket-selling cant satisfy the requirement of increasing airline business. This is a unified airline reservation system is encodeing by Java language and developed by MyEclipse According to functional requirement and operation flow, its designed with B/S Framework. The main functions of this system include searching flight details and the current reservation circumstance, booking a ticket, managing information of reservation and passengers, update flight details and airways, returning a ticket .The whole system comprises two parts: database design and application coding. In the design the database is a kind of relation database management system that is now used most popularly. And the database is managed by MySQL.In database demand analysis, data dictionary of the system is brought forth. Conception design of the database is fulfilled by E-R graph. All tables of the system are brought forth in logic design of the database. Application was developed with the development tool of MyEclipse.Keywords: Airline Reservation; B/S Framework; Java; Relation DatabaseII哈尔滨商业大学毕业设计(论文)目 录摘要IAbstractII目 录11绪 论31.1民航售票信息系统的研究背景31.2民航售票信息系统的研究意义32需求分析52.1可行性分析52.1.1经济可行性分析52.1.2技术可行性分析52.2相关技术介绍62.2.1JSP技术62.2.2Struts技术62.2.3Hibernate技术92.2.4Spring技术102.2.5数据库技术122.2.6MyEclipse简介132.2.7B/S结构132.3本章小结143系统设计153.1开发环境简介153.2系统结构设计163.2.1用户模块163.2.2管理员模块163.3系统业务实体设计173.4数据模型设计183.5本章小结204系统实现214.1关键业务流程描述214.2系统界面设计214.2.1系统首页214.2.2机票查询224.2.3用户登录224.2.4用户注册234.2.5用户订票234.2.6个人资料254.2.7管理员登录264.2.8航班管理274.3本章小结295测试与调试305.1软件测试的目标305.2软件测试方案305.3测试流程305.4系统测试315.5本章小结32结 论33参考文献34致 谢35附 录361 绪 论1.1 民航售票信息系统的研究背景在当今社会,随着经济的不断发展,必然带动交通业和旅游业务的不断扩大,特别是航空售票和订票的信息管理日异复杂,传统的手工登记和集中管理已经难以满足快节奏,高效率的现代生活需求。这就需要在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的订票售票的自动化的计算机系统。航空客运业务诞生已有近一个世纪了,作为现有交通工具中最方便快捷的一种,它确确实实地给民众的生活、出行带来了极大的方便。随着航空客运业务多年来的发展,其售票业务也同样不断地发展。回顾航空客运的历史,最早的时候,飞机和机场的数量都很少,于是机票的销售量也非常少,机票直接由机场方面出售,售票的方式也非常简单,现场购买领取机票即可;后来,随着世界经济城市的发展,飞机和机场数量的不断增加,随着世界贸易的开放繁荣、人们对飞机出行的需求和能力的不断增加,航空客运业务的规模日益宏大,于是为了方便客户的购票和航空公司的销售,航空公司在各地设立销售点,将机票分配到各销售网点销售。但是这也带来了许多问题和不便:首先,由于机票是由航空公司按照各销售点平时的销售能力分配给个销售点的,所以并不能实时地反映各销售点的销售情况,也很难实现各销售点间的调节,同时,乘客的询问和购票也产生很多不便。所以,随着航空客运业务的发展,传统售票方式已经不能满足时代的要求。1.2 民航售票信息系统的研究意义随着计算机技术的发展,目前已经进入网络经济时代,基于web实现企业的管理信息系统可以大大提高企业的工作效率、增加利润、降低成本。web services(网络服务)技术是当今计算机软件业的焦点,它在现有的各种异构平台上实现一个通用的与平台无关、语言无关的技术层,使各种平台上的应用系统可以依靠这个技术层来实现彼此的连接与集成。为了满足现代航空业务流量剧增和乘客查询订票的需求,开发一个便于民航管理和乘客订票的综合系统,这对于更有效地服务乘客、提高业务的快速有效性,具有十分重要的战略意义和现实意义。从而实现快速信息传递,为加快和提高票务管理提供了现代化手段。它具有信息传输及时准确,管理标准化和规模化的优点,加强了票务管理,使售票订票效率提高;优化了管理模式,提高了管理水平,联结航班信息网络,作到了数据共享和数据快速查询。43哈尔滨商业大学毕业设计(论文)2 需求分析2.1 可行性分析利用计算机实现网上航空售票势在必行。对于订票者来说,网上订票可以带来极大的便利,操作简单,信息详细。航空售票信息管理是一项琐碎、复杂而又必须十分细致准确的工作,航线信息的管理,客户信息的管理,票务信息的管理,绝对的不允许出错,如果实行手工操作,需手工填制大量的表格,这就会耗费工作人员大量的时间和精力,而且安全度也不理想,利用计算机进行航空公司信息工作的管理,不仅能够保证各项信息准确无误、快速输出,同时计算机具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,这些优点能够极大地提高航空售票的效率。2.1.1 经济可行性分析从市场经济来看,近年来,国人生活品质提升,渐渐重视生活品质,上网便成了人们生活的一部分。当今社会已步入了一个全新的信息时代,人类的每个活动都和“信息”紧密的联系在一起,小至个人的衣食住行,大及各个组织,单位之间的商务贸易,甚至国际间的交流,合作都依于信息的传播与发布,而社会中最活跃的,在市场经济高速度发展的现在,其各个环节更是和“信息”二字密不可分。今天,在我们身边,信息化革命势不可挡,它的影响将远远大于以前的任何一种技术发明,而这种革命现在最直接与我们接触的就是英特网,它是传播信息最直接、最快速的手段,它可以让全球的人以最快的速度得到最新的信息。网上售票必成为人们所能接受且热衷的一种订票方式。从技术经济来看,由于MySQL数据库和Tomcat服务器都是开源的免费的开发学习工具,而且本系统使用灵活方便,所需的开发人员不多,技术也不是很复杂,开发周期较短,因此开发成本较低。市场前景非常看好,所以说技术经济方面来看,本项目也是可行的。由此可以看出本系统开发所产生的效益将大于投入,所以开发本项目是可行的、必要的。2.1.2 技术可行性分析本系统采用的是Java、JSP、Struts、Hibernate、Spring和MySQl开发,WindowsXP操作系统,用Dreamweaver进行页面设计,采用SSH与后台数据库进行连接,完成数据的添加、删除、查询等功能。由于MySQL功能强大,而Struts、JSP灵活易维护在开发方面具有方便快捷、使用灵活的特点,因此使用JSP、Struts、Hibernate、Spring和MySQL是开发轻平台的最佳组合从而说明本系统在技术方面可行。2.2 相关技术介绍2.2.1 JSP技术JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术,类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)1。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器2。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。它具有以下特点:(1) 它如同ASP技术一样容易入门,而且它的语法较为简单,如果你有相关的高级编程语言的基础的话,它的语法根本不是障碍。(2) JSP实际上是SERVLET(服务器小程序)的进一步的封装和抽象,使得开发人员可以集中精力关注核心的编程问题;大大的减轻了开发人员的负担。(3) 可以用JAVA语言开发出JAVABEANS组件,封装相同的代码,进行相关的复杂的计算,从而在开发的时候可以减轻动态面的程序的编写量,同时还可以简化相关的逻辑处理3。而且,JAVABEANS组件相比其他的组件技术要容易的多,而且,他不必在系统中注册,便可以使用。(4) JSP实际上是SERVLET的一种抽象,如果能够在使用JSP的同时,灵活的使用相关的SERVLET技术,可以进一步的体会JSP技术的优势。2.2.2 Struts技术Struts是一种实现了MVC模式的框架,全部的请求都由一个被称为ActionServlet的Servlet来接收并控制。Struts并没有取代Jsp,Servlet,只是将其组织起来。Struts是Apache软件组织提供的一个开源项目,为Java Web应用提供MVC框架,适用于开发大型可扩展的Web应用4。在MVC刚刚出现的时候,开发人员需要花大量的时间在MVC模式的实现上,而Struts则恰恰实现了这种开发模式,开发人员只需在此基础去实现自己的逻辑处理,而不耍花费大量的时间在模式的实现上。Struts对应MVC的三层分别有对应的实现方法:Struts中的Java Bean以及大型项目中的EJB对应MVC中的Model层,MVC的Controller层对应Struts的Action及ActionServlet,Struts的ActionForm以及JSP页面对应MVC的视图层,在视图层Struts提供了大量的标签库用来显示数据,Struts的各个组成部分全部由Struts的主配置文件Struts-config.xml联系在一起5。Struts的工作过程如图2-1:浏览器ActionServletActionJSPActionFormStruts-config.xmlRequestResponseInvoke图2-1 Struts的工作过程当用户向Web Server发出请求时,Web Server将请求转交给ActionServlet,由Servlet决定调用哪些Action,然后根据Struts-config.xml的配置对应相应的Form来读取数据,并调用相应的业务逻辑处理方法进行处理,然后将处理后的结果传递到JSP提供给用户。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。 Struts开放源码框架的创建是为了使开发者在构建基于Java Servlet和JavaServer Pages(JSP)技术的Web应用时更加容易。Struts框架为开放者提供了一个统一的标准框架,通过使用Struts作为基础,开发者能够更专注于应用程序的商业逻辑。Struts框架本身是使用Java Servlet和JavaServer Pages技术的一种Model-View-Controller(MVC)实现。 具体来讲,Struts的优点有:(1) C模式,结构清晰,使开发者只关注业务逻辑的实现。(2) 有丰富的tag可以用,Struts的标记库(Taglib),如能灵活动用,则能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。(3) 页面导航。页面导航将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。 (4) 提供Exception处理机制。(5) 数据库链接池管理。Struts的缺点有:(1) 转到展示层时,需要配置forward,每一次转到展示层,相信大多数都是直接转到jsp,而涉及到转向,需要配置forward,如果有十个展示层的jsp,需要配置十次struts,而且还不包括有时候目录、文件变更,需要重新修改forward,注意,每次修改配置之后,要求重新部署整个项目,而tomcate这样的服务器,还必须重新启动服务器,如果业务变更复杂频繁的系统,这样的操作简单不可想象。现在就是这样,几十上百个人同时在线使用我们的系统,大家可以想象一下,我的烦恼有多大。(2) Struts 的Action必需是threadsafe方式,它仅仅允许一个实例去处理所有的请求。所以action用到的所有的资源都必需统一同步,这个就引起了线程安全的问题。 (3) 测试不方便。Struts的每个Action都同Web层耦合在一起,这样它的测试依赖于Web容器,单元测试也很难实现。不过有一个Junit的扩展工具Struts TestCase可以实现它的单元测试。 (4) 类型的转换。Struts的FormBean把所有的数据都作为String类型,它可以使用工具Commons-Beanutils进行类型转化。但它的转化都是在Class级别,而且转化的类型是不可配置的。类型转化时的错误信息返回给用户也是非常困难的。 (5) 对Servlet的依赖性过强。Struts处理Action时必需要依赖ServletRequest 和ServletResponse,所有它摆脱不了Servlet容器。 (6) 前端表达式语言方面。Struts集成了JSTL,所以它主要使用JSTL的表达式语言来获取数据。可是JSTL的表达式语言在Collection和索引属性方面处理显得很弱。 (7) 对Action执行的控制困难。Struts创建一个Action,如果想控制它的执行顺序将会非常困难。甚至你要重新去写Servlet来实现你的这个功能需求。 (8) 对Action 执行前和后的处理。Struts处理Action的时候是基于class的hierarchies,很难在action处理前和后进行操作。 (9) 对事件支持不够。在struts中,实际是一个表单Form对应一个Action类(或DispatchAction),换一句话说:在Struts中实际是一个表单只能对应一个事件,struts这种事件方式称为application event,application event和component event相比是一种粗粒度的事件。 Struts重要的表单对象ActionForm是一种对象,它代表了一种应用,这个对象中至少包含几个字段,这些字段是Jsp页面表单中的input字段,因为一个表单对应一个事件,所以,当我们需要将事件粒度细化到表单中这些字段时,也就是说,一个字段对应一个事件时,单纯使用Struts就不太可能,当然通过结合JavaScript也是可以转弯实现的。2.2.3 Hibernate技术Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲地使用面向对象编程思维来操纵数据库,Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序中使用,也可以在Servlet/JSP的Web应用中使用。Hibernate的作用就是介于Java与JDBC之间的一个持久层,它通过建立与数据库表之间的映射来操纵数据库,Hibernate是基于JDBC之上的6。Hibernate是一个实现了ORM映射的开发框架,主要实现数据库表与Class的映射。主要组成部分有:对应每个数据库表有一个对应的hbm.xml文件和持久化类以及对数据库进行操作的DAO类,Hibernate有一个Hibernate.cfg.xml文件,用来描述数据库的连接信息以及关联这些hbm.xml配置文件,在Hibernate中利用一个Factory辅助类来获得与数据库之间的会话和面向用户的Servers层。当需要与数据库进行的交互时,用户将需要处理的数据封装到数据持久化类,但这是这个类并没有被持久化,通过Hibernate的Transction接口开启事务处理过程,将含有数据的类持久化,即与数据库中的数据建立映射关系,然后通过Transction的Commit方法将持久化类中的数据与数据库中的数据进行同步,然后关闭会话Session,此时,实例化对象的状态由持久转变为脱管,Hibernate的工作过程如图2-2:DatabaseApplicationHibernatePersistent ObjectHibernate.cfg.xml.hbm.xmlDAO图2-2 Hibernate的工作过程大多数开发机构经常采取创建各自独立的数据持久层。一旦底层的数据结构发生改变,那么修改应用的其余部分使之适应这种改变的代价将是十分巨大的。Hibernate适时的填补了这一空白,它为Java应用提供了一个易用的、高效率的对象关系映射框架。hibernate是个轻量级的持久性框架,功能却非常丰富。优点:(1) Hibernate使用Java反射机制而不是字节码增强程序来实现透明性。(2) Hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。(3) 它支持各种关系数据库,从一对一到多对多的各种复杂关系。 2.2.4 Spring技术Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发7。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转和面向切面的容器框架。Spring有以下几个特点:(1) 定位的领域是许多其他流行的framework没有的。Spring关注提供一种方法管理你的业务对象。 (2) Spring是全面的和模块化的。Spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。因此从你的学习中,你可得到最大的价值。例如,你可能选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象。 (3) 它的设计从底部帮助你编写易于测试的代码。Spring是用于测试驱动工程的理想的framework。 Spring框架的好处:(1) Spring能有效地组织你的中间层对象,无论你是否选择使用了EJB。如果你仅仅使用了Struts或其他的包含了J2EE特有APIs的framework,你会发现Spring关注了遗留下的问题。 (2) Spring能消除在许多工程上对Singleton的过多使用。这是一个主要的问题,它减少了系统的可测试性和面向对象特性。 (3) Spring能消除使用各种各样格式的属性定制文件的需要,在整个应用和工程中,可通过一种一致的方法来进行配置8。曾经感到迷惑,一个特定类要查找迷幻般的属性关键字或系统属性,为此不得不读Javadoc乃至源编码吗?有了Spring,你可很简单地看到类的JavaBean属性。倒置控制的使用(在下面讨论)帮助完成这种简化。 (4) Spring能通过接口而不是类促进好的编程习惯,减少编程代价到几乎为零。(5) Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs。在Spring应用中的大多数业务对象没有依赖于Spring。 (6) 使用Spring构建的应用程序易于单元测试。 (7) Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能选择用POJOs或local EJBs来实现业务接口,却不会影响调用代码。 (8) Spring帮助你解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物,它们适于许多web应用。例如,Spring能使用AOP提供声明性事务而不通过使用EJB容器,如果你仅仅需要与单个的数据库打交道,甚至不需要JTA实现。 总结起来,Spring有如下优点:(1) 低侵入式设计,代码污染极低。(2) 独立于各种应用服务器,可以真正实现Write Once,Run Anywhere的承诺。(3) Spring的DI机制降低了业务对象替换的复杂性。(4) Spring并不完全依赖于Spring,开发者可自由选用Spring框架的部分或全部。 2.2.5 数据库技术数据库是长期存储在计算机内的、有组织的、可共享的数据集合9。数据库中的数据按一定的数据型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。(1)物理数据层。它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。(2)概念数据层。它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。(3)逻辑数据层。它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。数据库不同层次之间的联系是通过映射进行转换的。数据库具有以下主要特点:(1)实现数据共享。数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。(2)减少数据的冗余度。同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。(3)数据的独立性。数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。(4)数据实现集中控制。文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。(5)数据一致性和可维护性,以确保数据的安全性和可靠性。主要包括:安全性控制:以防止数据丢失、错误更新和越权使用;完整性控制:保证数据的正确性、有效性和相容性;并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破。数据库管理是有关建立、存储、修改和存取数据库中信息的技术,是指为保证据库系统的正常运行和服务质量,有关人员须进行的技术管理工作10。负责这些技术管理工作的个人或集体称为数据库管理员(DBA)。数据库管理的主要内容有:数据库的建立、数据库的调整、数据库的重组、数据库的重构、数据库的安全控制、数据的完整性控制和对用户提供技术支持。2.2.6 MyEclipse简介MyEclipse是一个专门为Eclipse设计的商业插件和开源插件的完美集合。MyEclipse为Eclipse提供了一个大量私有和开源的Java工具的集合,很大程度上解决了各种开源工具的不一致和缺点问题,并大大提高了Java和JSP应用开发的效率。MyEclipse的实际价值来自其发布的大量的可视化开发工具和实用组件。如CCS/JS/HTML/XML的编辑器,帮助创建EJB和Struts项目的向导并产生项目的所有主要的组件如Action/Session Bean/Form等,此外还包含编辑Hibernate配置文件和执行SQL语句的工具。和.NET平台开发工具VS20003/VS2005以及以前的快速开发RAD工具Delphi,PowerBuilder等相比,Java/JSP应用开发的低效率一直是个缺陷。直到Eclipse和MyEclispe等出现后,情况才有所改观(尤其是MyEclispe等可视化开发插件),大大提高了开发效率。新版本的MyEclipse提供了AJAX、Struts Development、Hibernate Tools、Spring IDE Integration等功能。这些功能毫无疑问可以简化Web应用开发,并对Struts、Hibernate、Spring等开发框架的广泛应用起到了非常好的促进作用。此外MyEclipse还包含大量由其他组织开发的开源插件,Genuitec增强了这些插件的功能并且撰写了很多实用文档便于开发者学习。综上所述,MyEclipse插件对加速Eclipse的流行起到了很重要的作用,并大大简化了复杂Java/JSP应用的开发。2.2.7 B/S结构B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库11。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过eb Server 同数据库进行数据交互。B/S架构软件的优势与劣势:(1)维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S结构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。(2)成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。 现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使得最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。(3)应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。2.3 本章小结本章主要介绍了民航售票系统的开发的可行性,及所采用的关键技术介绍,综上所述,本设计技术成熟,可行性高,具有良好的市场前景和拓展空间。3 系统设计3.1 开发环境简介民航售票系统采用Spring、Struts、Hibernate作为系统架构,Spring是系统架构的构造者,本系统中使用了持久化管理,即用Hibernate取代了原有的JDBC操作。在Spring中Bean来管理持久化层和访问层与Hibernate相连接进行数据库的操作,视图层和控制器层是通过Struts系统架构实现的。系统架构图如图3-1,系统的总体运行环境如下:开发语言:Java开发平台:Eclipse 6.5Web服务器:Tomcat 6.0.20系统框架:Spring+Struts+Hibernate数据库服务器:SQL Server 2005视图viewAction模型javabeannStruts框架web服务器对象关系映射文件数据库服务层用户请求Spring的AOP+Spring的事务控制Spring的JDBC接口Spring反转控制Spring的Action代理Hibernate配置持久化操作Hibernate控制器ActionServletSpring框架图3-1 系统架构图3.2 系统结构设计一个完整的航空票务系统面向的对象应该有管理员和客户,提供的服务要因身份不同而多种多样。本系统开发了一个面向客户和管理员的平台,对用户提供的服务有登录,用户信息管理,查询航班,预订机票,退票服务;对管理员提供的服务有登录,制定航班和安排航班日程服务。因此,系统分有用户和管理员两个模块。3.2.1 用户模块用户模块应该具有如下功能:(1) 注册用户账户。用户登录是一个网络应用系统必需的功能之一,用户想要使用系统提供的功能,就必须先拥有一个账户,因此要到系统中注册一个账户,用户在注册时,系统要求用户输入注册信息,包括用户名,密码,确认密码,email,联系方式。如果用户名已经存在,系统将向用户显示相应的错误信息。注册完之后,可以进行登录。(2) 利用注册的账户登录到系统。登录页面要求用户输入用户名和口令,在输入用户名和口令之后,系统将验证用户名和口令是否正确,如果验证成功,就使用户处于登录状态,否则,系统显示,用户名或密码错误的信息。(3) 修改用户信息。用户登录后可以随时修改个人的注册信息。(4) 查询机票的发售情况。用户可以通过系统查询当前发售的有哪些机票可供自己选择。(5) 预订机票。用户找到需要的机票就可以在系统中进行预订。(6) 退票。如果用户因为某些原因要退掉机票,就可以在系统中实现。3.2.2 管理员模块管理员模块应该具有如下功能:(1) 管理员利用管理员账号登录,进入系统。(2) 进入系统后,添加新航班。(3) 进入系统后,删除航班。(4) 进入系统后,可以查询用户的订票情况。下面用数据流图来表示整个系统中的数据的流向,如图3-2所示。 注册信息 登录信息 登录信息 制定航班信息 订票 / 退票 查询订票情况 修改信息 删除航班管理员用户业务中心图3-2数据流图系统用例图,如图3-3所示:注册登录查询机票添加航班用户管理员预订机票修改航班退票修改信息图3-3系统用例图3.3 系统业务实体设计一个系统的业务实体在内存中表现为实体域对象,在数据库中表现为关系数据库。本系统中所涉及的可以抽象出来的实体模型有用户,管理员,航班,航班安排和订单,这几个实体在系统中进行交互。(1) 用户:代表一个用户实体,主要的属性有用户名,密码,电子邮件,电

温馨提示

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

评论

0/150

提交评论