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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。