航空订票系统.docx
- 文档编号:11897178
- 上传时间:2023-04-08
- 格式:DOCX
- 页数:24
- 大小:1.89MB
航空订票系统.docx
《航空订票系统.docx》由会员分享,可在线阅读,更多相关《航空订票系统.docx(24页珍藏版)》请在冰豆网上搜索。
航空订票系统
航空订票系统的开发
JSPsunlightaviationorderformsystem
学生姓名:
学院:
专业:
班级:
学号:
摘要
随着旅游业的逐渐的成熟发达,航空客运量大幅度的提高,国内国际的旅游航班的增加,这些都对航空的信息管理系统提出了更高的要求,所以要不断的完善更新航空售票系统,提高航空售票系统的工作效率。
本文采用结构化分析的方法,详细阐述了一个功能比较强大的航空订票系统的前后台开发、操作流程和涉及的一些关键技术。
首先进行了可行性分析,然后是系统分析,通过实际的业务流程调研,分析业务流程和系统的组织结构,完成了数据流分析和数据字典;然后是系统设计阶段主要完成了功能模块的划分、阐述了系统设计的思想、数据库的设计和系统设计的工具及技术。
该阶段对本系统各个模块的功能进行了详细设计,形成了本系统的功能模块图;数据库设计时先进行了概念结构设计,然后进行了逻辑结构设计,最后完成了数据表的设计。
根据前几个阶段的分析和设计,本系统在设计方面采用B/S模式,同时使用JSP技术进行基本页面的设计与功能实现,后台数据库选用MYSQL数据库。
本系统可以实现用户查询航线时各个类别列表显示、机票的订阅和预订情况的直观查看。
同时管理员可以对航线、会员进行修改,对用户订票情况等进行相应的操作。
关键词:
航空订票;概念结构设计;B/S;数据库
一、引言
(一)项目开发的背景
随着我国经济的不断发展,民航企业的发展非常迅速,越来越多的人选择坐飞机旅行。
由于旅客数和航班数的不断增加。
如何利用现代信息技术实现网上订票是民航企业关心的问题。
因此,开发在线航空订票管理系统是十分必要的。
科技的发展以及计算机网络的广泛应用,现代的人们已经适应网上订票。
以前购买机票需要到机场或销售点去购买,有时还需要排长队,既浪费时间又浪费精力。
因此,利用网络技术,足不出户就能订购机票是现代发展的趋势。
随着计算机技术的飞速发展,计算机在人们日常生活的普及,利用计算机网络实现网上购票势在必行。
对于民航企业来说,利用计算机网络的支持实现网上订票管理是现代化的流行趋势,是推动民航企业管理科学化的必要条件;用户可以通过在线航空订票管理系统查询和订阅机票。
系统后台管理员可以管理网站各种信息、处理预订信息等等。
各个模块既独立又存在联系。
航线级预订信息可以清楚的展示在用户和管理员面前,网站系统后台便于管理。
从而使得企业降低管理成本提高工作效率。
(二)项目开发的目的
航空公司为方便旅客,需开发一个订票系统。
系统的操作者是有登录密码和用户名的售票员。
系统要实现的基本功能是航班的调整,售票,订票,取票,退票,乘客信息的管理,乘客购票的统计;而系统在以后扩展时还可以实现的功能有:
对机组工作人员的管理,预定机票的送票情况管理等。
此系统的开发由我们分模块完成,而我所负责的模块是实现系统的航班调整,售票,订票,退票,航班查询功能。
旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。
并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。
航空售票系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
二、可行性分析及总体设计原则
(一)可行性分析
可行性分析也称为可行性研究,是在调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功[2]。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
下面将分别从技术、经济、社会三个方面对实习管理系统的建设进行分析和研究。
1.技术可行性
根据航空订票系统所要完成的系统功能、性能及实现系统的各种约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。
同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发的。
由以上分析可知,航空订票系统的开发在技术上是可行的。
2.经济可行性
开发需求较低,加上成熟的软硬件环境、目标系统并不是十分复杂和开发周期较短,人员经济支出有限。
开发完成运行后,为使用者带来便利,为系统的进一步推广创造了条件,经济收益将远超过投资。
从经济角度考虑,此系统开发可行。
3.社会可行性
本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。
(1)法律因素
本系统是根据航空订票系统的实际工作情况开发研制的,是通过大量的调研得出的,系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品。
(2)用户使用可行性
本系统对用户的要求,除了需要具备在MicrosoftWindows平台上使用个人电脑的知识外,并不需要特别的技术能力。
使用系统的管理员,需要具备对Tomcat服务器的使用能力,在投入使用前,无需对操作系统的人员进行培训。
这样既减少投入成本又简化了操作环节。
由以上分析可知,本系统具有社会可行性。
(二)总体设计原则
本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则[3]。
其主要设计原则有:
简单性:
在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的。
针对性:
本系统设计是针对航空订票管理的需求定向开发设计,所以具有专业突出和很强的针对性。
实用性:
要求本系统能够满足订票管理人员、用户的需要,以及实习指导老师足不出户就能指导学生完成航空订票系统的需求,因此具有良好的实用性。
一致性:
页面整体设计风格以及命名规则的一致性:
整体页面布局和用图用色风格及变量、类名和其他元素的命名规则保持一致。
功能一致性:
完成同样的功能应该尽量使用同样的元素。
元素风格一致性:
界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。
变量命名规则的一致性:
变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。
先进性:
本系统采用JSP技术、SQLServer2000等被广泛采用系统开发技术和数据库,因此本设计具有良好的先进性,具体表现在其具有良好的可扩展性,可开发性。
三、系统分析
(一)业务流程分析
业务流程图就是将系统的各项业务以流程图的方式表示出来,用于指导数据分析与系统设计。
业务流程图就是用一些符号及连线来表示某个具体业务处理过程,业务流程图的绘制基本上按照业务的实际处理步骤和过程绘制。
业务流程图一般用尽可能少的图形符号、尽可能简单的方法来描述业务处理过程。
业务流程图的基本符号非常简单,只有6个。
有关6个符号的内部解释可直接用文字标于图内。
这6个符号所代表的内容与信息系统最基本的处理功能一一对应。
如下图所示,圆圈表示业务处理单位;方框表示业务处理的内容;报表符号表示输出信息(报表、报告、文件、图形等);不封口的方框表示存储文件;卡片符号表示收集资料;矢量连线表示该业务过程联系。
图3.1业务流程图基本图形符号
管理员在登录系统以后,可以进行多项操作,可以管理航班信息、网站信息、订单信息、会员信息等多项操作。
基本的系统业务流程描述如下如所示:
图3.2.1系统总业务流程图
(二)数据流图
数据流程与数据流程分析是今后建立数据库系统和设计功能模块处理过程的基础。
描述数据流程的工具是数据流程图以及其附带的数据字典、处理逻辑等图表。
其中数据流程图是描述系统逻辑模型的主要工具,它以少数几种符号综合地反映出信息在系统中的流动、存储和传递[7]。
数据流图符号描述如下所示:
在业务流程分析的基础上,对数据流进行了分析,从数据流动过程考察了实际业务的数据处理模式。
该系统的数据流图分为顶层、一层、二层。
现行的顶层数据流图如图3.2所示。
图3.2顶层数据流图
第一层数据流图描述两个角色:
用户、管理员和系统前后台的关系:
图3.3一层据流图
具体分析第二层数据流图,主要两种登录角色:
用户、管理员。
该层数据流图如图3.4所示。
图3.4第二层数据流图(用户)
图3.5第二层数据流图(管理员)
由于论文的篇幅限制不能一一列举数据流图。
(三)数据字典
数据流图描述了系统的分解,即描述了系统由哪几部分组成,各部分之间的联系等等,但还没有说明系统中各个成分的含义。
只是当数据流图中出现的每一个成分都给出定义后,才能完整,准确地描述一个系统。
为此,需要用数据字典对数据流图加以补充说明。
四、系统设计
(一)系统功能设计
系统设计是一个把软件需求转换成用软件系统表示的过程[9]。
通过对目标系统的分析和研究,做出了对师范学院实习管理系统的总体规划,这是全面开发系统的重要基础。
在对实习管理系统全面分析调查的基础上,制定出实习管理系统的总体规划。
系统设计包括系统总体设计、系统详细设计、系统数据库设计、系统开发工具、开发技术和开发模式等。
从数据流图出发,对数据流图进行分析,得出的层次化的功能结构图。
航空订票系统总体功能模块图如图4.1所示:
图4.1系统总功能模块图
用户前台操作系统后台功能结构图,如图4.2所示:
图4.2用户前台操作功能模块图
管理员后台管理功能模块图如图4.3所示:
图4.3管理员后台管理功能模块图
(二)系统数据库设计
数据库是本系统的核心和基础[10]。
它设计的好坏直接影响着整个系统的质量。
数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完成工作。
1.概念结构设计
从数据需求分析中得出系统的实体属性图。
航班信息实体图如图4.4所示:
图4.4航班信息实体图
用户实体图如图4.5所示:
图4.5用户实体图
网站发布信息实体图如图4.6所示:
图4.6网站发布信息实体图
票务信息实体图如图4.7所示:
图4.7票务信息实体图
E-R模型的组成元素有:
实体、属性、联系。
E-R模型用E-R图表示。
实体是用户工作环境中所涉及的事务,属性是对实体特征的描述[11]。
(1)模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。
实体用矩形框表示,实体名称标注在矩形框内。
用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型[12]。
(2)属性是实体的性质。
用椭圆框表示,与实体之间用一条线相连表的主码是关键属性,关键属性项加下划线。
(3)各子系统模块中主键相同的字段之间存在着相互关联的关系。
(4)在程序中实现对他们的完整性和一致性控制。
从数据需求分析中得出系统的实体属性图,遵循三范式原则,对实体之间的依赖关系进行了整合,得出系统E-R图,如图4.11所示:
图4.11系统E-R图
说明:
图中用矩形表示实体。
实体之间的关系用菱形表示,用无向边把菱形与有关实体连接,在边上标明联系的类型。
实体的属性用椭圆表示,并用无向边把实体与属性联系起来。
2.逻辑结构设计
对数据库中实现具体表的详细设计。
即各数据库表的字段名、类型、长度等信息进行了详细的描述
根据系统E-R图,系统数据逻辑结构设计如下:
(1)航班信息(航班编号,航班班次,价格,路线,总票数,起飞时间,上传图片,备注)
(2)用户信息(用户编号,用户名称,密码,用户类型,地址,单位,注册时间,图片,备注,性别)
(3)网站发布信息(信息编号,标题,内容,上传时间,上传人,备注)
(4)票务信息(订票编号,订票人编号,航空班次,注册时间,票价,内容,是否通过验证,备注,订票人年龄,订票人住址,订票方式,订票时间)
3.数据库表设计
表4.1航班信息表
字段名
类型
长度
说明
id
int
4
航班编号(主键)
title
nvarchar
20
航班班次
price
nvarchar
20
价格
content
nvarchar
20
路线
type
nvarchar
20
总票数
addtime
nvarchar
20
起飞时间
image
nvarchar
20
上传图片
remark
nvarchar
20
备注
表4.2用户信息表
字段名
类型
长度
说明
id
int
4
用户编号(主键)
username
nvarchar
20
用户名称
password
nvarchar
20
密码
type
nvarchar
20
用户类型
address
nvarchar
20
地址
school
nvarchar
20
单位
addtime
nvarchar
20
注册时间
imgurl
nvarchar
20
图片
remark
nvarchar
20
备注
sex
nvarchar
20
性别
表4.3网站发布信息表
字段名
数据类型
长度
功能描述
id
int
4
信息编号(主键)
pid
int
4
标题
uid
int
4
内容
data
nvarchar
20
上传时间
isok
nvarchar
20
上传人
remark
nvarchar
20
备注
表4.5票务信息表
字段名
数据类型
长度
功能描述
id
int
4
订票编号(主键)
userid
int
4
订票人编号
name
nvarchar
20
航空班次
addtime
nvarchar
20
注册时间
price
nvarchar
20
票价
content
nvarchar
20
内容
istrue
nvarchar
20
是否通过验证
remark
nvarchar
20
备注
older
nvarchar
20
订票人年龄
place
nvarchar
20
订票人住址
fangshi
nvarchar
20
订票方式
imtime
nvarchar
20
订票时间
(三)系统开发工具与开发模式的选择
1.系统开发工具
本系统主要使用JSP、Struts技术对系统进行设计和开发。
JSP拥有Java程序设计语言“一次编写,各处执行”、“安全性、保密性高”等的特点[13];Struts框架为开放者提供了一个统一的标准框架,通过使用Struts作为基础,开发者能够更专注于应用程序的商业逻辑,Struts能充分满足应用开发的需求,简单易用,敏捷迅速。
使用MicrosoftMYSQL数据库作为后台数据库,MYSQL系统具有强大的网上功能,可以在互联网上发布数据库中的数据。
在MYSQL系统中,允许用户简单的使用一些向导和工具把数据库的数据发布到网络上,并且可以根据需要来调度修改已经发布的数据。
在大家所了解数据库系统中,MicrosoftMYSQL,经过三十多年的发展,已经成为最重要的数据处理技术,被广泛应用到多种项目的开发与设计中,决定采用此数据库系统来完成系统的设计。
2.系统设计模式
目前,在大多数B/S(Browser/Server)结构的Web应用中,浏览器直接通过HTML或者JSP的形式与用户交互,响应用户的请求。
虽然很直观,但是大多数管理信息系统操作的数据量都是惊人的,随着代码的增多会使JSP页面臃肿不堪,Web服务器的负荷过重。
因此,在中间层上采用基于模型视图控制器(MVC,Model-View-Controller)的设计模式。
Model层用来实现业务逻辑,View层用来显示用户界面,Controller层主要负责View层和Model层之间的控制关系。
具体实现时,把Servlet用作应用程序的控制器,把JSP文档作为视图,JavaBeans被用来表示模型。
所有的请求都被发送给作为控制器的Servlet,它接受请求,并根据请求信息将它们分发给适当的JSP来响应。
同时,Servlet还根据JSP的需求生成JavaBeans的实例并输出给JSP环境。
JSP可以通过直接调用方法或使用UseBean的自定义标签得到JavaBeans中的数据。
这种设计模式很好地实现了数据层与表示层的分离,使开发工作更加容易和迅速[14]。
五、系统实现
(一)系统前台模块
1.登录及注册管理模块
(1)登录模块
此模块主要功能是用于登录本系统,不同权限的用户登录本系统会进入不同的管理模块界面,因为在后台对该用户进行的判断,首先将从前台页面提交的用户名和密码进行接受,之后在后台进行处理,按照用户名在数据库中进行查询如果查到该用户则将该用户的权限和密码全都取出来分别赋给两个字符串变量,判断从数据库中读出的密码与登录时输入的密码是否配比上,若两个密码相同则根据权限的值进入相应的页面,否则输出密码错误。
若用户未被管理员分配好权限那么也是无法登录本系统的。
如图5.1所示:
图5.1前台登录界面
(2)程序流程
图5.2登录程序流程图
2.管理员后台管理界面
管理员在登录系统后,可以对整个系统进行管理。
如图5.3所示:
图5.3管理员后台管理界面
3.航空信息管理界面
管理员点击航班信息管理可以对航班信息进行管理。
如图5.4所示:
图5.4航空信息界面
4.航空公司管理界面
如图5.5所示:
图5.5航空公司管理
5.航班信息管理界面
管理员点击航班,再点击航班信息可以对航班信息进行编辑和删除。
如图5.6所示:
图5.6航班信息编辑界面
7.会员信息界面
管理员点击会员,然后点击会员信息就进入了会员管理界面。
如图5.8所示:
图5.8会员管理界面
8.最新活动发布界面
管理员点击最新活动发布后进入网站信息发布界面。
如图5.9所示:
图5.9最新活动信息界面
(二)系统前台操作模块
1.系统前台主界面
用户在进入系统首页后就可以看到如下界面。
如图5.10所示:
图5.10系统前台主界面
2.国内航空线路信息界面
用户进入首页后,点击航班就进入航班线路界面。
如图5.11所示:
图5.11国内航班线路信息界面
3.订票信息界面
用户进入首页后,点击订票信息就进入订票信息界面。
如图5.12所示:
图5.12订票信息界面
5.最新活动信息界面
用户进入首页后,点击最新活动就进入最新活动信息界面。
。
如图5.14所示:
图5.14最新活动界面
六、性能测试与分析
(一)测试实例的研究与选择
程序测试的主要方法分为两大类,白盒测试和黑盒测试。
白盒测试:
一种是以程序的内部逻辑结构为依据而设计测试用例的方法,因而又称结构测试或玻璃盒测试,将软件看成一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符[15]。
白盒测试就是要选取足够的测试用例,对源代码实行比较充分的覆盖,以便尽可能多地发现程序中的错误。
主要有两种方法:
一种称为逻辑覆盖法,另一种称为路径覆盖法。
黑盒测试:
也称功能测试,数据驱动测试等,它将待测对象堪称是一个黑盒子,在完全不考虑程序的内部结构和特性的情况下,只依据规格说明书检查程序的功能是否能正常使用。
黑盒测试主要是根据输入条件和输出条件的确定测试数据,来检查程序是否能产生正确的输出[16]。
进行黑盒测试主要有下面几种方法:
等价分类法、边界值分析法、猜错法、因果图法。
本系统的测试综合了白盒测试、黑盒测试两种方法,但主要使用的是黑盒测试方法。
在测试当中遵循了“尽早地和不断进行测试”,“保证测试用例的完整性和有效性”原则。
通过测试达到以下测试目的:
1功能检查。
检查功能是否争取,是否遗漏或实现不了应该实现的功能等。
2接口检查。
检查能否正确地接受信息或输出信息。
3数据检查。
检查数据结构或外部信息是否有(如数据文件)访问错误。
4性能检查。
检查性能需求能否得到满足。
5初始化、终止检查。
检查是否能进行正确地初始化或终止。
(二)测试环境与测试条件
处理器:
InterPentium166MX或更高
内存:
256M
硬盘:
80G
操作系统:
WindowsX-P
数据库:
MYSQL
Web服务器:
Tomcat5.0
(三)实例测试
测试目的:
测试本系统能否成功的添加一个航班信息
预置条件:
使用有效的管理员身份登陆订票后台管理系统;
测试过程:
预期结果:
进入后台,点击航班信息管理,对航班信息进行管理。
正常显示航班信息列表,点击编辑,对航班信息进行添加。
填写所需资料点击添加。
显示添加成功提示框,点击确定后返回航班信息列表。
注销登录,返回前台。
进入首页,点击航班。
显示航班信息界面。
完成测试。
上述操作均达到“测试”要求。
测试实际结果:
1.单击添按钮后成功显示“添加成功”;2.单击提交按钮显示添加成功提示框;3.上述的操作结果记录均成功保存在数据库中。
(四)测试结果
通过对系统的全面测试,所有测试条目都已经通过,实现了基本要求,系统可以正常运行。
参考文献
[1]周桓,王殊宇.JSP项目开发全程实录.清华大学出版社2008-6
[2]孙鑫.Struts2深入详解.电子工业出版社.2008-7
[3]孙卫琴.基于MVC的JavaWeb设计与开发.电子工业出版社.2004-8
[4]徐明华.JavaWeb整合开发与项目实战.人民邮电出版社.2009-2
[5]耿祥义,张跃平.JSP使用教程(第2版).清华大学出版社.2007-10
[6]孙卫琴.Tomcat与JavaWeb开发技术详解(第2版).电子工业出版社2009-1
[7](英)萨默维尔(Sommerville,I).软件工程.机械工业出版社.2007-4
[8]朱少民.全程软件测试.电子工业出版社.2007-9
[9]王选.软件设计方法.北京:
清华大学出版社,1992.
[10]滕佳东.管理信息系统.东北财经大学出版社.2008.2.
[11]李永亮,黄凯锋.基于Jsp的电子商务购物车的实现研究.2006.11
[12]万峰科技.JSP网站开发四酷全书.电子工业出版社.2005.9
[13]邱旭东,刘文浩.基于JSP的MVC开发模式研究及应用[J].中国科学信息技术2006.12-13.
[14](德)斯皮勒.软件测试基础教程(第2版).人民邮电出版社.2009-4
[15]郁莲.软件测试方法与实践.清华大学出版社.2008-11[11]刘晓华.JSP应用开发详解.北京电子工业出版社.2005
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 航空 订票 系统