毕业论文航空订票系统正文朱富昆_第1页
毕业论文航空订票系统正文朱富昆_第2页
毕业论文航空订票系统正文朱富昆_第3页
毕业论文航空订票系统正文朱富昆_第4页
毕业论文航空订票系统正文朱富昆_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、引言1 引言1.1 选题背景21世纪的特征是数字化、网络化和信息化,它是一个以数据库技术为核心的信息时代。而随着信息技术的发展,航空售票业也成为一个高度依赖信息业的行业。信息技术的飞速发展不仅使航空售票工作者逐渐摆脱了繁重的手工劳动、提高了工作效率,而且推着航空事业向现代化管理迈进。现代化的航空售票也应该有现代化的管理系统。在科技日益发达的今天,人们对旅游出行更加重视。因此,航空售票进行现代化管理就变的尤为重要。今天,信息资源已成为各个部门的重要财富,建立一个满足航空售票信息处理要求的行之有效的信息系统也成为一个航空公司发展的重要条件。航空售票管理系统,它是航空部门机票管理系统的一部分,其作用

2、是对所有待售机票和已售机票进行有效的管理。通过本系统不仅可以进行售票工作,而且还可以对和机票相对应的旅客情况和航班情况进行查询,并可随时进行增加,修改,删除等工作,使售票人员能够有效地对机票进行有效的控制和管理。因此,通过航空售票管理系统,使航空售票管理工作系统化,规范化,自动化,从而大大提高了售票管理工作的效率。1.2 目的和意义随着信息技术的发展,使人们上网容易成为现实,而售票厅往往人群拥挤一票难求,现实中去站点购票要受时间及地点的限制,由于现在人们生活节凑变快,时间资源相当保贵,有时为定购一张票需要坐上几个小时的车到售票处去排队买票,有时还会因为信息的缺乏,不能有效的了解票的销售情况,使

3、旅行计划受阻,给顾客带来了很多的不便。网上订票系统,新一种新型的售票模式。用户可以通过网络查询航班的情况及机票的销售情况,以便更好的制定旅行计划,用户通过互联网在网上预订机票,极大的提高的旅客的订票效率,节省了订票的时间,缓解了售票窗口的拥挤的现状。网上订票系统的成功实施,提高了售票的信息化管理水平,减小了工作人员的工作强度,为航空运输行业提供了新型的管理模式。第39页(共38页)1.3 技术要求和设计范围航空售票系统提供的是一种面向较广区域的用户群系统。 它需要自身能够提供给不同区域的用户方便的访问及大量的机票数据信息。用户只需要拥有一台PC机,并能方便地接入 Internet,便可实现在线

4、的、实时性的购票交易。用户登陆系统主页,就可以查询各个航班的具体信息(包括出发时间,到达时间,途经地以及价格等)。此时,用户的操作只是简单的从数据库根据条件提取数据,不需要系统进行任何处理,而是直接将数据显示到页面上。用户根据自己需求,对特定航班机票进行订购。航空售票系统最终实现的是购买适合用户的机票,用户通过查询、定购等过程最终选定一张机票。企业级的电子航空售票系统不仅能够提供譬如航班信息查询、机票定购、订单查询、订单处理等基本功能,对系统的输出要求是数据完整、详实、简捷、快速、实时。基于以上基本要求,实现与民航终端的松耦合集成。1.4 发展现状随着互联网技术的日益成熟,近年来网上订购机票日

5、益流行。越来越多的人们可以通过航空公司网站、旅行社网站以及其他旅游、机票销售的专业网站选订机票。人们在网上购物,订票已经是司空见惯的事情了。网上订票在一订程度上提高了购票的透明度和自主性,但随着技术的发展和人们生活质量及方式的变化,一些老旧的订票网站就可能跟不上人们的需求,仍存在许多不足的地方,一个合格的航空订票系统需要不断的发展维护更新,需要跟上时代的脚步,尽最大能力满足客户各方面的需求。目前市面上比较受欢迎的航空订票系统比如有携程网,这家网站囊括的范围很广,可以说从你登上这个网站之时,这家网站都已经给你提供了出发到回来的全套服务体系的选择方案,携程网的服务绝对是个亮点,你预订付款后,如果有

6、任何事宜需要帮助,携程网的客服人员都会尽力的为你服务。另外再细节方面,携程网也是做的很好,比如有很多短信温馨提示。携程网的一大特点就是实现了旅行产品的网上一站式服务,业务范围涵盖酒店、机票、旅行线路的预订及商务使用信息的查询检索等。像这样的网站模式很符合时代和人们的需求,一切为了方便客户的设计与服务,必将得到用户的支持与拥护,这样的网站才会长足发展,经久不衰。方案论证2 方案论证2.1 JSP技术简介JSP(Java Server Page服务器网页)是从1998年开始出现的新技术。由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的

7、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引擎将请

8、求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器Web服务器后台数据库的三层架构模式。因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。2.3 JSP体系结构JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二

9、。模式一:JSP+JavaBeans技术在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要。模式二:JSP+Servlet+JavaBeans技术Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Ser

10、vlet会长期驻留在内存。从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。2.4 JSP特点1.简化的页面生成技术。JSP页面用标准的HTML或XML命令来处理页面的格式化和布局

11、设计,而用类似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)”的特性,可以运行于大多数流行

12、的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。4.功能可扩展性。如同Microsoft的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJB(Enterprise JavaBean)以及自定义的标记来扩展功能。JSP提供了一些隐含对象。这些隐含对象在JSP页面中可以直接引用,而不必首先声明。利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息。2.5 B/S模式与C/S模式的比较分

13、析C/S模式主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据进行交互的部件。服务器程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理。中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。B/S模式是一种以Web技术为基础的新型的MIS系统平台模式。把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。 第一层客户

14、机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如Netscape Navigator,微软公司的IE等。浏览器将HTML代码转化成图文并茂的网页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。这个后台就是第二层的Web服务器。 第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。 第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQ请求,管

15、理数据库。 B/S模式的优势 首先它简化了客户端。它无需象C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。假设一个企业的决策层要开一个讨论库存问题的会议,他们只需从会议室的计算机上直接通过浏览器查询数据,然后显示给大家看就可以了。甚至与会者还可以把笔记本电脑联上会议室的网络插口,自己来查询相关的数据。其次,它简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限就可以了

16、。各个用户通过HTTP请求在权限范围内调用Web服务器上不同处理程序,从而完成对数据的查询或修改。现代企业面临着日新月异的竞争环境,对企业内部运作机制的更新与调整也变得逐渐频繁。相对于C/S,B/S的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对Web服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得更加重要。 再次,它使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端只

17、是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。B/S模式的这种特性,还使 MIS系统维护的限制因素更少。 最后,B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。这是C/S所无法实现的。而这种新增的网上信息发布功能恰是现代企业所需的。这使得企业的大部分书面文件可以被电子文件取代,从而提高了企业的工作效率,使企业行政手续简化,节省人力物力。 鉴于B/S相对于C/S的先进性,B/S逐渐成为一种流行的MIS系统平台。各软件公司纷纷推出自己的Internet方案,基于Web的财务系统、基于Web的ERP。一些企业已经领先一步开始使用它,并且收

18、到了一定的成效。 B/S模式的新颖与流行,和在某些方面相对于C/S的巨大改进,使B/S成了MIS系统平台的首选。过程论述2.6 运行环境和开发工具的选择2.6.1 运行环境Windows Server2005系统运行平台,IIS5.0WEB服务器和脚本解释器,IE6.0浏览器,DirecX9.0系统插件和SQLServer2005企业版9。2.6.2 开发工具Eclipse是一种可扩展的开放源代码IDE.,业界厂商合作创建了Eclipse平台.Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的业务上。利用E

19、clipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起.如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件.事实上,由于Eclipse并不了解开发语言,所以无论Java语言调试器、C/C+调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点. Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于微软公司的Visual Studio和Sun微系统公司的NetBeans平台.Eclipse为工具开发

20、商提供了 更好的灵活性,使他们能更好地控制自己的软件技术。Tomcat是一个免费的开源的Serlvet容器,是一个开源的服务器,里面可以装载WAR的类似于JAR的压缩文件,这个文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要.通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)在Tomcat中,应用程序的部署很简单,你只需将你的WAR

21、放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压.你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译.编译以后,访问将会很快。SQLServer20051、数据库的概念数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。2、新建一个数据库创建任何一个数据库的第一步是

22、仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。(1)标识需要的数据;(2)收集被子标识的字段到表中;(3)标识主关键字字段;(4)规范数据;(5)标识指定字段的信息; 过程论述3 过程论述3.1 可行性分析可行性研究的目的是用最小的代价,在尽可能短的时间内确定问题是否能够解决,它的目的不是解决问题,而是确定问题是否能解决、是否值得解决。可行性分析就是对项目开发的可能性和必要性进行分析,避免盲目投资。可行性主要从以下三个方面来考虑。3.1.1 技术可行性本系统采用的开发工具为MyEclipse9, 数据库采用SQLServer, 采用B/S模式的设计

23、方法。本系统用的是JSP开发语言。MyEclipse是具有强大设计能力的和易于开发的编程工具,简单易懂,利用它与SQLServer的结合便可以在单机上开发程序。本人经过大学的学习,学习过以上软件,并在课程实习中熟练的掌握了两种软过程论述件的使用,再加上老师的指导,开发本系统不会有太大问题,所以在技术上是可行的。3.1.2 经济可行性机票预定管理系统开发需要投资费用和未来的运行维护费用,其中投资费用主要包括设备费用、人员费用及其他费用,如由于工作方式改变需要增加其他的开支,通常为了保证新系统运行的可靠性,要求手工和计算机处理在一段时间内并存。由于计算机的普及,硬件价格下降,本系统的初期费用大于一

24、万元,即可使系统投入使用,本系统的成功运行的收益主要通过新系统提高工作效率,提高航空运输在运输行业中的市场份额,及指导经营来实现。系统投入使用一段时间后,即可收回成本,在以后的使用中,会为航空公司节省大量的开支,使航班的信息资源得到有效的利用。所以本系统在经济上也是可行的。3.1.3 操作可行性本系统采用先进的开发技术,开发的程序具有界面直观易懂,操作简洁,使用非常方便。只要具备计算机的基础知识,经过简单的培训即可操作本系统。由于以上论述,本系统的开发在技术上,经济上,操作上都是可行的,所以本系统可以进行开发。3.1.4 法律可行性 所有技术资料都为合法。 开发过程中不存在知识产权问题。 未抄

25、袭任何系统,不存在侵犯版权问题。 开发过程中未涉及任何法律责任。综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。3.2 需求分析需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。需求分析就是分析软件用户的需求是什么.如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳.如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的,所以在项目开始之前花费时间去作好需求分析是很重要的。需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在软

26、件开发的过程中具有举足轻重的地位。3.2.1 功能需求当然由于一开始需求分析不会做的非常充分,只能用循环迭代的不断地完善。因此数据库中表的设计也不段的更新和添加,好多关系式后来想到了才添加的不同用户对系统的要求:1)航空公司人员航空公司的管理人员可以查询该公司所有的航班信息,以便及时核对,更正信息;由于特殊情况导致航班延误或取消航班,航空公司管理人员就要修改航班的基本信息。如修改航班的出发时间,到达时间,执行飞行任务的飞机等等,除此之外。2)乘客乘客只能查询航班的基本信息,如航班号,出发地,目的地,出发时间,到达时间,票价,票额剩余量关于用例图将在后面详细做讲解,这里就不重复出现了。对于本系统

27、,我分别做了前台和后台。他们都是基于B/S的。具体实现本系统时采用了三层架构(MVC)模式。管理员和旅客都是通过客户端浏览器登陆同一系统,但对于不同的用户的权限是不同的,具体不同处前面已经阐述。具体的编码实现细节是,我首先设计出了一个静态的用户界面,也就是人机交互界面。然后分别实现界面上应具有的功能,过程很琐碎和复杂,这里不详细讲述,当然或遇到很多问题,比如数据完整性,用户界面设计等等,详细放在下一节讲述。其具体的目标可分为用户目标、系统管理员目标和航空公司目标;注:详细请见后面的系统设计。<1>用户目标:用户可以查询相关乘机说明;用户可以进行航班查询;用户可以进行机票查询;用户可

28、以进行网上订票;用户可以取消航班退票改签;过程论述用户买票必须登录该网站(如未注册则进行注册);用户可以进行网上交易;<2>系统管理员目标:可以对航班进行分类;可以添加航班;可以查询航班;可以编辑航班信息,包括按舱位打折,按购票时间打折(越早订折扣越大);可以删除航班;可以提供几种退改签服务,比如按舱位,经济舱不能退改签,按时间,离航班起飞24小时,不能退改签等等;对客户进行管理,在某航空公司实际飞行里程达到多少千米是金卡客户购票享受9折,达到多少千米是银卡客户购票享受9.5折等;3.2.2系统功能用例图:图 .3 主要用例描述表 用户注册用例的不同部

29、分注释用例名称用户注册参与者用户前置条件乘客之前未注册后置条件添加乘客的信息,更新数据库 主事件流1. 乘客填写注册信息,提交2. 添加乘客的信息,更新数据库备选事件流1a 提交的信息有不合法的情况,用例结束。2a 提交的信息有不合法的情况,用例结束。表 用户登录用例的不同部分注释用例名称用户登陆参与者用户前置条件乘客之前已注册后置条件进入主界面主事件流1. 用输入用户名、密码、和验证码,提交2. 判断验证码是否正确3. 系统根据用户名检索数据库4. 获得密码与用户输入的密码进行比较5. 获得用户登陆信息6. 进入前台主界面备选事件流1a 信息不合法,用例结束。2a 验证码不正确

30、,用例结束。3a 若未检索到结果,用例结束4a 若密码不正确,用例结束表 机票预订用例的不同部分注释用例名称机票预订参与者用户前置条件广大乘客进入机票预订系统后置条件更新数据库,将被预订的机票设置为“被预定“状态主事件流1. 广大乘客将基本的航班信息提交给系统2. 系统对根据提交的航班信息检索数据库,然后返回到选择航班界面3. 广大乘客将选择的航班信息提交给系统4. 系统返回到行程概况和支付方式的界面5. 乘客进入机票支付界面,填写相应信息,提交6. 系统检查乘客提交信息,然后检查支付方式是否合法,最后在查看乘客的资金是否满足,对数据进行相应的处理更新数据库,最后跳转到座位选择界

31、面7. 更具用户选择的座位置为“已被预订“的状态,更新数据库,并进行资金转账处理,进入乘客订票完成界面备选事件流1a 航班的信息有不合法的情况,用例结束。2a 航班的信息有不合法的情况,用例结束。2a 若数据库中没有符合的信息,用例结束。5a 提交不合法,返回并请乘客重新填写。6a 提交不合法,返回并请乘客重新填写。6b支付方式不合法,返回并请乘客重新填写。6c乘客资金不足,返回并请乘客重新填写7a若用户未选择座位,用例结束。表 取消预订航班用例的不同部分注释用例名称取消预订航班参与者用户假设乘客已经预订了某航班的机票前置条件乘客已被授权后置条件更新数据库,并将预订的座位置为“未

32、被预订状态“,返回相应的费用主事件流1. 广大用户将预订航班的信息提交给系统2. 系统检查乘客是否预定了该航班,更改相应信息,返回相应的费用备选事件流1a 提交的信息有不合法的情况,用例结束。2a 提交的信息有不合法的情况,用例结束。表 管理员登录用例的不同部分注释用例名称管理员登陆参与者普通管理员假设普通管理员要对后台进行管理前置条件系统管理员已被识别和授权后置条件进入后台界面主事件流1. 系统管理员输入用户名、密码、和验证码,提交2. 判断验证码是否正确3. 系统根据用户名检索数据库4. 获得密码与用户输入的密码进行比较5. 获得管理员登陆信息6. 进入后台管理界面备选事件流

33、1a 信息不合法,用例结束。2a 验证码不正确,用例结束。3a 若未检索到结果,用例结束4a 若密码不正确,用例结束3.2.4 主要功能UML图:1.用户登录模块:在登录界面,用户通过选择登录类型来进行普通用户和管理员用户登录,登录成功进入首页,失败返回错误信息分析类图如下:图 登录分析类图2.用户注册模块:用户通过提交注册表单注册账户,注册成功返回登录界面,失败返回错误信息。图 用户注册分析类图用户注册时序图:图 用户注册时序图3.机票查询模块:用户可以根据出发地,目的地,航班时间这3个信息进行组合查询,系统会依据提供的信息来查询航班信息,成功返回查

34、询的结果。图 机票查询分析类图用户查询航班信息时序图图 机票查询时序图4.订票模块:用户选择好需要预定的机票后进行预定操作,只有登录后才能进行预定,不然会提示登录后才能预定,预定机票时需要填写乘客资料,比如说姓名,身份证号码,联系方式,只有这些信息填写正确后才能提交订票,提交订票后,根据后台的处理返回订票成功与否,后台返回订票成功信息后,系统会将乘客信息和订票信息记录到数据库。用户则可以在我的信息页面查看自己的订票信息。图 用户订票分析类图用户订票时序图图 用户订票时序图5.退票模块:用户如果想要退票,进入我的信息页面,找到我的订票信息,

35、点击退票过程论述按钮,进行退票申请。根据后台返回的处理信息判断成功与否,假如退票成功,系统更新数据库信息,删除用户相关的订票信息。图 用户退票分析类图用户退票时序图图 用户退票时序图6.后台添加航班:管理员在后台可以进行添加航班操作,进入添加航班页面,填写添加的航班信息,提交给系统,系统会返回添加结果信息。时序图图0 添加航班时序图7.处理订票(修改订票状态):用户在提交订票请求后,后台管理可以收到订票请求,管理通过修改订票状态处理用户订票。处理后,用户可以在我的信息页面进行订票状态的查看。时序图图1 处理订票时序图3.3 数据库设计过程

36、论述3.3.1 数据库介绍数据库是指自描述的完整记录的集合。数据库是自描述的:它除了包含用户的源数据外,还包含关于它本身结构的描述。数据库的自描述特点,它提高了程序数据独立性,它使得检查数据库本身就确定数据库的结构和内容成为可能。数据库包含用户数据文件和其他内容,数据库在元数据中包含关于自身的描述。另外,数据库还包含用来表示数据之间的关系和提高数据库应用的性能的索引。最后,数据库还包含关于使用数据库的应用程序的数据。设计一个数据库需要我们耐心收集和分析数据,仔细理清数据间的关系,消除对数据库应用不利的隐患等等。在整个设计过程中,我们必须按步骤认真完成。一个数据库的设计好坏将直接影响将来基于该数

37、据库的应用。另外,数据库也不是独立存在的,它总是与具体的应用相关的,为具体的应用而建立的。因此在设计数据库之前我们必须明确应用的目的,在设计数据库的时候也应时刻考虑用户需求,数据库与具体应用之间是相辅相成的关系。数据库的设计过程一般包括以下几个步骤: 确定建立数据库的目的和收集数据数据库设计过程的第一个阶段是确定建立数据库的目的和收集数据。通常,我们也把确定建立数据库的目的称为需求分析。需求分析的任务就是通过详细调查要处理的对象来明确用户的各种需求。并且通过调查、收集和分析信息,以了解在数据库中需要存储哪些数据,要完成什么样的数据处理功能。这一过程是数据库设计的起点,它将直接影响到后面各个阶段

38、的设计,并影响到设计结果是否合理和实用。确定目的之后就需要根据目的收集有用的数据。在着手收集数据之前最重要的就是要调查用户的实际需求,然后分析与表达这些需求。调查用户需求的方法有很多,如查阅记录、访谈、开调查会、设计调查表请用户填写或回答相关问题等。其中比较有效的方法是访谈,我们可以借助一些设计合理的调查表来与用户直接交流。通过充分交流,可以了解他们平时是如何使用数据库的,以及对当前信息的要求,进而设计满足用户需求的字段,并根据设计的字段收集数据。 建立概念模型确定建立数据库的目的以及完成数据收集后,就进入数据库设计过程的第二阶段建立概念模型。概念模型,也称信息模型,它是按用户的观点来对数据和

39、信息建模,主要用于数据库设计。这一阶段是整个数据库设计的关键。设计时,一般先根据应用的需求,画出能反映每个应用需求的E-R图,其中包括确定实体、属性和联系的类型。然后优化初始的E-R图,消除冗余和可能存在的矛盾。概念模型是队用户需求的客观反映,并不涉及具体的计算机软、硬件环境。因此,在这一阶段中我们必须将注意力集中在怎样表达出用户对信息的需求,而不考虑具体实现问题。 建立数据模型完成上一阶段后,我们得到了一个与具体计算机软、硬件无关的概念模型。接着我们就可以着手建立数据库模型了,这是数据库设计过程的第三个阶段。在这一阶段中我们要将概念模型中得到的E-R图转换成具体的数据模型。数据模型是表示实体

40、与实体间的联系的模型。数据模型一般分为层次、网状、关系和面向对象模型等,主要是用于DBMS的实现。目前比较常用的是关系数据模型,我们通常将E-R图转换成关系数据模型,实际上就是要将实体、实体的属性和实体之间的联系转换为关系模式。 实施与维护数据库最后一个阶段是实施与维护数据库。完成数据模型的建立后,我们就必须对字段进行命名,确定字段的类型和宽度,并利用数据库管理系统或数据库语言创建数据库结构、输入数据和运行等,因此数据库的实施是数据库设计过程的“最终实现”。如果数据库运行很成功,则表明数据库设计任务基本结束,以后的重点就是数据库的维护工作,包括做好备份工作、数据库的安全性和完整性调整、改善数据

41、库性能等。数据库的设计在数据库应用系统的开发中占有很重要的地位。只有设计出合理的数据库,才能为建立在数据库上的应用提供方便。不过数据库的设计过程从来都不会有真正的结束,因为随着用户需求和具体应用的变化和扩大,数据库的结构也可能会随之变化。3.3.2 系统E-R图概念模型是对信息世界建模,所以概念模型能够方便、准确地表示出信息世界中的常用概念。概念模型的表示方法很多,其中最为著名最为常用的是P.P.S.Chen于1976年提出的实体-联系方法(Entity-Relationship Approach)。该方法用E-R图来描述现实世界的概念模型,E-R方法也称E-R模型。E-R模型的关键元素是实体

42、、属性和联系。实体是可以从用户的工作环境中标识出的事物,是用户想要跟踪的某个事物。实体在E-R图中,用矩形表示,矩形框内写明实体名。实体具有属性,有时也称作性质,是用来描述实体的特征的。属性可以是组合的或者多值的。在E-R图中,属性用椭圆形表示,并用无向边将其与相应的实体连接起来。实体可以通过联系相互关联。在一般的联系中,使用二元联系居多,二元联系主要有三种类型,1:1,1:n,m:n。在1:1(读做“1对1”)联系中,一种类型的单个实体实例与另一个类型的单个实体实例关联。在1:n(读做“1对N”或者“1对多”)联系中,一个类型的单个实体实例与另一个类型的多个实体实例相关联。在m:n(读做“N

43、对M”或者“多对多”)联系中,一个类型的单个实例与另一个类型的多个实体实例相关联,同时地,后一类型的单个实体实例与前一类型的多个实体实例相关联。在E-R图中,联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或者m:n)。在本系统中,主要有以下的实体:旅客、航班信息等。其中旅客实体E-R图旅客品姓名证件客户号保险座舱类型证件号航班号机票价格图 旅客实体E-R图航班信息E-R图航班信息品机型出发时间航班号经济舱数头等舱数到达时间商务舱数餐饮图 航班信息E-R图总体E-R图机票预定管理系统主要以机票为核心,

44、这个系统中各个实体之间的关系,基本上都是以机票为基础的。一位旅客可以订票多个机票,一个机票只能为一个旅客预定,一个航班有多个机票,一个机票对应一个航班。根据这些信息,由此得到了机票预定管理系统的实体及其联系如图所示:机票M1预定旅客1M飞行航班图 总体E-R图过程论述当然,在真正的编码实现一个系统或软件之前,理论上都应该做好一些铺垫。比如说,需求分析,架构设计等等,一旦前面的工作做得比较合理,充分以后。后面的工作就会达到事半功倍的效果。由于条件限制,我做需求分析时只能根据自己的经历和现有系统的参照来获得一些用户需要些什么,系统应该具有什么功能。通过以上这些获取信息的手段。我得出一

45、些数据信息和功能信息。在数据库关系模型执中的实体应该包括一下这些:管理员 客户 航班信息 机票信息 城市信息等 在数据库中建立的标记关系如下图 表间关系图3.3.3数据信息1)旅客信息:旅客号(主键),真实姓名,证件类型,证件号,联系方式,出发时间,出发地点,目的地,航班舱位类型(包括公务舱,经济舱,头等舱),是否购买保险2)航班信息:航班号(主键),起飞时间,起飞地点,抵达时间,票价,有无餐饮,机场建设费,附加燃油费3)机票:机票号(主键),价格,截止日期,剩余数量4)城市区间:城市区间号(主键),出发地,目的地3.3.4数据字典表 旅客信息数据字典属性存储代码类

46、型长度备注客户号 Cno int 8 客户代码,作为主键 姓名 name nchar 30 客户姓名 证件 certificate nchar 30 证件种类,如:身份证等 证件号 certificatenum nchar 30 对应证件的号码 航班号 fno int 8 旅客乘坐飞机的代号 座舱类型 level nchar 30 旅客的座舱,如:经济舱等 保险 issave nchar 10 值为yes或no,是否购买乘机保险 购票时间 buydate datetime 旅客购买机票时间 价格 price float 8 机票价格 表 航班信息数据字典属性存储代码类型长度备注航

47、班号FnoInt8航班代号,作为主键机型Typenchar10航班飞机的型号航班日期Fdatedatetime 航班的日期出发时间Sdatedatetime航班出发时间抵达时间Adatedatetime航班抵达时间头等舱座位firstcCassint8头等舱座位的个数经济舱座位economyClassint8经济舱座位的个数公务舱座位BusinesscCassint8公务舱座位的个数餐饮mealint81代表有餐饮,0代表没有餐饮表 机票数据字典属性存储代码类型长度备注机票号Tnoint8机票代码,作为主键票价pricefloat8机票价格截止日期deadlinedatetime

48、机票有效截止时间剩余票数countint8机票剩余数量表 城市区间数据字典属性存储代码类型长度备注区间号c_t_cint8城市区间代号,作为主键出发地startnchar20出发地目的地destinationnchar20目的地3.4 系统设计3.4.1 前台用户操作业务流程为在用户业务流里面,首先用户连接到登录界面,登录界面有个下拉框,可以进行不同角色登录的选择,选择用户登录,若没有注册,则点击会员注册链接,进入注册页面进行注册,注册成功即可登录,登录后进入主界面用户状态显示在主界面的右上部,也可以直接进入主界面,登录状态显示未登录,然后可以在登录状态旁边点登录按钮进行登录;选

49、择管理员登录,管理员是唯一的,故用管理员帐号登录方可进入后台。用户注册,通过输入个人基本信息资料,即可完成注册。用户登录成功后,会进入用户主页,在主页导航菜单上有机票预订按钮,点击显示出所有机票清单,在左边有机票查询功能,输入要查询的信息,点击查询,主窗体显示出所有相关的机票信息。然后可进行订票等操作。右上角的“我的信息”按钮,进入个人主页,主要有个人信息修改,密码修改,预订机票,等功能链接。3.4.2 后台用户操作业务流程为后台不同前台,如果不进行管理员登陆,是无法访问的,在登录界面中选择管理员登录,登陆成功后,会进入后台管理界面。在后台中,管理员可以进行航班信息预制,如管理飞行城市,添加航

50、班,处理订票,处理退票等功能,如果用户进行航班预订则可看到对应航班信息,然后就可以对用户预订的机票经行相关操作,比如说处理机票预订,这样用户在前台就可以收到已经预订成功的机票信息。3.4.3 系统功能流程图过程论述图 系统功能流程图3.4.5 主要功能界面效果展示1登录界面效果图 登录界面2主页面图 主页面过程论述3注册界面图 注册界面4查询界面图 查询界面5订票操作图 订票操作6乘客信息填写图 乘客信息填写7用户退票界面过程论述图 用户退票界面8后台添加城市图 添加城

51、市9后台添加航班信息界面图 添加航班10后台管理员处理用户订票界面(修改订票状态)图0 处理用户订票收获和感受&致谢11待处理退票图1 待处理退票4 遇到的困难首先是界面的设计,对于一个系统,用户不会关注他的实现细节,因此人机交互界面一定要做的美观,易操作和人性化。由于个人对页面布局没有什么深究,界面设计这部分花了好长时间。然后就是乱码问题,由于前台旅客订票时提交的证件和姓名等信息都是中文,还有后台管理员添加航班信息,城市区间的等也是中文的。由于英文字符对应一个字节,在不同的编码方式中汉子字符所占字节数不同。所以很容易产生乱码。于是我通过Int

52、ernet解决了这一问题。PS:花了很长时间才解决了乱码问题,不过现在对于乱码理解得很透彻,估计以后乱码问题自己很快就可以解决了 。接着是数据完整性,一致性的保证,比如说有一数据在多个表中同时含有。删除一个表中信息时,另外表中的对应信息还在。当然如果该信息在不同表中是主键和外键的关系,可以用层叠来解决,之前我是这样解决的。但如果不是呢,由于之前没用过触发器。第一次尝试着用它很好地解决了问题。除此之外,在对信息的查询时,往往信息不在同一个表中,这样要多次查询数据库和多个表已获得完整的信息。于是我又想到了视图的定义,用视图也很有效的解决了问题,减小了用户程序编码的复杂化度。有时候,你需要对所查询结果集中的每一个元组进行操作时。比如在设计本系统时会遇到这样的问题,待处理的用户都放在表undealclient(username,Cno)中,当后台管理员需要查询待处理的订票信息时,首先需要查询表undealclient,并将所

温馨提示

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

评论

0/150

提交评论