资源描述
论文分类号: TP 学校代码: 13681 题目:题目: 基于基于J2EEJ2EE的机票管理系统的研究与设计的机票管理系统的研究与设计 学生姓名:学生姓名: 高 飞 学学 号:号: 2508307 系系 部:部: 信工四系 专业班级:专业班级: 信工 083 指导教师:指导教师: 张涛 二 一 一 年 七 月IResearch and Design of Ticket Management System Based on J2EEABSTRACTJ2EE airline reservation systems to provide anytime, anywhere network users can query flights, booking air tickets in todays fast pace of life, the fast, ready to order tickets can save users a lot of time, a great convenience for users. This paper analyzes the principles of software-related technology, gives the graduate design software architecture, and architecture and structure was divided into software modules and design. In this paper, the design of the language school on the use of the popular java language, through MyEclipse6.5, CSS, Tomcat and MySQL database and other powerful features to complete the software developmentThe graduation takes full advantage of JSP development technology is based on MyEclipse6.5 for the ticket ordering system design and implementation provides a good development platform, and uses Parallel development model for the development of graduation. Users of this software, you can search and query the specified date, the airports flight and order the corresponding ticket, the administrator can query, modify, or delete information on aircraft and other functions. KEYWORDS: JAVA, airline reservation systems, MyEclipse6.5, MySQL基于基于 J2EEJ2EE 的机票管理系统的研究与设计的机票管理系统的研究与设计摘 要J2EE 航空订票系统可以为网络用户提供随时随地的查询航班、订购机票,在当今高速的生活节奏下,能够快速、随时的订购机票可以为用户节省大量的时间,极大的方便了用户。本文主要分析了该软件实现的相关技术原理,给出了软件实现的毕业设计架构,并对架构及软件模块结构作了划分及设计。本文在毕业设计的语言上采用了当前流行的 java 语言,通过 MyEclipse、CSS、Tomcat 和 MySQL 数据库等 的强大功能完成了该软件的开发。本毕业设计充分利用了 JSP 开发技术基于 MyEclipse6.5 为机票订购系统的设计与实现提供了良好的开发平台,并且采用了并行开发模式对毕业设计进行开发。用户通过此软件系统,可以搜索及查询规定日期、机场的航班以及订购相应的机票,管理员可以查询,修改或删除飞机信息等功能。关键词:JAVA,航空订票系统,MyEclipse6.5,MySQLIII目 录1 绪 论.11.1 系统开发背景 .11.2 系统开发目标 .12 技术介绍.32.1 系统开发平台简介 .32.2.1 基于浏览器/服务器的体系结构 .32.1.2 面向对象的应用程序开发方法.32.1.3 可视化的开发环境.32.1.4 Dreamweaver 概述.32.1.5 Tomcat 服务器 .42.2 JSP 介绍.42.2.1 JSP 的开发背景及发展历史.42.2.2 JSP 技术概述.52.2.3 JSP 的运行原理与优点.52.3 JAVA 系统开发语言.62.3.1 JAVA 语言的特点.62.4 系统开发工具.72.4.1 MyEclipse 开发工具.73 系统可行性分析.83.1 经济可行性分析 .83.2 技术可行性分析 .83.3 操作可行性分析 .84 系统概要设计.104.1 设计思想 .104.2 设计原则 .104.3 数据结构设计 .104.3.1 数据库的分析.104.3.2 数据库的设计.114.4 运行设计 .124.5 安全性设计 .125 系统需求分析.145.1 系统需求分析的原因 .145.2 系统功能分配 .145.2.1 浏览者(用户)需求分析.155.2.2 管理员需求分析.156 功能模块设计方案.166.1 客户端模块.166.1.1 用户注册与登录.166.2 服务端模块 .166.2.1 管理员登陆.166.2.2 管理员查改页面.176.2.3 票价管理页面.176.2.4 客户管理页面.186.2.5 飞机管理页面.186.2.6 航班管理页面.197 程序测试.207.1 测试的重要性及目的.207.1.1 测试的重要性.207.1.1 测试的目的.207.2 测试的步骤 .217.3 测试的主要内容 .218 结 论.23致 谢.24参考文献.25附录 I:个人模块部分代码.26附录 II:名词解释.30毕业设计说明书(论文)缩写稿.33THE ABBREVIATION VERSION OF THE THESIS OF UNDERGRADUATES.37RESEARCH AND DESIGN OF TICKET MANAGEMENT SYSTEM BASED ON J2EE.37 基于 J2EE 的机票管理系统的研究与设计 11 绪 论众所周知,21 世纪的特征是数字化、网络化和信息化,它是一个以数据库技术为核心的信息时代。而随着信息技术的发展,航空售票业也成为一个高度依赖信息业的行业。信息技术的飞速发展不仅使航空售票工作者逐渐摆脱了繁重的手工劳动、提高了工作效率,而且推着航空事业向现代化管理迈进。现代化的航空售票也应该有现代化的管理系统。在科技日益发达的今天,人们对旅游出行更加重视。因此,航空售票进行现代化管理就变的尤为重要。数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已成为各个部门的重要财富,建立一个满足航空售票信息处理要求的行之有效的信息系统也成为一个航空公司发展的重要条件。机票管理系统,其作用是对所有待售机票和已售机票进行有效的管理。通过本系统不仅可以进行售票工作,而且还可以对和机票相对应的旅客情况和航班情况进行查询,并可随时进行增加,修改,删除等工作,使售票人员能够有效地对机票计票进行有效的控制和管理。因此,通过航空机票管理系统,使航空机票管理工作系统化,规范化,自动化,从而大大提高了机票管理工作的效率。1.1 系统开发背景目前网络发展前景无限,及早与网络结合,与信息时代同步,与高科技汇合,定会给社会各行各业的发展注入新鲜的活力。站在网络时代的前沿,我们清晰地看到了网络时代的宣言:谁掌握了网络,谁就掌握了未来。然而我们清晰地看到了 J2EE 以良好的扩展性和兼容性、强大的交互能力和数据处理能力,迅速风靡全球,在 Internet 上几乎处处都能看到它的身影。目前市面上对 J2EE 技术的需求极其热切,几乎绝大部分的系统建设和企业的信息管理系统都是采用 J2EE 技术。由于航空公司各种信息内容繁琐,而且信息量大,因而在操作上经常造成很多不便之处,浪费了时间,降低了工作效率,而且极大地影响了公司的经济效益。由此我们小组设计了这个系统。该系统的开发,本着科学化、规范化、系统化的原则,并考虑到公司的实际情况,采用浏览器/服务器结构,该系统支持 SQL 具有查询方便、安全保密性好、用户界面友好、容易操作等优点。1.2 系统开发目标本系统采用模块化设计、结构合理、操作简单,具有友好的人机界面和灵活的系统可维护性;有优越的数据共享性,可以使用户充分的利用历史数据,减少数据的重复录入和工作量;方便快捷有效的完成航空公司管理系统的各项工作,录入数据合法性的校验程度高,数据查询速度快;本系统的具体设计目标如下:2 1 绪论毕业设计说明书(论文)缩写稿(1)以用户为中心的系统信息组织:系统信息组织也称为系统内容组织,就是指系统将向访问者提供哪些信息,这是系统建设实施的第一步,在系统建设方案的基础上,要根据系统的规模、行业特点、栏目分类,进一步确定系统的信息重点及信息之间的关联,从而明确系统各栏目的信息内容,为下一步的视觉设计奠定基础。 (2)系统线索设计:对于大多数大中型系统而言,系统在信息导航上应该尽量避免单线索的信息层次多、不易获得的弊病,在系统导航组织方面,采用多线索的信息组织方式,将能够极大地提高用户对系统信息的获得效率并减少系统的层次,使系统能够将重点内容以最佳的方式展现给访问者,从而给访问者带来良好的浏览体验。 (3)个性化系统视觉设计:系统视觉设计不仅反映了开发人员对系统企业文化的理解、企业识别系统的概括,同时还应该能够反映出企业经营运作的内涵,系统视觉设计也应该为企业经营方向、经营目标服务,在客户的审美点与系统的营销点之间取得平衡,努力推出既能够满足客户心理需要的视觉设计,同时又能够体现行业化、个性化及公司特点。本机票管理系统开发目标是实现管理员通过后台操作,浏览者可以在前台页面看到已经更新的信息,并针对信息做出回应 基于 J2EE 的机票管理系统的研究与设计 32 技术介绍为了实现机票订购系统,本项目用到了 JAVA、HTML、JSP、MySQL 数据库等技术。下面将分别对这些技术详细介绍。2.1 系统开发平台简介2.2.1 基于浏览器/服务器的体系结构B/S 结构即浏览器和服务器结构。它是随着 Internet 技术的兴起,对 C/S 结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过 WWW 浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层 3-tier 结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。以目前的技术看,局域网建立 B/S结构的网络应用,并通过 Internet/Intranet 模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如 LAN, WAN, Internet/Intranet 等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。在 JAVA 这样的跨平台语言出现之后,B/S 架构管理软件更是方便、快捷、高效。2.1.2 面向对象的应用程序开发方法对象(OBJECT) ,是包含相关的数据(以变量的形式)以及用于操作这些数据的方法(子程序)的软件包。一个对象是一个类的具体表现,在功能上它与其它程序保持独立,一个定义良好的对象具有封装的数据和功能。面向对象程序设计的基本要素是抽象,程序员通过抽象来管理复杂性。管理抽象的有效方法是使用层次式的分类特性,这种方法允许用户根据物理含义分解一个复杂的系统。2.1.3 可视化的开发环境用户不用了解 WINDOWS 和编程技术,通过图形化的交互操作,就可以设计实现应用系统,开发出美观、简洁的图形化界面来。2.1.4 Dreamweaver 概述Dreamveaver 一个可视化的网页设计和网站管理工具,支持最新的 Web 技术,包含 HTML 检查、HTML 格式控制、HTML 格式化选项、HomeSite/BBEdit 捆绑、可视化网页设计、图像编辑、全局查找替换、全 FTP 功能、处理 Flash 和 Shockwave 等富媒体格式和动态 HTML、基于团队的 Web 创作,在编辑上你可以选择可视化方式或者你喜欢的源码编辑方式。4 2 技术介绍毕业设计说明书(论文)缩写稿2.1.5 Tomcat 服务器Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对 HTML 页面的访问请求。实际上 Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行 tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。2.2 JSP 介绍2.2.1 JSP 的开发背景及发展历史在万维网短暂的历史中,万维网已经从一个大部分显示静态信息的网络演化到对股票进行交易和进行购书操作的一个基础设施。在各种各样的应用程序中,对于可能使用的基于 Web 的客户端,看上去没有任何限制。基于浏览器客户端的应用程序比传统的基于客户机/服务器的应用程序有几个好处。这些好处包括几乎没有限制的客户端访问和极其简化的应用程序部署和管理(要更新一个应用程序,管理人员只需要更改一个基于服务器的程序,而不是成千上万的安装在客户端的应用程序) 。这样,软件工业正迅速地向建造基于浏览器客户端的多层次应用程序迈进。这些快速增长的精巧的基于 Web 的应用程序要求开发技术上的改进。静态 HTML对于显示相对静态的内容是不错的选择;新的挑战在于创建交互的基于 Web 的应用程序,在这些程序中,页面的内容是基于用户的请求或者系统的状态,而不是预先定义的文字。对于这个问题的一个早期解决方案是使用 CGI-BIN 接口。开发人员编写与接口相关的单独的程序,以及基于 Web 的应用程序,后者通过 Web 服务器来调用前者。这个方案有着严重的扩展性问题每个新的 CGI 要求在服务器上新增一个进程。如果多个用户并发地访问该程序,这些进程将消耗该 Web 服务器所有的可用资源,并且系统性能会降低到极其低下的地步。某些 Web 服务器供应商已经尝试通过为他们的服务器提供“插件”和 API 来简化Web 应用程序的开发。这些解决方案是与特定的 Web 服务器相关的,不能解决跨多个供应商的解决方案的问题。例如,微软的 Active Server Pages(ASP)技术使得在 Web页面上创建动态内容更加容易,但也只能工作在微软的 IIS 和 Personal Web Server 上。还存在其他的解决方案,但都不能使一个普通的页面设计者能够轻易地掌握。例如,像 Java Servlet 这样的技术就可以使得用 Java 语言编写交互的应用程序的服务器端的代码变得容易。开发人员能够编写出这样的 Servlet,以接收来自 Web 浏览器的 基于 J2EE 的机票管理系统的研究与设计 5HTTP 请求,动态地生成响应(可能要查询数据库来完成这项请求) ,然后发送包含HTML 或 XML 文档的响应到浏览器。 (注意:一个 Java Servlet 就是一个基于 Java 技术的运行在服务器端的程序,与 Applet 不同,后者运行在浏览器端。 )采用这种方法,整个网页必须都在 Java Servlet 中制作。如果开发人员或者 Web 管理人员想要调整页面显示,就不得不编辑并重新编译该 Java Servlet,即使在逻辑上已经能够运行了。采用这种方法,生成带有动态内容的页面仍然需要应用程序的开发技巧。很显然,目前所需要的是一个业界范围内的创建动态内容页面的解决方案。这个方案将解决当前方案所受到的限制。如下:(1)能够在任何 Web 或应用程序服务器上运行。(2)将应用程序逻辑和页面显示分离。(3)能够快速地开发和测试。(4)简化开发基于 Web 的交互式应用程序的过程。JSP 技术就是被设计用来满足这样的要求的。JSP 规范是 Web 服务器、应用服务器、交易系统以及开发工具供应商间广泛合作的结果。Sun 开发出这个规范来整合和平衡已经存在的对 Java 编程环境(例如,Java Servlet 和 JavaBeans)进行支持的技术和工具。其结果是产生了一种新的、开发基于 Web 应用程序的方法,给予使用基于组件应用逻辑的页面设计者以强大的功能。2.2.2 JSP 技术概述JSP(Java Server Pages)技术是由 Sun 公司发布的用于开发动态 Web 应用的一项技术。它以其简单易学、跨平台的特性,在众多动态 Web 应用程序设计语言中异军突起,在短短几年中已经形成了一套完整的规范,并广泛地应用于电子商务等各个领域中。在国内,JSP 现在也得到了比较广泛的重视,得到了很好的发展,越来越多的动态网站开始采用 JSP 技术。2.2.3 JSP 的运行原理与优点在一个 JSP 文件第一次被请求时,JSP 引擎把该 JSP 文件转换成为一个 Servlet。而这个引擎本身也是一个 Servlet。JSP 的运行过程如下所示:(1)JSP 引擎先把该 JSP 文件转换成一个 Java 源文件(Servlet) ,在转换时如果发现 JSP 文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息。(2)如果转换成功,JSP 引擎用 javac 把该 Java 源文件编译成相应的.class 文件。(3)创建一个该 Servlet(JSP 页面的转换结果)的实例,该 Servlet 的 jspInit()方法被执行,jspInit()方法在 Servlet 的生命周期中只被执行一次。6 2 技术介绍毕业设计说明书(论文)缩写稿(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 是 Java API 家族的一部分,它拥有一般的 Java 程序的跨平台的特性。换句话说,就是拥有程序的对平台的独立性,即 Write once,Run anywhere!。3)程序的兼容性 JSP 中的动态内容可以各种形式进行显示,所以它可以为各种客户提供服务,即从使用 HTML/DHTML 的浏览器,到使用 WML 的各种手提无线设备(例如,移动电话和个人数字设备 PDA) ,再到使用 XML 的 B2B 应用,都可以使用 JSP 的动态页面。4)序的可重用性 在 JSP 页面中可以不直接将脚本程序嵌入,而只是将动态的交互部分作为一个部件加以引用。这样,一旦这样的一个部件写好,它可以为多个程序重复引用,实现了程序的可重用性。现在,大量的标准 JavaBeans 程序库就是一个很好的例证。2.3 JAVA 系统开发语言 基于 J2EE 的机票管理系统的研究与设计 72.3.1 JAVA 语言的特点 本系统采用的是 Java 作为开发语言。Java 是由 Sun Microsystems 公司于 1995 年 5月推出的 Java 程序设计语言(以下简称 Java 语言)和 Java 平台的总称。Java 语言是一个支持网络计算的面向对象程序设计语言。Java 语言吸收了Smalltalk 语言和 C+语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下:1、Java 语言是简单的。Java 语言的语法与 C 语言和 C+语言很接近,使得大多数程序员很容易学习和使用 Java。另一方面,Java 丢弃了 C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2、Java 语言是一个面向对象的。Java 语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements) 。总之,Java 语言是一个纯的面向对象程序设计语言。2.4 系统开发工具 2.4.1 MyEclipse 开发工具本系统采用的是 MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称 MyEclipse)作为开发工具,利用它我们可以在数据库和 J2EE 的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 J2EE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse 的特征可以被分为 7 类:1. J2EE 模型2. WEB 开发工具3. EJB 开发工具4. 应用程序服务器的连接器5. J2EE 项目部署服务6. 数据库服务7. MyEclipse 整合帮助对于以上每一种功能上的类别,在 Eclipse 中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse 结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse 是 Eclipse 的插件,也是一款功能强大的 J2EE 集成开发环境,8 2 技术介绍毕业设计说明书(论文)缩写稿支持代码编写、配置、测试以及除错。 基于 J2EE 的机票管理系统的研究与设计 9 3 系统可行性分析网站(Website),就是指在网际网路(因特网)上,根据一定的规则,使用 HTML等工具制作的用于展示特定内容的相关网页的集合。简单地说,网站是一种通讯工具,就像布告栏一样,人们可以通过网站来发布自己想要公开的资讯(信息) ,或者利用网站来提供相关的网路服务(网络服务) 。人们可以通过网页浏览器来访问网站,获取自己需要的资讯(信息)或者享受网路服务。可行性分析的任务,并不是所有问题都有简单明显的解决办法,事实上,许多问题不可能在预定的系统规模之内解决。如果问题没有可行的解,那么花费这项开发工程上的任何时间,资源,人力和经费都是无谓的浪费。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得去解。怎样达到这个目的呢?当然不能靠主观猜想而只能靠客观分析。必须分析几种主要的可能解法的利弊,从而判断原定的系统目标和规模是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。针对我们这次项目,通过对调查了解我们做了如下的可行性分析,分别从经济,技术,操作三个方面进行了系统的阐述。3.1 经济可行性分析本作品制作全程都是由本小组自发研制,因此无需太多的人力和物力,管理方便,所以无需庞大的费用,甚至可以所是零费用。鉴于企业的规模大小的不同,资产的也有所不同,同时本作品是一个动态网页,每次浏览都需要一个 Web 服务器支持,为了方便用户浏览本系统在网上申请了一个域名,并利用这个提供域名的商家的 Web 服务器作为本系统的 Web 服务器。所以从经济上完全是可行的。3.2 技术可行性分析本系统以现今比较流行的 DreamWeaver 作为开发工具,基于 Microsoft SQL Server 2000 数据库开发的 Brower/Server 体系结构的管理信息系统,提供了数据库备份与恢复功能,使数据更加安全可靠。本系统为一个数据库管理系统,现有技术较为成熟,估计利用现有技术完全可以达到功能目标,同时,考虑到开发期限较为充裕,预计可以在规定期限内完成开发。3.3 操作可行性分析本作品操作简单、界面简洁清晰, 对于那些有一般的计算机知识的人员就可以轻松上手。并兼容与所有网页浏览的软件(如: Internet Explorer) ,由此可见,该系统的10 3 系统可行性分析毕业设计说明书(论文)缩写稿操作是可行的,有必要开发本系统。同时几乎所有平台都支持 JAVA,JSP 和 JAVABeans 几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP 和 JAVABeans 甚至不用重新编译,因为JAVA 字节码都是标准的与平台无关的。本系统运行在 tomcat6.0 web 服务器,jdk1.5 或 jdk1.5 以上的 java 虚拟机中,在windows 7 的操作系统中可正常显示。本项目采用 MySQL 的数据库服务器作数据库支持。综合以上方面,本系统具有很高的开发可行性,无论是从技术上,经济上或者社会因素方面还是操作上都是可行的。 基于 J2EE 的机票管理系统的研究与设计 11 4 系统概要设计本章是系统概要的设计,有设计思想,设计原则,数据结构设计,运行设计和安全保密设计。系统是由相对独立的功能模块组成,分工合作的设计方式,使管理程序有较强的可操作性和扩展性。合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要。严格遵循准确性,易操作,源程序可读性,优化,安全性的原则。在用户登录系统时进行身份验证,只允许合法用户进入系统。即时的权限分配功能,允许管理员即时对用户的权限进行分配,充分保证了系统运行的安全性。对系统管理员和一般操作员实行功能分离,即有些功能只有系统管理员能用。4.1 设计思想(1) 管理系统分成几个相对独立的功能模块,这些模块整合形成资产管理程序。(2) 模块的细分化的程序设计思想,整个系统采用模块切分化结构设计。使管理程序有较强的可操作性和扩展性。(3) 合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。4.2 设计原则为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循了如下原则:(1) 准确性原则:对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料(如:类型匹配,长度不超限等)。(2) 易操作原则:要求设计的系统功能齐全,界面友好,操作方便,必要的地方进行提示。(3) 源程序可读性原则:为了便于其他设计,维护人员读懂代码或以后的代码修改,软件升级维护,即可能做好代码注释工作。(4) 优化原则:为了达到优化的目的,合理的运用窗口,菜单,对象等的继承,自定义用户对象,事件,函数,减少不必要的重复性代码,使程序简介明了,也方便了将来的维护。(5) 安全性原则:可以为该系统的用户设置用户权限。4.3 数据结构设计4.3.1 数据库的分析12 4 系统概要设计毕业设计说明书(论文)缩写稿数据库是长期存储在计算机内的,有组织的,可共享的数据集合,在一个信息管理系统中占非常重要的地位,它能够能充分满足各种信息的输入和输出。通过收集基本数据、数据结构以及数据处理的流程,根据对相关信息的集和统计,以及对用户所关心和需要了解的信息的分析需要建立以下数据集:在之前的需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们的关系。集成了来自不同用户对现实信息描述所构成的外部视图,形成全局的概念模型,进而可以转换成数据库的模式。本系统的操作多是对数据库的操作,诸如新闻模块实现添加、删除、修改和查询等。因此数据库的结构设计是一个非常重要的环节,数据库设计的好坏将直接对应用系统的效率。好的数据库结构设计可以提高数据的完整性和一致性,也便于提高数据存储,可使系统具有较高的响应速度,简化基于数据库的应用程序的设计实现。本数据的具体链接会在下文进行介绍。 4.3.2 数据库的设计数据库结构设计使用的数据库管理系统以及系统开发工具设计出数据库以及各个数据表的结构。本系统数据库开发汇集各种信息以供查询、存储和检索。其优点在于它能使用数据表示图或自定义窗体收集信息。它提供数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。本系统数据库是一种关系型数据库工具,关系数据库是已开发的最通用的数据库。(1) 数据库描述功能:定义数据库的全局逻辑结构(概念模式)、局部逻辑的结构(外模式)以及其它各种数据库对象;(2) 数据库管理功能:包括系统控制、数据存储以及更新管理、数据安全性与一致性维护;(3) 数据库查询和操作功能:能从数据库中检索住处或者改变信息;(4) 数据库建立与维护功能:包括数据写入、数据库重建、数据库结构维护、恢复以及系统性能监视等。此次设计根据数据的大小以及管理的便捷性选择 Mysql 作为数据库管理系统,使用数据管理器创建数据库。按照前面分析的系统,设计出系统数据库中的各个数据表如下: 列名数据类型可否为空说明user_idvarchar(30)Not null用户IDusernamevarchar(30)Not null用户名passwordvarchar(30)Not null用户密码telvarchar(30)Not null用户电话emailchar(30)Not null用户信箱roleIdchar(30)Not null用户角色 基于 J2EE 的机票管理系统的研究与设计 13 表 4-1 管理员表列名数据类型可否为空说明airplaneNumvarchar(30)Not null飞机号firCapacityint(30)Not null头等舱座位busCapacityint(30)Not null公务舱座位ecoCapacityint(30)Not null经济舱座位totalint(30)Not null总数表 4-2 飞机列名数据类型可否为空说明flightNumvarchar(30)Not null航班号airplaneNumvarchar(30)Not null飞机型号startCityvarchar(30)Not null出发城市endCityvarchar(30)Not null目的城市startTimevarchar(30)Not null出发时间endTimevarchar(30)Not null到达时间表 4-3 航班列名数据类型可否为空说明fareNumvarchar(30)Not null票价号flightNumvarchar(30)Not null航班号firFarevarchar(30)Not null头等舱价位busFarevarchar(30)Not null公务舱价位ecoFarevarchar(30)Not null经济舱价位表 4-4 票价列名数据类型可否为空说明client_idInt(30)Not nulliduserNamevarchar(30)Not null用户名clientNamevarchar(30)Not null真实姓名clientPasswordvarchar(30)Not null密码clientIdvarchar(30)Not null身份证号clientTelephonevarchar(30)Not null联系电话clientEmailvarchar(30)Not null电子邮件clientSexvarchar(30)Not null性别clientAddressvarchar(30)Not null住址表 4-5 客户得到以上的数据项和数据结构以后,就可以设计出能够满足用户需求的各种设计,他们之间的关系为后面的逻辑结构设计打下基础,这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。这在以后的设计中的作用十分重要。4.4 运行设计本系统运行后,首先启动初始化模块,显示前台界面陆,如果需要进入后台,可以进入后台页面,退出模块关闭数据库连接并退出系统。各个模块运行时间均应控制在 3-5 秒内(其中大部分时间为响应用户的动作) 。14 4 系统概要设计毕业设计说明书(论文)缩写稿4.5 安全性设计(1) 在管理员登录系统时进行身份验证,只允许合法管理员进入系统。(2) 即时的权限分配功能,允许管理员即时对用户的权限进行分配,充分保证了系统运行的安全性。(3) 对系统管理员和一般操作员实行功能分离,即有些功能只有系统管理员能用。(4) 数据库的备份功能,保证了数据的安全。 基于 J2EE 的机票管理系统的研究与设计 15 5 系统需求分析这一章为本系统的需求分析。根据目前企业的发展,为了开发出真正满足用户需求的产品,首先必须要知道客户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能满足用户需求的程序只会给客户带来失望,给开发带来麻烦。本系统主要有两类用户,不同类型的用户使用不同的系统模块,此系统分为两个部分,前台和后台,前台针对的是用户和管理员,后台仅面向管理员,后台的功能主要使通过数据库来实现的。5.1 系统需求分析的原因大多数情况下,任何软件开发的过程,首先就是,用户根据自己的实际情况,考虑自己所要解决的主要问题,然后向开发人员提出问题开始的。这两方面人员往往缺乏共同的语言,用户熟悉本身的业务但不熟悉计算机技术,软件人员熟悉计算机技术但往往不熟悉用户的业务,软件人员习惯用数据结构、程序结构、编程语言等方式来讨论问题,而用户不能确切的理解这些概念,所以双方交流时存在着隔阂。更糟的情况是:用户本身也不知道他到底要计算机做些什么,这就更增加了交流的难度。开发人员常常还没搞清用户要做什么的情况就着手开发软件,这样总会导致,开发人员做出的东西,不是用户所要求的,因此,在一个软件的开发过程中,用户需求分析是非常重要的,通过需求分析才能把软件功能和性能的总体要领描述为具体的软件需求规程说明,从而奠定软件开发的基础。根据目前企业的发展,为了开发出真正满足用户需求的产品,首先必须要知道客户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能满足用户需求的程序只会给客户带来失望,给开发带来麻烦。虽然在可行性研究阶段已经粗略了解用户的需求,甚至还提出了一些可行的方案,但是,可行性研究的基本目的使用较小的成本在较短时间内确定是否存在可行的解法,因此,在需求分析阶段要确定系统必须完成哪些工作,也就是对系统提出完整、准确、清晰、具体的要求。5.2 系统功能分配本系统主要有两类用户,不同类型的用户使用不同的系统模块,例如,信息浏览者(用户)仅能使用前台系统,浏览自己感兴趣的网页,查询自己想看的资产信息;管理员则通过身份验证可使用所有的系统模块。更确切的说,此系统分为两个部分,前台和后台,前台针对的是用户和管理员,后台仅面向管理员,后台的功能主要使通过数据库来实现的。在此部分的论述中,根据用户对象的不同将用户非为两类,一类是浏览系统的浏16 5 系统需求分析毕业设计说明书(论文)缩写稿览者(用户) ,一类是系统的模块管理员。两者的根本区别是前者只能浏览系统,进行自己所需资产信息进行查询,而管理员为其身份的特殊性可以进入系统的后台进行一系列相关的操作。5.2.1 浏览者(用户)需求分析为了方便信息的查询与公司资产的安全性,系统只能允许管理员与员工进行查询,管理员可以对公司资产的管理以及员工的借还管理,而员工自能对自己的资产和对借还公司设备进行查询。在用户进入本系统的主页面后在登录界面,管理员就可以轻松方便的对公司资产进行管理。5.2.2 管理员需求分析此系统分为客户端模块,服务端模块。根据不同的模块,设计不同的权限,方便管理员对不同的模块进行操作。客户端模块:用户可对票价、航班信息进行查询。可分为不同板块,可让用户简单容易的进行操作。 服务端模块:有划分为票价管理,客户管理,航班管理和飞机管理四个模块.各模块管理员可对自己模块的信息进行添加,删除,修改与查询。方便管理员简单容易的进行信息的管理。 基于 J2EE 的机票管理系统的研究与设计 17 6 功能模块设计方案这一章是本系统的功能模块设计方案的介绍。登录分为超级管理员登录和管理员登录。管理员登录进入主页面,可对各自负责模块的票价信息,航班信息,飞机信息,客户信息进行管理。超级管理员进入页面后,可对管理员的信息进行管理。6.1 客户端模块用户注册后登录进入主页面,可完成查询航班信息,订票,修改个人帐户的功能。6.1.1 用户注册与登录用户按要求填写自己的各项信息,当输入信息不符合基本格式时会弹出一个对话框,显示错误。用户登录无需密码验证,用户权限只为查询票价,航班信息,不能修改票价,航班及其他信息。图 6-1 客户登录页面6.2 服务端模块本模块的用户对象是各个模块的管理员,从理论上讲每个模块均有一个管理员,根据模块的不同,每个管理员的登录密码不同。该模块是管理员进行操作的关键部分,管理员在这里主要是进行对数据库的操作。6.2.1 管理员登陆18 6 个人功能模块设计方案毕业设计说明书(论文)缩写稿在此模块中,管理员在进入界面后可以对各自模块信息进行管理。6.2.2 管理员查改页面在此模块中,超级管理员在进入界面后可以根据需求对管理员的相关信息进行查询与修改。图 6-2 管理员信息页面图 6-3 超级管理员查改页面 基于 J2EE 的机票管理系统的研究与设计 19 6.2.3 票价管理页面在此模块中,管理员在进入界面后可以进行对票价信息进行管理。 图 6-4 票价管理页面6.2.4 客户管理页面在此模块中,管理员在进入界面后可对用户信息进行查询,可分为全部查询和按姓名查询,因此管理员可以更快捷便利的查找用户信息,也可实现对用户信息的更改和删除。图 6-5 客户管理页面6.2.5 飞机管理页面在此模块中,管理员在进入界面后可对飞机信息进行添加,删除,修改和查询。20 6 个人功能模块设计方案毕业设计说明书(论文)缩写稿图 6-6 飞机管理页面6.2.6 航班管理页面在此模块中,管理员在进入界面后可对航班信息进行添加,删除,修改和查询。图 6-7 航班管理页面 基于 J2EE 的机票管理系统的研究与设计 21 7 程序测试7.1 测试的重要性及目的7.1.1 测试的重要性软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括:认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感;以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定;测试工作枯燥无味,不能引起人们的兴趣;测试工作是艰苦而细致的工作;这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。7.1.1 测试的目的 如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。(1) 软件测试是为了发现错误而执行程序的过程;(2) 测试是为了证明程序有错,而不是证明程序无错误;(3) 一个好的测试用例是在于它能发现至今未发现的错误;(4) 一个成功的测试是发现了至今未发现的错误的测试。这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目的,但是事实并非如此。首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错的测试也是有价值的,完整的测试是评定测试质量的一种方法。22 7 程序测试毕业设计说明书(论文)缩写稿7.2 测试的步骤与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成: (1) 模块测试 在这个测试步骤中所发现的往往是编码和详细设计的错误。 (2) 系统测试 在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。 (3) 验收测试 在这个测试步骤中发现的往往是系统需求说明书中的错误。7.3 测试的主要内容为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。(1) 单元测试单元测试集中在检查软件设计的最小单位模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。 (2) 集成测试集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。(3) 确认测试 确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。(4) 系统测试 软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。单独对系统的测试主要从以下几入手:功能测试:测试是否满足开发要求,是否提供设计所描述的功能,是否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。强度测试及性能测试:测试系统能力最高实际限度,即软件在一些超负荷情况下功能实现的情况。 基于 J2EE 的机票管理系统的研究与设计 23 安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰。针对本系统主要是对权限系统的测试和对无效数据、错数据、和非法数据干扰的能力的测试。经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束。24 7 程序测试毕业设计说明书(论文)缩写稿8 结 论经过这段时间对系统知识系统的学习和研究,我们的毕业设计基于 J2EE 的机票管理系统的研究与设计基本上是完成了,功能实现如下:(1)本系统实现了票价,航班,飞机信息的增删查改的功能。(2)本系统实现了管理员的增删查改的功能,实现了超级管理员对管理员信息的管理功能。(3)本系统实现了机票信息,航班信息,飞机信息的即时性更新功能。本系统通过程序的编码实现了票价修改与航班修改的瞬时更新数据的能力,在操作结束的同时将操作的信息及时更新到数据库,并能在相应信息中显示出最新更新信息,这部分功能是本系统的一个亮点。(4)本系统实现了管理员快速登录通道的功能。在不需要任何身份验证的情况下,快速登录到有权限的管理操作界面。磕磕碰碰地做完了自己要做的部分,自己觉得不是很满意。但是总算知道了开发一个 BS 架构系统的主要过程了。通过用 HTML+JSP 的实践运用做成的航空公司订票系统,对 HTML+JSP 有更加深刻的认识,也使自己具备了一定的网页设计及操作能力。通过这次的实践作业,使自己对以后的计算机学习生活有一定的了解。对以后的学习和工作有更大的帮助。由于自己水平有限,设计的网页难免有漏洞和错误,望老师给予谅解,也感谢老师这么多节课对我的教导。本次我是负责飞机管理模块的设计,虽然不是整个系统最重要的部分,但是它也是整个系统的一份子。虽然占的比例不大,但是也不要小瞧它。经过二个月的学习,JAVA 软件编程设计即将结课,总的来说,经过这门课的学习收获还是相当大的。如果不是这门课督促着自己利用课余时间去查阅更多关于计算机语言方面的图书然后实际编写出来,就不可能掌握如此多的知识。而且自己有了这样的意识:编写程序只是软件开发过程中的一个阶段,做一个软件必须严格按照软件工程设计软件的一系列步骤。 基于 J2EE 的机票管理系统的研究与设计 25 致 谢经过两个月的忙碌和学习,本次毕业设计已经接近尾声,毕业设计不仅仅是一个课题的研究,它是三年所学知识的总结,也是我们能力的一次提升,所以我感谢镐京学院给了我这个提升自己的一次难得机会,也感谢学院对我三年来的培养,给我一个发展的平台。在这里,我要感谢我的班主任王瞾和郭素臣老师,是她们陪我们走过这三年最宝贵的大学生活,是她们教我学会独立,学会成长。三年有过心酸,有过苦,有过累,有过笑,有过哭,是他们陪我们走过每个不平凡的日子,谢谢她们教会了我很多很多。在这里也要感激这次 JAVA 实训的全体培训老师,老师们平日里工作繁多,但在我做毕业设计的每个阶段,从查阅资料,设计草案的确定和修改,到后期详细设计等整个过程中都给予了我耐心的指导。除了敬佩他们的专业水平外,他的治学严谨和一丝不苟的精神,也是我永远学习
展开阅读全文