基于j2ee的机票管理系统的研究与设计_第1页
基于j2ee的机票管理系统的研究与设计_第2页
基于j2ee的机票管理系统的研究与设计_第3页
基于j2ee的机票管理系统的研究与设计_第4页
基于j2ee的机票管理系统的研究与设计_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

论文分类号TP学校代码13681题目基于J2EE的机票管理系统的研究与设计学生姓名高飞学号2508307系部信工四系专业班级信工083指导教师张涛二一一年七月RESEARCHANDDESIGNOFTICKETMANAGEMENTSYSTEMBASEDONJ2EEABSTRACTJ2EEAIRLINERESERVATIONSYSTEMSTOPROVIDEANYTIME,ANYWHERENETWORKUSERSCANQUERYFLIGHTS,BOOKINGAIRTICKETSINTODAYSFASTPACEOFLIFE,THEFAST,READYTOORDERTICKETSCANSAVEUSERSALOTOFTIME,AGREATCONVENIENCEFORUSERSTHISPAPERANALYZESTHEPRINCIPLESOFSOFTWARERELATEDTECHNOLOGY,GIVESTHEGRADUATEDESIGNSOFTWAREARCHITECTURE,ANDARCHITECTUREANDSTRUCTUREWASDIVIDEDINTOSOFTWAREMODULESANDDESIGNINTHISPAPER,THEDESIGNOFTHELANGUAGESCHOOLONTHEUSEOFTHEPOPULARJAVALANGUAGE,THROUGHMYECLIPSE65,CSS,TOMCATANDMYSQLDATABASEANDOTHERPOWERFULFEATURESTOCOMPLETETHESOFTWAREDEVELOPMENTTHEGRADUATIONTAKESFULLADVANTAGEOFJSPDEVELOPMENTTECHNOLOGYISBASEDONMYECLIPSE65FORTHETICKETORDERINGSYSTEMDESIGNANDIMPLEMENTATIONPROVIDESAGOODDEVELOPMENTPLATFORM,ANDUSESPARALLELDEVELOPMENTMODELFORTHEDEVELOPMENTOFGRADUATIONUSERSOFTHISSOFTWARE,YOUCANSEARCHANDQUERYTHESPECIFIEDDATE,THEAIRPORTSFLIGHTANDORDERTHECORRESPONDINGTICKET,THEADMINISTRATORCANQUERY,MODIFY,ORDELETEINFORMATIONONAIRCRAFTANDOTHERFUNCTIONSKEYWORDSJAVA,AIRLINERESERVATIONSYSTEMS,MYECLIPSE65,MYSQL基于J2EE的机票管理系统的研究与设计摘要J2EE航空订票系统可以为网络用户提供随时随地的查询航班、订购机票,在当今高速的生活节奏下,能够快速、随时的订购机票可以为用户节省大量的时间,极大的方便了用户。本文主要分析了该软件实现的相关技术原理,给出了软件实现的毕业设计架构,并对架构及软件模块结构作了划分及设计。本文在毕业设计的语言上采用了当前流行的JAVA语言,通过MYECLIPSE、CSS、TOMCAT和MYSQL数据库等的强大功能完成了该软件的开发。本毕业设计充分利用了JSP开发技术基于MYECLIPSE65为机票订购系统的设计与实现提供了良好的开发平台,并且采用了并行开发模式对毕业设计进行开发。用户通过此软件系统,可以搜索及查询规定日期、机场的航班以及订购相应的机票,管理员可以查询,修改或删除飞机信息等功能。关键词JAVA,航空订票系统,MYECLIPSE65,MYSQL目录1绪论111系统开发背景112系统开发目标12技术介绍321系统开发平台简介3221基于浏览器/服务器的体系结构3212面向对象的应用程序开发方法3213可视化的开发环境3214DREAMWEAVER概述3215TOMCAT服务器422JSP介绍4221JSP的开发背景及发展历史4222JSP技术概述5223JSP的运行原理与优点523JAVA系统开发语言6231JAVA语言的特点624系统开发工具7241MYECLIPSE开发工具73系统可行性分析831经济可行性分析832技术可行性分析833操作可行性分析84系统概要设计1041设计思想1042设计原则1043数据结构设计10431数据库的分析10432数据库的设计1144运行设计1245安全性设计125系统需求分析1451系统需求分析的原因1452系统功能分配14521浏览者(用户)需求分析15522管理员需求分析156功能模块设计方案1661客户端模块16611用户注册与登录1662服务端模块16621管理员登陆16622管理员查改页面17623票价管理页面17624客户管理页面18625飞机管理页面18626航班管理页面197程序测试2071测试的重要性及目的20711测试的重要性20711测试的目的2072测试的步骤2173测试的主要内容218结论23致谢24参考文献25附录I个人模块部分代码26附录II名词解释30毕业设计说明书论文缩写稿33THEABBREVIATIONVERSIONOFTHETHESISOFUNDERGRADUATES37RESEARCHANDDESIGNOFTICKETMANAGEMENTSYSTEMBASEDONJ2EE371绪论众所周知,21世纪的特征是数字化、网络化和信息化,它是一个以数据库技术为核心的信息时代。而随着信息技术的发展,航空售票业也成为一个高度依赖信息业的行业。信息技术的飞速发展不仅使航空售票工作者逐渐摆脱了繁重的手工劳动、提高了工作效率,而且推着航空事业向现代化管理迈进。现代化的航空售票也应该有现代化的管理系统。在科技日益发达的今天,人们对旅游出行更加重视。因此,航空售票进行现代化管理就变的尤为重要。数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已成为各个部门的重要财富,建立一个满足航空售票信息处理要求的行之有效的信息系统也成为一个航空公司发展的重要条件。机票管理系统,其作用是对所有待售机票和已售机票进行有效的管理。通过本系统不仅可以进行售票工作,而且还可以对和机票相对应的旅客情况和航班情况进行查询,并可随时进行增加,修改,删除等工作,使售票人员能够有效地对机票计票进行有效的控制和管理。因此,通过航空机票管理系统,使航空机票管理工作系统化,规范化,自动化,从而大大提高了机票管理工作的效率。11系统开发背景目前网络发展前景无限,及早与网络结合,与信息时代同步,与高科技汇合,定会给社会各行各业的发展注入新鲜的活力。站在网络时代的前沿,我们清晰地看到了网络时代的宣言谁掌握了网络,谁就掌握了未来。然而我们清晰地看到了J2EE以良好的扩展性和兼容性、强大的交互能力和数据处理能力,迅速风靡全球,在INTERNET上几乎处处都能看到它的身影。目前市面上对J2EE技术的需求极其热切,几乎绝大部分的系统建设和企业的信息管理系统都是采用J2EE技术。由于航空公司各种信息内容繁琐,而且信息量大,因而在操作上经常造成很多不便之处,浪费了时间,降低了工作效率,而且极大地影响了公司的经济效益。由此我们小组设计了这个系统。该系统的开发,本着科学化、规范化、系统化的原则,并考虑到公司的实际情况,采用浏览器/服务器结构,该系统支持SQL具有查询方便、安全保密性好、用户界面友好、容易操作等优点。12系统开发目标本系统采用模块化设计、结构合理、操作简单,具有友好的人机界面和灵活的系统可维护性;有优越的数据共享性,可以使用户充分的利用历史数据,减少数据的重复录入和工作量;方便快捷有效的完成航空公司管理系统的各项工作,录入数据合法性的校验程度高,数据查询速度快;本系统的具体设计目标如下(1)以用户为中心的系统信息组织系统信息组织也称为系统内容组织,就是指系统将向访问者提供哪些信息,这是系统建设实施的第一步,在系统建设方案的基础上,要根据系统的规模、行业特点、栏目分类,进一步确定系统的信息重点及信息之间的关联,从而明确系统各栏目的信息内容,为下一步的视觉设计奠定基础。(2)系统线索设计对于大多数大中型系统而言,系统在信息导航上应该尽量避免单线索的信息层次多、不易获得的弊病,在系统导航组织方面,采用多线索的信息组织方式,将能够极大地提高用户对系统信息的获得效率并减少系统的层次,使系统能够将重点内容以最佳的方式展现给访问者,从而给访问者带来良好的浏览体验。(3)个性化系统视觉设计系统视觉设计不仅反映了开发人员对系统企业文化的理解、企业识别系统的概括,同时还应该能够反映出企业经营运作的内涵,系统视觉设计也应该为企业经营方向、经营目标服务,在客户的审美点与系统的营销点之间取得平衡,努力推出既能够满足客户心理需要的视觉设计,同时又能够体现行业化、个性化及公司特点。本机票管理系统开发目标是实现管理员通过后台操作,浏览者可以在前台页面看到已经更新的信息,并针对信息做出回应2技术介绍为了实现机票订购系统,本项目用到了JAVA、HTML、JSP、MYSQL数据库等技术。下面将分别对这些技术详细介绍。21系统开发平台简介221基于浏览器/服务器的体系结构B/S结构即浏览器和服务器结构。它是随着INTERNET技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(BROWSER)实现,但是主要事务逻辑在服务器端(SERVER)实现,形成所谓三层3TIER结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。以目前的技术看,局域网建立B/S结构的网络应用,并通过INTERNET/INTRANET模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,INTERNET/INTRANET等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。212面向对象的应用程序开发方法对象OBJECT,是包含相关的数据以变量的形式以及用于操作这些数据的方法子程序的软件包。一个对象是一个类的具体表现,在功能上它与其它程序保持独立,一个定义良好的对象具有封装的数据和功能。面向对象程序设计的基本要素是抽象,程序员通过抽象来管理复杂性。管理抽象的有效方法是使用层次式的分类特性,这种方法允许用户根据物理含义分解一个复杂的系统。213可视化的开发环境用户不用了解WINDOWS和编程技术,通过图形化的交互操作,就可以设计实现应用系统,开发出美观、简洁的图形化界面来。214DREAMWEAVER概述DREAMVEAVER一个可视化的网页设计和网站管理工具,支持最新的WEB技术,包含HTML检查、HTML格式控制、HTML格式化选项、HOMESITE/BBEDIT捆绑、可视化网页设计、图像编辑、全局查找替换、全FTP功能、处理FLASH和SHOCKWAVE等富媒体格式和动态HTML、基于团队的WEB创作,在编辑上你可以选择可视化方式或者你喜欢的源码编辑方式。215TOMCAT服务器TOMCAT服务器是一个免费的开放源代码的WEB应用服务器,是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好APACHE服务器,可利用它响应对HTML页面的访问请求。实际上TOMCAT部分是APACHE服务器的扩展,但它是独立运行的,所以当你运行TOMCAT时,它实际上作为一个与APACHE独立的进程单独运行的。22JSP介绍221JSP的开发背景及发展历史在万维网短暂的历史中,万维网已经从一个大部分显示静态信息的网络演化到对股票进行交易和进行购书操作的一个基础设施。在各种各样的应用程序中,对于可能使用的基于WEB的客户端,看上去没有任何限制。基于浏览器客户端的应用程序比传统的基于客户机/服务器的应用程序有几个好处。这些好处包括几乎没有限制的客户端访问和极其简化的应用程序部署和管理(要更新一个应用程序,管理人员只需要更改一个基于服务器的程序,而不是成千上万的安装在客户端的应用程序)。这样,软件工业正迅速地向建造基于浏览器客户端的多层次应用程序迈进。这些快速增长的精巧的基于WEB的应用程序要求开发技术上的改进。静态HTML对于显示相对静态的内容是不错的选择;新的挑战在于创建交互的基于WEB的应用程序,在这些程序中,页面的内容是基于用户的请求或者系统的状态,而不是预先定义的文字。对于这个问题的一个早期解决方案是使用CGIBIN接口。开发人员编写与接口相关的单独的程序,以及基于WEB的应用程序,后者通过WEB服务器来调用前者。这个方案有着严重的扩展性问题每个新的CGI要求在服务器上新增一个进程。如果多个用户并发地访问该程序,这些进程将消耗该WEB服务器所有的可用资源,并且系统性能会降低到极其低下的地步。某些WEB服务器供应商已经尝试通过为他们的服务器提供“插件”和API来简化WEB应用程序的开发。这些解决方案是与特定的WEB服务器相关的,不能解决跨多个供应商的解决方案的问题。例如,微软的ACTIVESERVERPAGES(ASP)技术使得在WEB页面上创建动态内容更加容易,但也只能工作在微软的IIS和PERSONALWEBSERVER上。还存在其他的解决方案,但都不能使一个普通的页面设计者能够轻易地掌握。例如,像JAVASERVLET这样的技术就可以使得用JAVA语言编写交互的应用程序的服务器端的代码变得容易。开发人员能够编写出这样的SERVLET,以接收来自WEB浏览器的HTTP请求,动态地生成响应(可能要查询数据库来完成这项请求),然后发送包含HTML或XML文档的响应到浏览器。(注意一个JAVASERVLET就是一个基于JAVA技术的运行在服务器端的程序,与APPLET不同,后者运行在浏览器端。)采用这种方法,整个网页必须都在JAVASERVLET中制作。如果开发人员或者WEB管理人员想要调整页面显示,就不得不编辑并重新编译该JAVASERVLET,即使在逻辑上已经能够运行了。采用这种方法,生成带有动态内容的页面仍然需要应用程序的开发技巧。很显然,目前所需要的是一个业界范围内的创建动态内容页面的解决方案。这个方案将解决当前方案所受到的限制。如下(1)能够在任何WEB或应用程序服务器上运行。(2)将应用程序逻辑和页面显示分离。(3)能够快速地开发和测试。(4)简化开发基于WEB的交互式应用程序的过程。JSP技术就是被设计用来满足这样的要求的。JSP规范是WEB服务器、应用服务器、交易系统以及开发工具供应商间广泛合作的结果。SUN开发出这个规范来整合和平衡已经存在的对JAVA编程环境(例如,JAVASERVLET和JAVABEANS)进行支持的技术和工具。其结果是产生了一种新的、开发基于WEB应用程序的方法,给予使用基于组件应用逻辑的页面设计者以强大的功能。222JSP技术概述JSP(JAVASERVERPAGES)技术是由SUN公司发布的用于开发动态WEB应用的一项技术。它以其简单易学、跨平台的特性,在众多动态WEB应用程序设计语言中异军突起,在短短几年中已经形成了一套完整的规范,并广泛地应用于电子商务等各个领域中。在国内,JSP现在也得到了比较广泛的重视,得到了很好的发展,越来越多的动态网站开始采用JSP技术。223JSP的运行原理与优点在一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个SERVLET。而这个引擎本身也是一个SERVLET。JSP的运行过程如下所示(1)JSP引擎先把该JSP文件转换成一个JAVA源文件(SERVLET),在转换时如果发现JSP文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息。(2)如果转换成功,JSP引擎用JAVAC把该JAVA源文件编译成相应的CLASS文件。(3)创建一个该SERVLET(JSP页面的转换结果)的实例,该SERVLET的JSPINIT方法被执行,JSPINIT方法在SERVLET的生命周期中只被执行一次。(4)JSPSERVICE方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可以大大降低对系统的资源需求,提高系统的并发量及响应时间。但不过也应该注意多线程的编程限制,由于该SERVLET始终驻于内存,所以响应是非常快的。(5)如果JSP文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的SERVLET,并继续上述处理过程。(6)虽然JSP效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。此外,在任何时候如果由于系统资源不足的原因,JSP引擎将以某种不确定的方式将SERVLET从内存中移去。当这种情况发生时JSPDESTROY方法首先被调用。(7)然后SERVLET实例便被标记加入“垃圾收集”处理。可在JSPINIT中进行一些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在JSPDESTORY中释放相应的资源。基于JAVA语言的JSP技术具有很多其他动态网页技术所没有的特点,具体表现在如下方面1)简便性和有效性JSP动态网页的编写与一般的静态HTML的网页编写是十分相似的。只是在原来的HTML网页中加入一些JSP专有的标签,或是一些脚本程序(此项不是必需的)。这样,一个熟悉HTML网页编写的设计人员可以很容易进行JSP网页的开发。而且开发人员完全可以不自己编写脚本程序,而只是通过JSP独有的标签使用别人已写好的部件来实现动态网页的编写。这样,一个不熟悉脚本语言的网页开发者,完全可以利用JSP做出漂亮的动态网页。而这在其他的动态网页开发中是不可实现的。2)程序的独立性JSP是JAVAAPI家族的一部分,它拥有一般的JAVA程序的跨平台的特性。换句话说,就是拥有程序的对平台的独立性,即WRITEONCE,RUNANYWHERE。3)程序的兼容性JSP中的动态内容可以各种形式进行显示,所以它可以为各种客户提供服务,即从使用HTML/DHTML的浏览器,到使用WML的各种手提无线设备(例如,移动电话和个人数字设备PDA),再到使用XML的B2B应用,都可以使用JSP的动态页面。4)序的可重用性在JSP页面中可以不直接将脚本程序嵌入,而只是将动态的交互部分作为一个部件加以引用。这样,一旦这样的一个部件写好,它可以为多个程序重复引用,实现了程序的可重用性。现在,大量的标准JAVABEANS程序库就是一个很好的例证。23JAVA系统开发语言231JAVA语言的特点本系统采用的是JAVA作为开发语言。JAVA是由SUNMICROSYSTEMS公司于1995年5月推出的JAVA程序设计语言(以下简称JAVA语言)和JAVA平台的总称。JAVA语言是一个支持网络计算的面向对象程序设计语言。JAVA语言吸收了SMALLTALK语言和C语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下1、JAVA语言是简单的。JAVA语言的语法与C语言和C语言很接近,使得大多数程序员很容易学习和使用JAVA。另一方面,JAVA丢弃了C中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,JAVA语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2、JAVA语言是一个面向对象的。JAVA语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为IMPLEMENTS)。总之,JAVA语言是一个纯的面向对象程序设计语言。24系统开发工具241MYECLIPSE开发工具本系统采用的是MYECLIPSE企业级工作平台(MYECLIPSEENTERPRISEWORKBENCH,简称MYECLIPSE)作为开发工具,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,STRUTS,JSF,CSS,JAVASCRIPT,SQL,HIBERNATE。在结构上,MYECLIPSE的特征可以被分为7类1J2EE模型2WEB开发工具3EJB开发工具4应用程序服务器的连接器5J2EE项目部署服务6数据库服务7MYECLIPSE整合帮助对于以上每一种功能上的类别,在ECLIPSE中都有相应的功能部件,并通过一系列的插件来实现它们。MYECLIPSE结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MYECLIPSE是ECLIPSE的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。3系统可行性分析网站WEBSITE,就是指在网际网路(因特网)上,根据一定的规则,使用HTML等工具制作的用于展示特定内容的相关网页的集合。简单地说,网站是一种通讯工具,就像布告栏一样,人们可以通过网站来发布自己想要公开的资讯(信息),或者利用网站来提供相关的网路服务(网络服务)。人们可以通过网页浏览器来访问网站,获取自己需要的资讯(信息)或者享受网路服务。可行性分析的任务,并不是所有问题都有简单明显的解决办法,事实上,许多问题不可能在预定的系统规模之内解决。如果问题没有可行的解,那么花费这项开发工程上的任何时间,资源,人力和经费都是无谓的浪费。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得去解。怎样达到这个目的呢当然不能靠主观猜想而只能靠客观分析。必须分析几种主要的可能解法的利弊,从而判断原定的系统目标和规模是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。针对我们这次项目,通过对调查了解我们做了如下的可行性分析,分别从经济,技术,操作三个方面进行了系统的阐述。31经济可行性分析本作品制作全程都是由本小组自发研制,因此无需太多的人力和物力,管理方便,所以无需庞大的费用,甚至可以所是零费用。鉴于企业的规模大小的不同,资产的也有所不同,同时本作品是一个动态网页,每次浏览都需要一个WEB服务器支持,为了方便用户浏览本系统在网上申请了一个域名,并利用这个提供域名的商家的WEB服务器作为本系统的WEB服务器。所以从经济上完全是可行的。32技术可行性分析本系统以现今比较流行的DREAMWEAVER作为开发工具,基于MICROSOFTSQLSERVER2000数据库开发的BROWER/SERVER体系结构的管理信息系统,提供了数据库备份与恢复功能,使数据更加安全可靠。本系统为一个数据库管理系统,现有技术较为成熟,估计利用现有技术完全可以达到功能目标,同时,考虑到开发期限较为充裕,预计可以在规定期限内完成开发。33操作可行性分析本作品操作简单、界面简洁清晰,对于那些有一般的计算机知识的人员就可以轻松上手。并兼容与所有网页浏览的软件(如INTERNETEXPLORER),由此可见,该系统的操作是可行的,有必要开发本系统。同时几乎所有平台都支持JAVA,JSP和JAVABEANS几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JAVABEANS甚至不用重新编译,因为JAVA字节码都是标准的与平台无关的。本系统运行在TOMCAT60WEB服务器,JDK15或JDK15以上的JAVA虚拟机中,在WINDOWS7的操作系统中可正常显示。本项目采用MYSQL的数据库服务器作数据库支持。综合以上方面,本系统具有很高的开发可行性,无论是从技术上,经济上或者社会因素方面还是操作上都是可行的。4系统概要设计本章是系统概要的设计,有设计思想,设计原则,数据结构设计,运行设计和安全保密设计。系统是由相对独立的功能模块组成,分工合作的设计方式,使管理程序有较强的可操作性和扩展性。合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要。严格遵循准确性,易操作,源程序可读性,优化,安全性的原则。在用户登录系统时进行身份验证,只允许合法用户进入系统。即时的权限分配功能,允许管理员即时对用户的权限进行分配,充分保证了系统运行的安全性。对系统管理员和一般操作员实行功能分离,即有些功能只有系统管理员能用。41设计思想1管理系统分成几个相对独立的功能模块,这些模块整合形成资产管理程序。2模块的细分化的程序设计思想,整个系统采用模块切分化结构设计。使管理程序有较强的可操作性和扩展性。3合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。42设计原则为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循了如下原则1准确性原则对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料如类型匹配,长度不超限等。2易操作原则要求设计的系统功能齐全,界面友好,操作方便,必要的地方进行提示。3源程序可读性原则为了便于其他设计,维护人员读懂代码或以后的代码修改,软件升级维护,即可能做好代码注释工作。4优化原则为了达到优化的目的,合理的运用窗口,菜单,对象等的继承,自定义用户对象,事件,函数,减少不必要的重复性代码,使程序简介明了,也方便了将来的维护。5安全性原则可以为该系统的用户设置用户权限。43数据结构设计431数据库的分析数据库是长期存储在计算机内的,有组织的,可共享的数据集合,在一个信息管理系统中占非常重要的地位,它能够能充分满足各种信息的输入和输出。通过收集基本数据、数据结构以及数据处理的流程,根据对相关信息的集和统计,以及对用户所关心和需要了解的信息的分析需要建立以下数据集在之前的需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们的关系。集成了来自不同用户对现实信息描述所构成的外部视图,形成全局的概念模型,进而可以转换成数据库的模式。本系统的操作多是对数据库的操作,诸如新闻模块实现添加、删除、修改和查询等。因此数据库的结构设计是一个非常重要的环节,数据库设计的好坏将直接对应用系统的效率。好的数据库结构设计可以提高数据的完整性和一致性,也便于提高数据存储,可使系统具有较高的响应速度,简化基于数据库的应用程序的设计实现。本数据的具体链接会在下文进行介绍。432数据库的设计数据库结构设计使用的数据库管理系统以及系统开发工具设计出数据库以及各个数据表的结构。本系统数据库开发汇集各种信息以供查询、存储和检索。其优点在于它能使用数据表示图或自定义窗体收集信息。它提供数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。本系统数据库是一种关系型数据库工具,关系数据库是已开发的最通用的数据库。1数据库描述功能定义数据库的全局逻辑结构概念模式、局部逻辑的结构外模式以及其它各种数据库对象;2数据库管理功能包括系统控制、数据存储以及更新管理、数据安全性与一致性维护;3数据库查询和操作功能能从数据库中检索住处或者改变信息;4数据库建立与维护功能包括数据写入、数据库重建、数据库结构维护、恢复以及系统性能监视等。此次设计根据数据的大小以及管理的便捷性选择MYSQL作为数据库管理系统,使用数据管理器创建数据库。按照前面分析的系统,设计出系统数据库中的各个数据表如下列名数据类型可否为空说明USER_IDVARCHAR30NOTNULL用户IDUSERNAMEVARCHAR30NOTNULL用户名PASSWORDVARCHAR30NOTNULL用户密码TELVARCHAR30NOTNULL用户电话EMAILCHAR30NOTNULL用户信箱ROLEIDCHAR30NOTNULL用户角色表41管理员表列名数据类型可否为空说明AIRPLANENUMVARCHAR30NOTNULL飞机号FIRCAPACITYINT30NOTNULL头等舱座位BUSCAPACITYINT30NOTNULL公务舱座位ECOCAPACITYINT30NOTNULL经济舱座位TOTALINT30NOTNULL总数表42飞机列名数据类型可否为空说明FLIGHTNUMVARCHAR30NOTNULL航班号AIRPLANENUMVARCHAR30NOTNULL飞机型号STARTCITYVARCHAR30NOTNULL出发城市ENDCITYVARCHAR30NOTNULL目的城市STARTTIMEVARCHAR30NOTNULL出发时间ENDTIMEVARCHAR30NOTNULL到达时间表43航班列名数据类型可否为空说明FARENUMVARCHAR30NOTNULL票价号FLIGHTNUMVARCHAR30NOTNULL航班号FIRFAREVARCHAR30NOTNULL头等舱价位BUSFAREVARCHAR30NOTNULL公务舱价位ECOFAREVARCHAR30NOTNULL经济舱价位表44票价列名数据类型可否为空说明CLIENT_IDINT30NOTNULLIDUSERNAMEVARCHAR30NOTNULL用户名CLIENTNAMEVARCHAR30NOTNULL真实姓名CLIENTPASSWORDVARCHAR30NOTNULL密码CLIENTIDVARCHAR30NOTNULL身份证号CLIENTTELEPHONEVARCHAR30NOTNULL联系电话CLIENTEMAILVARCHAR30NOTNULL电子邮件CLIENTSEXVARCHAR30NOTNULL性别CLIENTADDRESSVARCHAR30NOTNULL住址表45客户得到以上的数据项和数据结构以后,就可以设计出能够满足用户需求的各种设计,他们之间的关系为后面的逻辑结构设计打下基础,这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。这在以后的设计中的作用十分重要。44运行设计本系统运行后,首先启动初始化模块,显示前台界面陆,如果需要进入后台,可以进入后台页面,退出模块关闭数据库连接并退出系统。各个模块运行时间均应控制在35秒内(其中大部分时间为响应用户的动作)。45安全性设计1在管理员登录系统时进行身份验证,只允许合法管理员进入系统。2即时的权限分配功能,允许管理员即时对用户的权限进行分配,充分保证了系统运行的安全性。3对系统管理员和一般操作员实行功能分离,即有些功能只有系统管理员能用。4数据库的备份功能,保证了数据的安全。5系统需求分析这一章为本系统的需求分析。根据目前企业的发展,为了开发出真正满足用户需求的产品,首先必须要知道客户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能满足用户需求的程序只会给客户带来失望,给开发带来麻烦。本系统主要有两类用户,不同类型的用户使用不同的系统模块,此系统分为两个部分,前台和后台,前台针对的是用户和管理员,后台仅面向管理员,后台的功能主要使通过数据库来实现的。51系统需求分析的原因大多数情况下,任何软件开发的过程,首先就是,用户根据自己的实际情况,考虑自己所要解决的主要问题,然后向开发人员提出问题开始的。这两方面人员往往缺乏共同的语言,用户熟悉本身的业务但不熟悉计算机技术,软件人员熟悉计算机技术但往往不熟悉用户的业务,软件人员习惯用数据结构、程序结构、编程语言等方式来讨论问题,而用户不能确切的理解这些概念,所以双方交流时存在着隔阂。更糟的情况是用户本身也不知道他到底要计算机做些什么,这就更增加了交流的难度。开发人员常常还没搞清用户要做什么的情况就着手开发软件,这样总会导致,开发人员做出的东西,不是用户所要求的,因此,在一个软件的开发过程中,用户需求分析是非常重要的,通过需求分析才能把软件功能和性能的总体要领描述为具体的软件需求规程说明,从而奠定软件开发的基础。根据目前企业的发展,为了开发出真正满足用户需求的产品,首先必须要知道客户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能满足用户需求的程序只会给客户带来失望,给开发带来麻烦。虽然在可行性研究阶段已经粗略了解用户的需求,甚至还提出了一些可行的方案,但是,可行性研究的基本目的使用较小的成本在较短时间内确定是否存在可行的解法,因此,在需求分析阶段要确定系统必须完成哪些工作,也就是对系统提出完整、准确、清晰、具体的要求。52系统功能分配本系统主要有两类用户,不同类型的用户使用不同的系统模块,例如,信息浏览者(用户)仅能使用前台系统,浏览自己感兴趣的网页,查询自己想看的资产信息;管理员则通过身份验证可使用所有的系统模块。更确切的说,此系统分为两个部分,前台和后台,前台针对的是用户和管理员,后台仅面向管理员,后台的功能主要使通过数据库来实现的。在此部分的论述中,根据用户对象的不同将用户非为两类,一类是浏览系统的浏览者(用户),一类是系统的模块管理员。两者的根本区别是前者只能浏览系统,进行自己所需资产信息进行查询,而管理员为其身份的特殊性可以进入系统的后台进行一系列相关的操作。521浏览者(用户)需求分析为了方便信息的查询与公司资产的安全性,系统只能允许管理员与员工进行查询,管理员可以对公司资产的管理以及员工的借还管理,而员工自能对自己的资产和对借还公司设备进行查询。在用户进入本系统的主页面后在登录界面,管理员就可以轻松方便的对公司资产进行管理。522管理员需求分析此系统分为客户端模块,服务端模块。根据不同的模块,设计不同的权限,方便管理员对不同的模块进行操作。客户端模块用户可对票价、航班信息进行查询。可分为不同板块,可让用户简单容易的进行操作。服务端模块有划分为票价管理,客户管理,航班管理和飞机管理四个模块各模块管理员可对自己模块的信息进行添加,删除,修改与查询。方便管理员简单容易的进行信息的管理。6功能模块设计方案这一章是本系统的功能模块设计方案的介绍。登录分为超级管理员登录和管理员登录。管理员登录进入主页面,可对各自负责模块的票价信息,航班信息,飞机信息,客户信息进行管理。超级管理员进入页面后,可对管理员的信息进行管理。61客户端模块用户注册后登录进入主页面,可完成查询航班信息,订票,修改个人帐户的功能。611用户注册与登录用户按要求填写自己的各项信息,当输入信息不符合基本格式时会弹出一个对话框,显示错误。用户登录无需密码验证,用户权限只为查询票价,航班信息,不能修改票价,航班及其他信息。图61客户登录页面62服务端模块本模块的用户对象是各个模块的管理员,从理论上讲每个模块均有一个管理员,根据模块的不同,每个管理员的登录密码不同。该模块是管理员进行操作的关键部分,管理员在这里主要是进行对数据库的操作。621管理员登陆在此模块中,管理员在进入界面后可以对各自模块信息进行管理。622管理员查改页面在此模块中,超级管理员在进入界面后可以根据需求对管理员的相关信息进行查询与修改。图62管理员信息页面图63超级管理员查改页面623票价管理页面在此模块中,管理员在进入界面后可以进行对票价信息进行管理。图64票价管理页面624客户管理页面在此模块中,管理员在进入界面后可对用户信息进行查询,可分为全部查询和按姓名查询,因此管理员可以更快捷便利的查找用户信息,也可实现对用户信息的更改和删除。图65客户管理页面625飞机管理页面在此模块中,管理员在进入界面后可对飞机信息进行添加,删除,修改和查询。图66飞机管理页面626航班管理页面在此模块中,管理员在进入界面后可对航班信息进行添加,删除,修改和查询。图67航班管理页面7程序测试71测试的重要性及目的711测试的重要性软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感;以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定;测试工作枯燥无味,不能引起人们的兴趣;测试工作是艰苦而细致的工作;这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。711测试的目的如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。1软件测试是为了发现错误而执行程序的过程;2测试是为了证明程序有错,而不是证明程序无错误;3一个好的测试用例是在于它能发现至今未发现的错误;4一个成功的测试是发现了至今未发现的错误的测试。这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目的,但是事实并非如此。首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错的测试也是有价值的,完整的测试是评定测试质量的一种方法。72测试的步骤与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成1模块测试在这个测试步骤中所发现的往往是编码和详细设计的错误。2系统测试在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。3验收测试在这个测试步骤中发现的往往是系统需求说明书中的错误。73测试的主要内容为了保证测试的质量,将测试过程分成几个阶段,即代码审查、单元测试、集成测试、确认测试和系统测试。1单元测试单元测试集中在检查软件设计的最小单位模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。2集成测试集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。3确认测试确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。4系统测试软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。单独对系统的测试主要从以下几入手功能测试测试是否满足开发要求,是否提供设计所描述的功能,是否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。强度测试及性能测试测试系统能力最高实际限度,即软件在一些超负荷情况下功能实现的情况。安全测试验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰。针对本系统主要是对权限系统的测试和对无效数据、错数据、和非法数据干扰的能力的测试。经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束。8结论经过这段时间对系统知识系统的学习和研究,我们的毕业设计基于J2EE的机票管理系统的研究与设计基本上是完成了,功能实现如下(1)本系统实现了票价,航班,飞机信息的增删查改的功能。(2)本系统实现了管理员的增删查改的功能,实现了超级管理员对管理员信息的管理功能。(3)本系统实现了机票信息,航班信息,飞机信息的即时性更新功能。本系统通过程序的编码实现了票价修改与航班修改的瞬时更新数据的能力,在操作结束的同时将操作的信息及时更新到数据库,并能在相应信息中显示出最新更新信息,这部分功能是本系统的一个亮点。(4)本系统实现了管理员快速登录通道的功能。在不需要任何身份验证的情况下,快速登录到有权限的管理操作界面。磕磕碰碰地做完了自己要做的部分,自己觉得不是很满意。但是总算知道了开发一个BS架构系统的主要过程了。通过用HTMLJSP的实践运用做成的航空公司订票系统,对HTMLJSP有更加深刻的认识,也使自己具备了一定的网页设计及操作能力。通过这次的实践作业,使自己对以后的计算机学习生活有一定的了解。对以后的学习和工作有更大的帮助。由于自己水平有限,设计的网页难免有漏洞和错误,望老师给予谅解,也感谢老师这么多节课对我的教导。本次我是负责飞机管理模块的设计,虽然不是整个系统最重要的部分,但是它也是整个系统的一份子。虽然占的比例不大,但是也不要小瞧它。经过二个月的学习,JAVA软件编程设计即将结课,总的来说,经过这门课的学习收获还是相当大的。如果不是这门课督促着自己利用课余时间去查阅更多关于计算机语言方面的图书然后实际编写出来,就不可能掌握如此多的知识。而且自己有了这样的意识编写程序只是软件开发过程中的一个阶段,做一个软件必须严格按照软件工程设计软件的一系列步骤。致谢经过两个月的忙碌和学习,本次毕业设计已经接近尾声,毕业设计不仅仅是一个课题的研究,它是三年所学知识的总结,也是我们能力的一次提升,所以我感谢镐京学院给了我这个提升自己的一次难得机会,也感谢学院对我三年来的培养,给我一个发展的平台。在这里,我要感谢我的班主任王瞾和郭素臣老师,是她们陪我们走过这三年最宝贵的大学生活,是她们教我学会独立,学会成长。三年有过心酸,有过苦,有过累,有过笑,有过哭,是他们陪我们走过每个不平凡的日子,谢谢她们教会了我很多很多。在这里也要感激这次JAVA实训的全体培训老师,老师们平日里工作繁多,但在我做毕业设计的每个阶段,从查阅资料,设计草案的确定和修改,到后期详细设计等整个过程中都给予了我耐心的指导。除了敬佩他们的专业水平外

温馨提示

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

评论

0/150

提交评论