基于java的航空查询系统 (毕业设计)

上传人:仙*** 文档编号:130157373 上传时间:2022-08-04 格式:DOC 页数:27 大小:1.40MB
返回 下载 相关 举报
基于java的航空查询系统 (毕业设计)_第1页
第1页 / 共27页
基于java的航空查询系统 (毕业设计)_第2页
第2页 / 共27页
基于java的航空查询系统 (毕业设计)_第3页
第3页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
摘 要在现实生活中,人们往往要处理大量繁杂的数据。在这种情况下,利用日趋成熟的计算机技术和数据库查询技术来进行数据处理非常方便。各种信息查询软件也就随之出现了。当今的航空客运服务业发展十分迅速,它是现代生活高节奏的一个有力体现。在航空服务业中,飞机订票业务是一项重要内容,它大大方便了人们的旅行。当前中国民航市场扩大迅速,随着生活水平的提高,越来越多的人选择飞机出行,对航空公司的服务要求的越来越高,为了适应快速发展的需求,查询大量数据,有效地稳定的查询航空公司,在此将开发一个航空公司信息查询系统,要求能通过该系统为旅客提供方便的航空路线查询。【关键词】:航空信息查询;软件工程;Java目 录一、系统设计概述4(一)系统的开发的目的与意义4(二)系统的开发背景4二、可行性研究与需求分析6(一 )可行性研究6(二)需求分析7三、 总体设计8(一)总体设计原理8(二)系统功能分析9(三)系统模块设计9(四)系统结构图9(五)系统的数据库设计10四、详细设计12(一)设计概述12(二)系统登录界面设计13(三)系统首界面设计和查询设计14(四)系统维护设计14五、系统测试、编译与发行15(一)程序功能测试15(二) 测试bug:16结束语17参考文献18一、系统设计概述(一)系统的开发的目的与意义随着科学技术的不断的进步和发展,计算机已经应用到各个领域。在科学研究、军事领域、计算机图形学、以及小到我们的日常生活中计算机无处不在,尤其是目前,计算机软件技术的发展已达到了相当高的水平,它含盖了我们生活的方方面面,例如:大型超市查询系统、公司查询系统、教学查询系统、酒店查询系统等都是现在的热点开发项目。目前,我国一些旅行社和酒店的机票预定还停留在人工处理阶段,这已经严重制约了工作效率,在计算机技术高速发展的今天,有必要引入高效的计算机系统,来协助处理机票预定工作。因此,开发一套具有完整的存储,查询,核对,打印机票功能的实时机票预定系统更现紧迫。机票预定系统应克服存储乘客信息少,查询效率低下等问题外,更重要的是其安全性,可靠性,这关系到航班和乘客的安全及准确,本系统因面向广大机票预定网点,因此要能在售票网点中普及,则需要开发一个功能全,价格能被顾客所接受的系统。 在系统开发中包括很多环节,例如旅客信息的输入、机票信息的传递及接收、取票通知及帐单的生成和打印、机票销售情况的核算等等。其中较为重要的一个环节是旅客信息查询系统,同时在此系统中也是一个比较繁杂的环节。(二)系统的开发背景 随着科学技术的发展,新颖的图形用户界面、卓越的多任务操作系统性能、高层次的软件开发平台风靡全球。人们要求的不断提高,可视化的图形用户界面对比原来的结构化程序设计语言更为简单易用,且编程系统采用面向对象、事件驱动的编程机制,提供了一种所见即所得的可视界面设计方法。 在众多的编程语言中,VB可以快速地创建多媒体、图形界面等应用程序。VB6.0企业版除了具有专业版的全部功能外,还包括BackOffice。目前在大多数机票预订系统中,各种操作工作主要还是完全依赖于人工完成,例如:在机票的预订中每天的销售额统计,通过人工进行计算,这需要查询人员的很好的记忆力及计算能力,但工作中的数据量一旦增加,人工计算就会显示工作效率低,计算不准确等因素,还可能受到外在因素的影响。人工查询还存在许多弊端,由不可避免的人为因素引起,造成数据错误、遗失等。而计算机查询存储量大,运算速度快等许多诸多优点,给我们提供了处理信息及时、快捷,因此我们可以利用计算机,实现系统的查询。二、可行性研究与需求分析 (一 )可行性研究新系统目标应充分为机票预定查询服务,同时,新系统目标应该和现行系统的各项基本功能密切相关,并且可以分期分批实现。需要指出的是,新系统目标不可能在总体规划阶段就提得非常具体,它还将在开发过程中逐步明确和定量化。新系统目标的提法不尽相同。 1技术可行性随着计算机科学技术的不断进步,查询信息系统在各个领域上广泛应用。我国虽处在发展中,但商品经济的热潮已经不断增长,且人们对于科技的投资正在不断的加大,在现代的网络与信息技术的高速发展人们对生活质量的要求不断的提高,及信息技术的依赖,为了适应当前的发展形势,跟上现代科技的发展所以我们有必要为当前数量较多的酒店、旅行社及机票预售点设计更为方便快捷的系统,从而更有利于经济的发展。该机票预定系统是以数据库为后台核心应用、以服务为目的信息平台,对资源进行科学的加工整序和查询维护。 2经济可行性该系统的目标是以最低的成本,最低的投入,在较短的时间内参阅大量的资料开发出具有用户登录、存储,查询,核对,打印机票等基本功能,预期系统设计期间所投入的资金较小,从经济角度考虑,此系统开发可行。 3操作可行性目前,市场经济已经覆盖了全国各个地区,大中小型发达城市,从而满足了人们日益增长的物质需求。人们物质文化水平的不断提高和科学技术的不断进步以及人们对快速高效的工作效率要求不断的提高,为我们开发使用机票预订系统打下了坚实的基础。 4社会因素可行性从安全角度考虑,所有技术参考资料都经授权,所有软件都选用正版和免费。 (二)需求分析1系统功能及用户需求分析该系统主要分为五大功能:系统查询、新增、修改、查询和系统维护。机票预定系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。2。数据描述机票预定系统的数据需求包括如下几点:数据录入和处理的准确性和实时性数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。 数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。三、 总体设计 (一)总体设计原理典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。表现层是传统的JSP技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。Web层,就是MVC模式里面的“C”(controller),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用Struts。Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架。Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。 在传统的Model 1的程序结构中,只要有一点小的需求发生改变,将意味着放弃整个页面。或者改写。虽然前期的开发速度快,除非可以保证以后永远不会改变应用的结构,否则不要采用Model 1的结构。采用Hibernate作为持久层技术的最大的好处在于:可以完全以面向对象的方式进行系统分析、系统设计。DAO模式需要为每个DAO组件编写DAO接口,同时至少提供一个实现类,根据不同需要,可能有多个实现类。用Spring容器代替DAO工厂通常情况下,引入接口就不可避免需要引入工厂来负责DAO组件的生成。Spring实现了两种基本模式:单态模式和工厂模式。而使用Spring可以完全避免使用工厂模式,因为Spring就是个功能非常强大的工厂。因此,完全可以让Spring充当DAO工厂由Spring充当DAO工厂时,无须程序员自己实现工厂模式,只需要将DAO组件配置在Spring容器中,由 ApplicationContext负责查询DAO组件的创建即可。借助于Spring提供的依赖注入,其他组件甚至不用访问工厂,一样可以直接使用 DAO实例。(二)系统功能分析 该系统从功能实现了对航空信息的查询,修改,删除,添加功能。在该系统中主要是对航空信息的操作和查询,修改,删除,添加功能都是为查询做基础,在整个系统中作为用户只对查询功能做操作,通过删除,修改,添加功能来及时更新航空信息,以保证用户在查询航空信息的时候能得到更全面更及时的信息。这样使得该系统的实用性更强。(三)系统模块设计 该系统从模块划分可以分为两大模块:用户查询模块,查询员对航空信息的维护模块。1.用户查询模块的设计机制就是用户和服务器的交流,通过用户给定的条件提交给服务器,服务器返回给用户需要的信息。2.查询员维护模块通过查询,修改,删除,添加功能及时的维护服务器的数据和信息,保证航空信息的真实,及时,全面性。(四)系统结构图从功能和模块结合,系统结构和流程图如下(图3-1):数据库用户查询员用户筛选条件身份验证维护和更新数据服务器图 3-1 系统流程图(五)系统的数据库设计 本系统建有两张数据表:用户信息表(tb_user)和航空信息表(tb_ ticket)。1. 用户信息表(tb_user)(表3-1)用于保存用户的信息表3-1 用户信息表字段名数型字段描述useridNumber用户的唯一标识(seq_userid)UsernameChar(32)用户登录的用户名PasswordChar(32)用户登录的密码TelChar(16)用户的电话e-mailChar(32)用户的电子邮件AddressChar(256)用户地址2. 航空信息表(tb_ ticket)(表3-2)用于保存航空信息。表3-2 航空信息表字段名数据类型字段描述TicketidNumber机票的唯一标识(seq_ticketid)TicketnumChar(32)机票编号TicketnameChar(128)机票对应的航空公司StartChar(128)飞机起点站EndChar(128)飞机终点站SurplusNumber机票剩余的数量FlightnumChar(32)航班编号StarttimeChar(32)飞机起飞时间EndtimeChar(32)飞机到终点时间priceFloat飞机票价格四、详细设计 (一)设计概述 从设计上概述,该系统使用了MVC模式设计,MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能。(二)、总体设计构架。1、设计需要的架包,以下架包,包括了ssh三大框架需要的架包和数据库驱动架包,如图:图4-1图4-1 系统架包结构2、后台java代码部分创建的类和包。后台代码部分完成了分为两点,数据操作和逻辑控制,数据操作主要是在avitionDAO和avitionservice两个包中,使用spring的原理操作数据,包类架构如下,图4-2图4-2 后台代码结构3、前台页面设计构架,前台页面分为前台和后台两个模块,模块一,用户查询模块,模块二,管理员数据管理页面,设计构架如图,图:4-3图:4-3 前台页面结构4、css样式和js架包设计构架在前台页面设计上,为了保证给用户友好的界面操作,主要使用了jquery框架,和css样式设计,为了保证用户和管理员在查询条件和数据操作时的对字段的一致性,页面设计上使用了日历选择器和全国省市二级联动。器架包架构如图:图4-4图4-4 css和js架包结构5、struts和spring配置Struts和spring配置文件提供了,前台和后台java代码的交互,以及提供了连接数据库的连接,配置代码如见附录struts.xml。Beans.xml:(二)系统登录界面设计 如图4-5,登录页面的设计的要点在于登录验证,对于管理员的帐号和密码必须在服务器是存在的,密码输入框的type为password,并且在管理员输入帐号或密码错误,帐号和密码没有输入的情况下都给于不同的提示,以引导管理员正确的登录。图 4-5 系统登录界面(三)系统首界面设计和查询设计如图4-5在首页将页面分为条件输入模块和返回信息显示模块。在条件输入模块中对于地点的输入使用jquery的动态级联选择城市,日期使用jquery的日期选择器来选择时间,这样做的好处是保证了数据类型的稳定,不需要对用户提供的条件信息做太多的筛选。在返回信息显示模块中使用了标签迭代显示信息,同时使用无刷新分页异步请求技术,减少了用户等待的时间。图4-6 查询设计界面(四) 后台管理设计作为后台管理页面对数据的更新,系统提供了对航空信息的查询,修改,查看,删除四个功能,以保证能及时的更新航空信息。1、航空信息浏览页面。航空信息浏览页面,在管理员登录后直接跳转到该页面,提供给管理员浏览信息,页面如下:图4-7图4-7 信息浏览界面2、航空信息查看页面。点击每条记录后面的【详情】标签,页面将跳转到航空信息详情也页面,提供更详细的信息,如图:图4-8图4-8 信息详情界面3、航空信息删除功能。在浏览的过程中,如果需要删除页面信息,就在每条记录前面的多选框打上勾,然后点击表头上的【删除】按钮,选中的信息就会呗删除。4、航空信息修改页面。点击每条记录后面的【修改】标签,页面跳转到修改页面,并且页面会显示该条记录的详细信息,如果需要修改某一个字段,可直接在文本框输入修改后的信息,如图:图4-9图 4-9 信息修改页面(五)系统维护设计系统的维护设计依赖于管理员的后台操作,在管理员操作模块中,通过系统提供的对航空信息的添加、修改和删除功能及时的更新数据库信息。作为维护设计专门提供的管理员操作模块主要是为了给信息和数据库的维护提供了方便和简单的操作维护。以提高系统的性能。五、系统测试、编译与发行 (一)程序功能测试该系统测试环境如下表:表5-1系统测试环境表硬件环境Cup“双核1.75GHz 内存:1GB软件环境Window 7、myeclipse6.5、jdk1.6.2、tomcat6.0、IE9在系统的测试过程,以用户的身份登录index.jsp页面做测试,步骤如下:1. 输入条件,如表:表5-2 输入条件表系统需要条件用户输入条件输入数据类型出发城市武汉String到达城市上海String出发时间20120228String2. 服务器返回数据信息,如表:表5-3 返回数据表返回信息名返回信息数据返回信息数据类型出发城市武汉String到达城市上海String航班编号2012022801Int航班起飞时间201202281445Int航班降落时间201202281326Int飞机票价格248.00Float3.测试流程图如下:开始输入条件条件判断是否响应返回数据结束FalseTrueFalseTrue向服务器发出请求图5-1 系统测试流程图(二)测试bug:测试过程中,使用了大量的测试数据进行测试系统的性能,用户数据输入错误给予提示:出发城市有误、到达城市有误、出发时间有误、没有您需要的信息等。出现的bug主要在服务器返回数据不全面,无法返回数据等,通过大量的测试最终解决bug。结束语 在万般煎熬中完成了前面连篇累牍的正文内容之后,总算能够开始写结束语,这应该是一个小小的胜利。我也很高兴看到在大学本科的毕业设计论文中能设置“结束语”这么一个富有人性化的小版块。但我相信“结束语”在各位审阅论文老师心中的权重较之论文正文内容恐怕不可同日而语,即便是学生随便写些东西充字数或者干脆写一套形式化的语言,相信各位老师也会足够大度,不去计较。但我想既然是设置了这么一个人性化的版块,不如就写些人性化的东西,想我所写,写我所想,为冷冰冰的论文增加一些人味儿,附带为论文充些字数。如果说我大学三年在自己的专业领域内有什么重要收获的话,那就是在三年的大学中,我对计算机的兴趣再次的提升,从高中对计算机的一种无知的狂热,到现在自己都能成为一个能做出设计的程序员,我感到很大的欣慰。计算机这个改变这个社会运作的东西,让我们在不管是学习或者是工作亦或者是生活中给我们带来的不仅仅是乐趣,更多的是方便和快捷。大学三年的学习让我成为了一名小小的程序员,希望以后的工作中,我能成为一名提升社会对计算机使用的质量的程序员。最后还要感谢很多为我上过课的老师,感谢他们宽进宽出的教学态度,各具特色的教学方法和全心全意替学生着想的无私精神,使得我各个学科的期末考试和历次课程设计都能顺利通过。这些老师是中国众多高校教授的代表,通过这些老师,我也见识了不少实用主义的工作作风和技巧,想必以后能从中受益。参考文献 1 姚春龙,数据库系统基础教程,北京航空航天大学出版社,2003年3月2 赵强, SQL Server 数据库编程技法范例,清华大学出版社,2005年3月3黄梯云,管理信息系统,高等教育出版社,20084甘初初,信息系统开发,经济科学出版社,20055 肖金秀. JSP 网络编程技术M. 北京:清华大学出版社 2007:14-17.6 郑人杰,殷人昆. 软件工程概论M. 北京:清华大学出版社 2004:65-70.7 耿祥义,张跃平 编著.JAVA2实用教程(第二版)M.北京:清华大学出版社,2004.11.8 孙卫琴精通Struts:基于MVC的Java Web设计与开发北京:电子工业出版社,2004: 1-99 毕建信基于MVC设计模式的Web应用研究与实现武汉:武汉理工大学,200610 贺松平基于MVC模式的B/S架构的研究及应用武汉:华中科技大学,【附录】一、 struts.xml文件代码如下:!- -avitionindex.jspindex.jspindex.jsplistavitionlogin.jsplistavitionupdateavition.jsplistavitionshowavition.jsplistavitionindex.jspindex.jspindex.jsp二、 beans.xml代码如下:classpath*:/application.propertiesafter_transaction$hibernate.dialect$hibernate.show_sql$hibernate.format_sqlcom/avition/dto/user.hbm.xmlcom/avition/dto/avitionPiao.hbm.xml27
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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