1、引言 第 1 页(共 38 页) 1 引言 1.1 选题背景 21 世纪的特征是数字化、网络化和信息化,它是一个以数据库技术为核心的信息时代。而随着信息技术的发展,航空售票业也成为一个高度依赖信息业的行业。信息技术的飞速发展不仅使航空售票工作者逐渐摆脱了繁重的手工劳动、提高了工作效率,而且推着航空事业向现代化管理迈进。现代化的航空售票也应该有现代化的管理系统。在科技日益发达的今天,人们对旅游出行更加重视。因此,航空售票进行现代化管理就变的尤为重要。 今天,信息资源已成为各个部门的重要财富,建立一个满足航空售票信息处理要求的行之有效的信息系统也成为一 个航空公司发展的重要条件。航空售票管理系统,
2、它是航空部门机票管理系统的一部分,其作用是对所有待售机票和已售机票进行有效的管理。通过本系统不仅可以进行售票工作,而且还可以对和机票相对应的旅客情况和航班情况进行查询,并可随时进行增加,修改,删除等工作,使售票人员能够有效地对机票进行有效的控制和管理。因此,通过航空售票管理系统,使航空售票管理工作系统化,规范化,自动化,从而大大提高了售票管理工作的效率。 1.2 目的和意义 随着信息技术的发展,使人们上网容易成为现实,而售票厅往往人群拥挤一票难求,现实中去站点购 票要受时间及地点的限制,由于现在人们生活节凑变快,时间资源相当保贵,有时为定购一张票需要坐上几个小时的车到售票处去排队买票,有时还会
3、因为信息的缺乏,不能有效的了解票的销售情况,使旅行计划受阻,给顾客带来了很多的不便。网上订票系统,新一种新型的售票模式。用户可以通过网络查询航班的情况及机票的销售情况,以便更好的制定旅行计划,用户通过互联网在网上预订机票,极大的提高的旅客的订票效率,节省了订票的时间,缓解了售票窗口的拥挤的现状。网上订票系统的成功实施,提高了售票的信息化管理水平,减小了工作人员的工作强度,为航空 运输行业提供了新型的管理模式。 航 空订票系统的设计与实现 第 2 页(共 38 页) 1.3 技术要求和设计范围 航空售票系统提供的是一种面向较广区域的用户群系统。 它需要自身能够提供给不同区域的用户方便的访问及大量
4、的机票数据信息。用户只需要拥有一台 PC 机,并能方便地接入 Internet,便可实现在线的、实时性的购票交易。用户登陆系统主页,就可以查询各个航班的具体信息(包括出发时间,到达时间,途经地以及价格等)。此时,用户的操作只是简单的从数据库根据条件提取数据,不需要系统进行任何处理,而是直接将数据显示到页面上。用户根据自己需求,对特定航班机票进行订购 。 航空售票系统最终实现的是购买适合用户的机票,用 户通过查询、定购 等过程最终选定一张机票。企业级的电子航空售票系统不仅能够提供譬如航班信息查询、机票定购、订单查询、订单处理等基本功能,对系统的输出要求是数据完整、详实、简捷、快速、实时。基于以上
5、基本要求,实现与民航终端的松耦合集成。 1.4 发展现状 随着互联网技术的日益成熟,近年来网上订购机票日益流行。越来越多的人们可以通过航空公司网站、旅行社网站以及其他旅游、机票销售的专业网站选订机票。 人们在网上购物,订票已经是司空见惯的事情了。 网上订票在一订程度上提高 了购票的透明度和自主性,但 随着技术的发展和人们生活质量及方式的变化,一些老旧的订票网站就可能跟不上人们的需求 ,仍存在许多不足的地方, 一个合格的航空订票系统需要不断的发 展维护更新,需要跟上时代的脚步,尽最大能力满足客户各方面的需求。 目前市面上比较受欢迎的航空订票系统比如有携程网 , 这家网站 囊括的范围很广,可以说从
6、你登上这个网站之时,这家网站都已经给你提供了出发到回来 的全套服务体系的选择方案,携程 网 的服务绝对是个亮点,你预订付款后,如果有任何事宜需要帮助,携程 网 的客服人员都会尽力的为你服务。另外再细节方面,携程 网也是做的很好,比如有很多短信温馨提示。 携程网的一大特点就是实现了旅行产品的网上一站式服务,业务范围涵盖酒店、机票、旅行线路的预订及商务使用信息的查询检索等。像这样的网站模式很符合时代和人们的需求,一切为了方便客户的设计与服务,必将得到用户的支持与拥护,这样的网站才会长足发展,经久不衰。 方案论证 第 3 页(共 38 页) 2 方案论证 2.1 JSP 技术简介 JSP(Java
7、Server Page 服务器网页 )是从 1998 年开始出现的新技术。由 Sun 公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于 JavaServlet 以及整个 Java 体系的 web 开发技术。在传统的网页 HTML 文件 (*.htm,*.html)中加入脚本片段和 JSP 标记 (Tag),构成 JSP 网页 (*.jsp)。 JSP 技术为创建显示动态生成内容的web 页面提供了简便的方法。 JSP 作为 Java 家族的一员,承袭了 Java 的特点,即跨平台的特性,也即一次编译,到处运行。 在国外,己经大量使用 JSP 作为网络应用程序的开发工具,而在国内,尽
8、管 JSP还不是主流开发技术,但是由于 JSP 的强大优势,许多网站都已经准备转向 JSP,利用 JSP 来开发动态网站。 2.2 JSP 工作原 理 JSP 是面向服务器的,因此支持任何浏览器。当 Web 服务器和 JSP 引擎遇到访问JSP 网页的请求时, JSP 引擎将请求对象发送给服务器端的相关组件,比如 JavaBean组件、 Servlet 或 EJB 等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回 JSP 引擎。 JSP 引擎将响应对象传递给 JSP 页面,根据 JSP 页面的 HTML 格式完成数据编排,最后 Web
9、服务器和 JSP 引擎将格式化后的 JSP 页面以 HTML 格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器 Web 服务器 后台数据库的三层架构模式。因为 JSP 所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果 。 2.3 JSP 体系结构 JSP 网站开发标准给出了两种使用 JSP 的技术 ,可以归纳为模式一、模式二。 模式一 :JSP+JavaBeans 技术 在这种模式中, JSP 页面独自响应请求并将处理结果返回给客户。 Bean 处理所有数据访问, JSP 实现页面的表现,以实现内容生成与显示相分离。当处理复杂的大型应用时,页面被嵌入大量的脚本或 Jav
10、a 代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大 量的内嵌代码使得页面程序航 空订票系统的设计与实现 第 4 页(共 38 页) 变得复杂,对于前端界面设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要。 模式二 :JSP+Servlet+JavaBeans 技术 Servlet 技术是一种采用 Java 技术来实现 CGI 功能的一种技术, Servlet 技术非常适于服务器端的处理和编程,并且 Servlet会长期驻留在内存。 从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合
11、当前流行的 MVC 结构(Model/view/controller),其中 Servlet 对应 controller,处于控制者的位置,处理 HTTP 请求,负责生成 JSP 中使用的 Beans 组件或对象,并判断应将请求传递给哪个 JSP 等, JSP 对应 view,负责生成最终的动态网页并返回给浏览器。而 JavaBeans对应的是 Model,实现各个具体的应用逻辑与功能。 2.4 JSP 特点 1.简化的页面生成技术。 JSP 页面用标准的 HTML 或 XML 命令来处理页面的格式化和布局设计,而用类似 HTML、 XML 的标记和 Java 语言编写的脚本程序生成页面内容。
12、这使得页面形式与页面内容互相独 立,非常有利于大型项目的分工合作。 2.与 Java 平台有机集成。 JSP 技术是 Java 2 平台的重要组成部分, JSP 使用 Java 语言作为它的脚本语言。在 JSP 页面中可以使用几乎所有的 Java 组件和 Java API,这就能充分发挥出 Java 语言的强大功能。使用 JSP 技术可以创建具有高度可伸缩性和可靠性的 Web 应用程序。 3.硬件平台和服务器无关性。 JSP 作为 Java 家族的一员,秉承了 Java 技术的“一次编写,随处可用 (Write Once,Rum Anywhere)”的特性,可以运行于大多数流行的操作系统平 台
13、及 Web 服务器,这种与服务器硬件和操作系统平台的无关性是 JSP 相对于其它动态网页技术最大的一个优点。 4.功能可扩展性。 方案论证 第 5 页(共 38 页) 如同 Microsoft 的 JSP 技术可以通过 ActiveX/COM 组件来扩展功能一样, JSP 可以通过 JavaBean 和 EJB(Enterprise JavaBean)以及自定义的标记来扩展功能。 JSP 提供了一些隐含对象。这些隐含对象在 JSP 页面中可以直接引用,而不必首先声明。利用 JSP 提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。例如,利用 request 对象, 可以很容易
14、地接收用户在 HTML 表单中提交的信息。 2.5 B/S 模式与 C/S 模式的比较分析 C/S 模式主要由客户应用程序 (Client)、服务器管理程序 (Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据进行交互的部件。服务器程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理。中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。 B/S 模式是一种以 Web 技术为基础的新型的 MIS 系统平台模式。把传统 C/S 模式中的服务器部
15、分分解为一个数据服务器与一个或多个应用服务器 (Web 服务器 ),从而构成一个三层结构的客户服务器体系。 第一层客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如 Netscape Navigator,微软公司的 IE 等。浏览器将 HTML 代码转化成图文并茂的网页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。这个后台就是第二层的 Web 服务器。 第二层 Web 服务器将启动相应的进 程来响应这一请求,并动态生成一串 HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取, Web
16、服务器还需与数据库服务器协同完成这一处理工作。 第三层数据库服务器的任务类似于 C/S 模式,负责协调不同的 Web 服务器发出的 SQ请求,管理数据库。 B/S 模式的优势 航 空订票系统的设计与实现 第 6 页(共 38 页) 首先它简化了客户端。它无需象 C/S 模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。假设一个企业的决策层 要开一个讨论库存问题的会议,他们只需从会议室的计算机上直接通过浏览器查询数据,然后显示给大家看就可以了。甚至与会者还可以把笔记本电脑联上会议室的网络插
17、口,自己来查询相关的数据。其次,它简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在 Web 服务器上,并就不同的功能为各个组别的用户设置权限就可以了。各个用户通过 HTTP请求在权限范围内调用 Web 服务器上不同处理程序,从而完成对数据的查询或修改。现代企业面临着日新月异的竞争环境,对企业内部运作机制的更 新与调整也变得逐渐频繁。相对于 C/S, B/S 的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对 Web 服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去了维护时协
18、调工作的不少麻烦。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得更加重要。 再次,它使用户的操作变得更简单。对于 C/S 模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用 B/S 模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培 训,就可以直接使用。 B/S 模式的这种特性,还使 MIS 系统维护的限制因素更少。 最后, B/S 特别适用于网上信息发布,使得传统的 MIS 的功能有所扩展。这是C/S 所无法实现的。而这种新增的网上信息发布功能恰是现代企业所需的。这使得企业的大部分书面文件可以被电子文件取代,从而提高了企业
19、的工作效率,使企业行政手续简化,节省人力物力。 鉴于 B/S 相对于 C/S 的先进性, B/S 逐渐成为一种流行的 MIS 系统平台。各软件公司纷纷推出自己的 Internet 方案,基于 Web 的财务系统、基于 Web 的 ERP。一些企业已经领先一步 开始使用它,并且收到了一定的成效。 B/S 模式的新颖与流行,和在某些方面相对于 C/S 的巨大改进,使 B/S 成了 MIS系统平台的首选。 过程论述 第 7 页(共 38 页) 2.6 运行环境和开发工具的选择 2.6.1 运行环境 Windows Server2005 系统运行平台, IIS5.0WEB 服务器和脚本解释器, IE6
20、.0 浏览器, DirecX9.0 系统插件和 SQLServer2005 企业版 9。 2.6.2 开发工具 Eclipse 是一种可扩展的开放源代码 IDE.,业界厂商合作创建了 Eclipse 平台 .Eclipse允许在同一 IDE 中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的业务上 。 利用 Eclipse,我们可以将高级设计 (也许是采用 UML)与低级开发工具 (如应用调试器等 )结合在一起 .如果这些互相补充的独立工具采用 Eclipse 扩展点彼此连接,那么当我们用调试器逐一检查应用时, UML 对话框可以突出显
21、示我们正在关注的器件 .事实上,由于 Eclipse 并不了解开发语言,所以无论 Java 语言调试器、 C/C+调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程 或节点 . Eclipse 的最大特点是它能接受由 Java 开发者自己编写的开放源代码插件,这类似于微软公司的 Visual Studio 和 Sun 微系统公司的 NetBeans 平台 .Eclipse 为工具开发商提供了 更好的灵活性,使他们能更好地控制自己的软件技术。 Tomcat 是一个免费的开源的 Serlvet 容器,是一个开源的服务器,里面可以装载 WAR 的类似于 JAR 的压缩文件,这个文
22、件按一定目录结构来组织:通常其根目录下包含有Html 和 Jsp 文件或者包含这两种文件的目录,另外还会有一个 WEB-INF 目录,这个目录 很重要 .通常在 WEB-INF 目录下有一个 web.xml 文件和一个 classes 目录,web.xml是这个应用的配置文件,而 classes目录下则包含编译好的 Servlet类和 Jsp或 Servlet 所依赖的其它类(如 JavaBean) 在 Tomcat 中,应用程序的部署很简单,你只需将你的 WAR 放到 Tomcat 的 webapp 目录下, Tomcat 会自动检测到这个文件,并将其解压 .你在浏览器中访问这个应用的 Js
23、p航 空订票系统的设计与实现 第 8 页(共 38 页) 时,通常第一次会很慢,因为 Tomcat 要将 Jsp 转化为 Servlet 文件,然后编译 .编译以后,访问将会很 快 。 SQLServer2005 1、数据库的概念 数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库 (flat-file)和关系数据库( relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。 2、新建一个数据库 创建任何一个数据库的第一步是仔细的规划数据库,设计必须
24、是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。 ( 1)标识需要的数据; ( 2)收集被子标识的字段到表中; ( 3)标识主关键字字段; ( 4)规范数据; ( 5)标识指定字段的信息; 过程论述 第 9 页(共 38 页) 3 过程论述 3.1 可行性分析 可行性研究的目的是用最小的代价,在尽可能短的时间内确定问题是否能够解决,它的目的不是解决问题,而是确定问题是否能解决、是否值得解决。可行性分析就是对项目开发的可能性和必要性进行分析,避免盲目投资。可行性主要从以下三个方面来考虑。 3.1.1 技术可行性 本系统采用的开发工具为 MyEclipse9, 数据库采用 SQL
25、Server, 采用 B/S 模式的设计方法。 本系统 用的是 JSP 开发语言 。 MyEclipse 是具有强大设计能力的和易于开发的编程工具 ,简单易懂,利用它与 SQLServer 的结合便可以在单机上开发程序。本人经过大学的学习,学习过以上软件,并在课程实习中熟练的掌握了两种软件的使用,再加上老师的指导,开发本系统不会有太大问题,所以在技术上是可行的。 3.1.2 经济 可行性 机票预定管理系统开发需要投资费用和未来的运行维护费用,其中投资费用主要包括设备费用、人员费用及其他费用,如由于工作方式改变需要增加其他的开支,通常为了保证新系统运行的可 靠性,要求手工和计算机处理在一段时间内
26、并存。由于计算机的普及,硬件价格下降,本系统的初期费用大于一万元,即可使系统投入使用,本系统的成功运行的收益主要通过新系统提高工作效率,提高航空运输在运输行业中的市场份额,及指导经营来实现。系统投入使用一段时间后,即可收回成本,在以后的使用中,会为航空公司节省大量的开支,使航班的信息资源得到有效的利用。所以本系统在经济上也是可行的。 3.1.3 操作 可行性 本系统采用先进的开发技术,开发的程序具有界面直观易懂,操作简洁,使用非常方便。只要具备计算机的基础知识,经过简单 的培训即可操作本系统。 由于以上论述,本系统的开发在技术上,经济上,操作上都是可行的,所以本系统可以进行开发。 航 空订票系
27、统的设计与实现 第 10 页(共 38 页) 3.1.4 法律 可行性 所有技术资料都为合法。 开发过程中不存在知识产权问题。 未抄袭任何系统,不存在侵犯版权问题。 开发过程中未涉及任何法律责任。 综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。 3.2 需求分析 需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。需求分析就是分析软件用户的需求是什么 .如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳 .如果费了很大的精力 , 开发一个软件 , 最后却不满足用户的要求 , 从而要重新
28、开发过 , 这种返工是让人痛心疾首的,所以在项目开始之前花费时间去作好需求分析是很重要的。需求分析之所以重要 , 就因为他具有决策性,方向性 , 策略性的作用 , 他在软件开发的过程中具有举足轻重的地位。 3.2.1 功能需求 当然由于一开始需求分析不会做的非常充分,只能用循环迭代的不断地完善。因此数据库中表的设计也不段的更新和添加,好多关系式后来想到了才添加的 不同 用户对系统的要求: 1)航空公司人员 航空公司的管理人员可以查询该公司所有的航班信息,以便及时核对,更正信息;由于特殊情况导致航班延误或取消航班,航空公司管理人员就要修改航班的基本信息。如修改航班的出发时间,到达时间,执行飞行任务的飞机等等,除此之外。 2)乘客 乘客只能查询航班的基本信息,如航班号,出发地,目的地,出发时间,到达时间,票价,票额剩余量 关于用例图 将在后面详细做讲解 ,这里就不重复出现了。