航空公司机票预订系统设计和实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

航空公司机票预订系统设计与实现
1.引言
1.1系统设计背景
随着经济的快速发展,民航事业在不断壮大,人们的消费水平也在迅速提高,旅游正逐渐成为普通老百姓中不可或缺的一部分,搭乘飞机出行的老百姓的数量在呈明显的上升趋势,机票预订系统在各航空公司占据着主导地位。

随着航空公司用户的迅猛增长和人们对便捷性要求的提高,原有的机票预订方式已经无法满足人们的需求,严重制约了航空公司的工作效率,也耽误了用户的宝贵时间,因此,引入高效的机票预订系统,来协助处理机票预订工作是计算机技术高速发展的必然趋势。

机票预订系统的核心功能就是机票预订,本机票预订系统旨在提高航空公司的机票预订服务效率,降低售票服务中错误的发生率,减少信息交流的烦琐过程及其带来的开销。

1.2系统设计概述
每个航空公司都必须要解决的问题就是如何提高飞机票售票效率,更好的方便客户,摆脱机械化的管理模式,想要轻松解决这个问题不妨尝试采用机票预订系统使用户在线就能够预订到机票,问题得到解决的同时,还能做到飞机票售出途径多元化,方便乘客购票,提高航空公司的工作效率。

网上机票预订系统属于应用系统,用到机票预订系统的用户有很多,当然,这个系统提供的功能也有很多,如用户注册、用户登陆、查询航班、预订机票、在线退票等,这些都是用户可以完成的,对管理员而言,还可以实现制定航班等功能。

实现在线预订可以为用户提供便捷的订票渠道,使用户能够通过互联网了解航班与航线的详细情况,及时、准确的反映自己的工作情况以及航空公司的经营情况。

比如,及时的处理用户的订票与退票请求,审核用户的订票信息等。

具体而言,管理员登陆本系统之后,可以对管理员以及用户的信息进行添加、修改
和删除,除此以外,管理员还可以对一些基础信息进行管理,基础信息主要包括城市信息,航班信息、航空公司信息、航线信息,同时还可以对航班信息进行详细的预览,管理员还可以对订单进行管理,主要包括对用户提交的订票、退票信息进行审核,审核通过的话即进行出票、退票操作,当然也可以查看出票以及退票记录。

用户进行登录操作之前必须先进行注册,注册时需要填写自己的基本信息,之后便可以进行登录操作,用户登陆系统之后,可以修改自己的登陆密码,查看并修改注册时填写的基本信息,通过选择起始城市、重点城市以及选定的日期来进行机票预订,选择预订之后要等待航空公司的审核,航空公司审核通过之后订票才有效,也可以查看自己已经预订的机票,对其进行退票操作,当然,退票操作之后也是需要等待航空公司审核的。

2.需求分析
2.1系统功能需求分析
本系统主要的使用对象有两类,分别是用户和管理员,所以本系统有一个面向用户的平台和一个面向管理员的平台,面向用户,要有注册、登录、用户信息管理、航班查询、订票、退票等功能;面向管理员就应该有登录、制定航班、安排航班、管理航线、审核订单等功能。

系统的主要功能需求分析如下:
1.注册。

管理员和用户想要进入该系统进行一些基本操作首先要进行注册成为系统的用户。

2.登录。

此功能对用户和管理员输入的登录信息进行验证,确定用户是否能够安全的进入本系统进行后期的预订机票活动。

3.修改信息。

此功能接受用户对个人信息的修改及查看,管理员不仅可以查看和修改管理员的信息,还可以查看和修改系统内用户的信息。

4.查询。

此功能一方面是用户在预订机票之前查询符合自己要求的航线,一方面管理员可以查询航班、航空公司以及航线的信息,并增加、修改和删除航班、航空公司以及航线信息。

5.订票。

用户选择好自己要订的机票,确认预订提交订单之后会交由系统管理员审核,审核通过之后订单才生效。

6.退票。

用户由于一些突发情况不能按时乘机时可以向系统管理员提出退票申请,管理员对用户提交的退票申请进行审核,对满足退票条件的已预订机票进行退票处理。

2.2可行性分析
本系统的可行性分析主要包括技术可行性、经济可行性、操作可行性三方面内容,具体分析如下:
2.2.1技术可行性
通过实际考察现有的网上机票预订系统可以发现,大部分航空公司的机票预订系统都已具备机票预订系统实施所需要的计算机软硬件和网络环境,加上现在对网络系统构造的支持,系统的构建、运行和维护都可以轻松地完成。

2.2.2经济可行性
分析经济可行性,主要是估算新系统的开发费用和今后的运行、维护费用,估计新系统将获得的收益,并将费用与收益进行比较,如果收益将明显大于费用,则投入该系统在经济上是具有可行性的,反之,则没有。

本次网上机票预订系统的开发是建立在计算机技术广泛应用和普及于社会各个行业的实际工作中的前提下的,能够极大的减少航空公司、机票销售点工作人员的工作压力,降低售票开销,简化售票流程,提高机票管理系统的效率和准确性,规范旅客信息的管理。

2.2.3操作可行性
本系统以网络应用为主,使用系统的人员,只要具备在Microsoft Windows 平台上使用个人电脑的知识,而不需要具备特别的技术能力。

系统的用户界面和管理界面都简单和易于操作,普通的会上网的用户都可以轻松地完成自己的目的,而管理员也无须特地培训,只需要了解航班的规则即可对航班航线进行管理。

2.2.4法律可行性
本系统开发过程中所使用的开发软件都不存在版权纠纷,无违反国家法律相关规定。

3.系统设计
3.1总体结构设计
通过对系统的详细分析,本系统的使用者主要有管理员和用户,管理员主要进行人员管理、基础信息管理、订单管理这三个功能模块,用户登陆系统后可以修改密码、查看个人信息、进行订票与退票,系统的功能模块图如图3.1所示。

航空公司机票预订系统
管理员用户
人员管理



理基





管理员管理



















线


退



















退





个人信息系统管理
图3.1 系统功能模块图
3.1.1人员管理
该功能模块主要由管理员完成,包括对管理员的管理以及对用户的管理,管
理员可以添加新的管理员以与用户的基本信息,也可以对已经注册的管理员与用户的信息进行查询。

3.1.2基础信息管理
该功能模块主要由管理员完成,包括对城市信息、航空公司信息、航线信息以及航班信息的管理,管理员可以对城市信息、航空公司信息、航线信息以及航班信息进行添加、修改和删除,同时,也可以依据航班编号、起飞时间、到达时间等基本信息进行航班预览。

3.1.3订单管理
该功能模块主要由系统管理员完成,包括对用户提交的订票、退票信息的审核,完成出票操作与退票操作,同时可以根据订单编号、所属航班号等基本信息查询自己的出票记录和退票记录。

3.1.4个人信息系统管理
该功能模块主要面向用户,包括修改密码、查询个人信息、机票预订和申请退票,用户进入系统之后如果想修改自己的登陆密码,那么可以通过修改密码的功能来实现,通过输入原密码和两次输入新密码便可以轻松完成,用户还可以查看注册时填写的基本信息,并对自己的注册信息进行修改,当然,本系统最主要的功能就是机票预订,所以用户可以通过选择起始城市、终点城市以及时间来筛选航班,选择合适自己的航班进行预订,当管理员还没有对用户提交的订单进行审核时,用户可以直接取消订单,如果用户提交的订单已经被管理员审核通过,那么就要提交退票申请等待管理员审核,管理员审核通过之后退票才完成。

3.2数据库设计
在数据库设计中,可以采用实体——联系图(简称E—R图)的方法进行数据结构的描述,系统各个实体的实体——联系图如下:
管理员包括的属性是用户名和密码,实体如图3.2所示:
管理员
用户名密码
图3.2管理员信息实体图
用户包括的属性是用户名、密码、姓名、性别、身份证号码、电子邮箱、手机号码,实体如图3.3所示:
用户
身份证号码电子邮箱手机号码用户名姓名性别
密码
图3.3用户信息实体图
城市包括的属性是城市名称、城市ID,实体如图3.4所示:
城市
城市名城市ID
图3.4城市信息实体图
订单包括的属性是订单编号、预订日期、所属航班号、用户、下单时间、状态,实体如图3.5所示:
订单
订单编号所属航班号
预订日期用户下单时间状态
图3.5订单信息实体图
航班包括的属性是航班编号、起飞时间、到达时间、票价、坐位数目、所属航线编号、所属航空公司编号,实体如图3.6所示:
航班
航班编号
起飞时间票价所属航空公司编

到达时间所属航线编号
坐位数目
图3.6航班信息实体图
航空公司包括的属性是航空公司编号、名称、地址、联系方式,实体如图 3.7所示:
航空公司
航空公司编号名称联系方式地址
图3.7航空公司信息实体图
航线包括的属性是航线编号、起始城市、终点城市、里程,实体如图3.8所示:
航线
航线编号起始城市终点城市里程
图3.8航线信息实体图
本系统的实体——联系图如图3.9所示:
航空公司
航班
管理员
订单
用户
城市
提供
查询
管理
预订
管理
提供
管理
审核
1
n
1
n
1
n
1
n
1
n
1
n
n
n
11
图3.9 系统的实体——联系图
3.2.1数据库逻辑结构设计
一个完善的机票预订系统需要很多张表来存储大量的数据,这些数据又可以用来检测系统的准确性等,在设计航空公司机票预订系统时,我也用到了很多张表,现把这几张表列举如下: 1. 管理员表(用户名、密码)
表3.1用来存放系统管理员登录系统的用户名和密码信息。

表3.1 系统管理员表 字段名称 数据类型 字段长度 允许空否 备注 ID int 50 NO 主键 用户名 nvarchar 50 NO 密码
nvarchar
10
NO
2. 用户表(用户名、密码、姓名、性别、身份证号码、电子邮箱、手机号码) 表
3.2用来存放用户的一些基本信息。

表3.2 用户表
字段名称数据类型字段长度允许空否备注
ID int 50 NO 主键用户名nvarchar 50 NO
密码nvarchar 50 NO
姓名nvarchar 50 YES
性别nvarchar 50 NO
身份证号码nvarchar 50 NO
电子邮箱nvarchar 50 YES
手机号码nvarchar 50 YES
3.城市表(城市名称、城市ID)
表3.3用来存放城市信息。

表3.3 城市信息表
字段名称数据类型字段长度允许空否备注
ID int 50 NO 主键
城市名称nvarchar 50 NO
4.订单(订单编号、预订日期、所属航班号、用户、下单时间、状态)
表3.4包括订单的一些基本内容
表3.4 订单信息表
字段名称数据类型字段长度允许空否备注
ID int 50 NO 主键
订单编号nvarchar 50 NO
预订日期smalldatetime NO
所属航班号nvarchar 50 NO
用户nvarchar 50 NO
下单时间smalldatetime NO
状态nvarchar 50 YES
5.航班(航班编号、起飞时间、到达时间、票价、坐位数目、所属航线编号、所属航空公司编号)
表3.5用来存放航班的基本信息
表3.5 航班信息表
字段名称数据类型字段长度允许空否备注ID int 50 NO 主键航班编号nvarchar 50 NO
起飞时间smalldatetime 50 NO
到达时间smalldatetime 50 NO
票价float 50 NO
座位数目int 50 NO
所属航线编号nvarchar 50 NO
所属航空公司编号nvarchar 50 NO
6.航空公司(航空公司编号、名称、地址、联系方式)
表3.6用来存储航空公司的一些基本信息
表3.6 航空公司信息表
字段名称数据类型字段长度允许空否备注
ID int 50 NO 主键
航空公司编号nvarchar 50 NO
名称nvarchar 50 NO
地址nvarchar 500 YES
联系方式nvarchar 50 YES
7.航线(航线编号、起始城市、终点城市、里程)
表3.7用来存储航线的一些基本信息
表3.7 航线信息表
字段名称数据类型字段长度允许空否备注
ID int 50 NO 主键航线编号nvarchar 50 NO
起始城市nvarchar 50 NO
终点城市nvarchar 500 NO
里程int 50 NO
3.2.2物理结构设计
本系统只是根据订票系统现在具有的主要功能进行的设计,随着航空公司的发展,以后肯定还会需要加入新的数据、添加新的功能模块,所以目前很难计算出整个系统的信息量。

现在对该系统可以进行相对的数据的添加,删除,修改和查询的操作等,确保数据的实时更新。

但是大致可以对系统数据信息量留有足够的系统存储空间去为以后的数据添加做准备,还有要保证以后的信息流量,对网络设备也有一定的要求。

4.系统实现
4.1开发工具
是 ASP技术发展的产物,它具有简单以及可定制化能力强的特点,因为是基于通用语言的编译运行的程序,所以它足够强大,在Web应用软件开发者的几乎全部的平台上都可以运行,开发者也可以选择一种最熟悉的语言来编写程序,而C#作为.NET独有的语言又被广泛应用。

所以,在进行系统开发时,我选择为系统开发工具,C#为系统开发语言。

SQL Server 2005 具有易管理、可用性强、安全等特点,同时,SQL Server 2005 使部署、管理和优化企业数据以及分析应用程序变得更简单、更容易。

所以,基于对系统数据量以及安全性的控制,为了使系统较容易操作同时具有良好的兼容性,我选择了SQL Server数据库作为本系统的后台数据库。

4.2系统实现界面
4.2.1登陆界面
系统的首页如图4.1所示,如果是系统管理员登录,点击管理员登陆,输入用户名:admin,密码:admin,如果是用户登录,则点击用户登陆,输入用户名:用户注册时设置的用户名,密码:用户注册时设置的密码,点击“登录”按钮,分别进入管理员界面如图4.2和用户界面如图4.3所示。

如果用户是第一次进入该系统,则首先要进行注册,注册界面如图4.4所示,加红色星号的为必填项。

图4.1系统首页
图4.2 管理员界面
图4.3 用户界面
图4.4用户注册界面
这种系统身份验证功能的实现主要与指定数据库连接,并获得所连接数据库所含表的表名,在表中查询出请求登录系统的用户信息,使系统主界面按照用户类型显示相应菜单项。

4.2.2管理员功能界面
管理员登陆系统后,在所能看见的系统主界面上的菜单项共有十一项,如图4.2所示。

主要包括人员管理、基础信息管理和订单管理三个方面的内容,在人员管理功能模块里,管理员可以查看、添加、修改和删除管理员以及用户的基本信息;在基本信息管理功能模块中,管理员可以查看、添加、修改和删除城市、航空公司、航线、航班的基本信息,同时还可以进行航班预览;在订单管理功能模块中,管理员可以核实用户提交的订票或者退票信息并进行出票和退票操作,页面的左上角有“退出”菜单项,该菜单项具有重新登录的功能,它是系统的两种类型的用户都拥有的操作功能。

当用户单击此菜单项时,系统会恢复到原始主界面的视图。

4.2.3用户功能界面
用户登陆系统后,在所能看见的系统主界面上的菜单项共有六项,如图4.3
所示。

主要包括修改密码、查看并修改自己注册时填写的个人信息、机票预订、查看订单和退票,“修改密码”这一项,用户可以根据自己的需要修改密码,以确保系统使用的机密性。

4.2.4订票流程
用户登陆系统后,点击系统主界面左边的“机票预订”选项,出现如图4.5所示的页面,选择自己的起始城市、终点城市和乘坐的日期,点击“查看”按钮,会筛选出符合条件的航班信息,如图4.6所示,以起始城市为北京,终点城市为南京,指定日期2014年4月30日为例,显示两条符合的航班,选择航班编号为hb02的航班点击右侧“预定”按钮进行预订,出现如图4.7所示的界面,填写需要购买的数量,确认信息无误后点击“下单预定”按钮,出现如图4.8所示的对话框。

假如填写的购买数量超过剩余座位数量,将出现如图4.9所示的对话框。

用户提交订单后要等待系统管理员审核出票之后订单才生效,管理员登陆系统,点击系统左侧的“出票操作”按钮,选择订单编号为20140427182904-2的订单,点击右侧“出票”按钮,会出现如图4.10所示的界面,点击“出票操作”按钮,会出现如图4.11所示的对话框,点击“确定”之后,系统会提示操作完成。

至此,完整的订票流程已经完成。

图4.5机票查询界面
图4.6查询结果界面
图4.7确认订单界面
图4.8下单成功界面
图4.9购买数量大于座位时的界面
图4.10管理员审核界面
图4.11出票确认界面
4.2.5退票流程
用户由于一些突发情况要申请退票时,首先使用自己的用户名和密码登陆该系统,点击系统界面左侧的“我的预定”按钮,如图4.12所示,即为未被管理员审核的订单,如果订单还未被管理员审核,那么退票过程比较简单,点击右侧的“取消订单”,会出现如图4.13所示的页面,点击“取消订单”,然后会出现如图4.14所示的对话框,点击“确定”之后,会出现如图4.15所示的提示。

如果用户提交的订单信息被管理员审核通过后,则需要点击系统界面左侧的“已经买到”,如图4.16所示即为已经被管理员审核通过的订单,点击右侧的“退票申请”之后出现如图4.17所示的页面,点击“申请退票”之后会出现如图4.18所示的确认退票信息的对话框,点击“确认”之后,会跳出“操作完成”的提示,
由于订单已经被管理员审核,所以退票也要等待管理员审核,审核通过之后整个退票过程才算完成。

管理员登陆系统之后点击主界面右侧的“退票操作”,显示用户提交的退票申请,如图4.19所示,点击右侧的“退票申请”,出现如图4.20所示的页面,点击“退票确认”之后,会出现如图4.18所示的确认退票信息的对话框,点击“确认”之后,会跳出“操作完成”的提示,至此,才完成了整个退票流程。

图4.12订单查询界面
图4.13取消订单界面
图4.14取消订单确认界面
图4.15操作完成界面
图4.16审核通过订单查询界面
图4.17退票信息确认界面
图4.18退票提醒
图4.19管理员审核退票界面
图4.20管理员审核退票信息界面
5.系统测试
5.1边编写代码边测试
在完成窗口设计后,需要完成的工作就是编写代码,由于本人编程水平有限,缺少编写系统程序的经验,在编写代码时经常出现这样那样的问题,因此,我主要采取编一个功能,测试一个功能,编好一个窗口,测试通过后再编写另一个窗口代码的方法,编程过程中遇到的数据类型匹配的问题是困扰我最多的问题,这些都在测试通不过时进行修改,使之于数据库中的数据类型相符。

在编写代码过程中出现了类似的少了一对单引号这种比较低级的错误,检查后才修改正确的情况时有发生。

5.2窗口代码完成后统一测试
在系统测试过程中还发现不少问题,比如系统管理员添加用户时,使用明文密码,通过请教指导老师,才改正为用“*”表示,这样就防止了在用户登陆时的密码泄露导致安全性问题。

还有如修改密码模块中,”Update”语句少了”where”修饰,这样就导致系统里面只要有用户修改登陆密码,系统里面所有用户的登陆
密码均会被修改,那些没有修改自己登陆密码的用户用自己原来的密码就不能顺利登陆了,”Update”语句加了”where”修饰后,密码修改没有出现异常情况。

5.3系统测试举例
5.3.1用户登陆测试
如图5.1所示,在用户登陆界面输入已经完成注册的用户名和密码,以用户名为“test”,密码为“test”为例,点击“提交”按钮,则能够成功进入到用户的主界面。

图5.1 用户登陆界面
如果输入错误的密码,以输入用户名“test”,密码“qqqq”为例,点击“提交”按钮之后,会出现如图5.2所示的错误提示。

图5.2登陆错误提示
如果输入系统不存在的用户名,以输入用户名“xy”,密码“1234”为例,点击提交按钮之后,仍会出现如图5.2所示的错误提示。

5.3.2航班查询测试
用户登陆系统之后,想要进行订票操作的话首先要点击页面右侧的“机票预订”按钮筛选出符合自己要求的航班,系统的测试时间为2014年5月10日,以
起始城市为北京,终点城市为南京,指定时间为2014年5月19日,会出现如图5.3所示的页面,选择需要的航班进行预订即可。

若指定时间为2014年5月7日,点击“查看”按钮之后会出现如图5.4所示的提示。

图5.3查询结果
图5.4查询错误提示
5.3.3订票测试
在查询出满足条件的航班信息之后,点击“预订”按钮,确认订单并填写购买数量即可成功下单预订,如果所填写的购买数量大于作为数目,则会出现如图5.5所示的错误提示。

图5.5下单错误提示
5.3.4用户注册测试
当用户进行注册时,有些信息例如用户名、密码是必填项,检测用户注册的功能主要就是检测当用户注册时如果必填项不填,是否会出现错误提示。

当用户点击主页上面的“注册”按钮时,会出现如图5.6所示的页面,其中右侧标记*的为必填项,按要求填写用户资料,点击“提交”按钮之后会出现如图5.7所示的成功提醒,假如故意不填必填项,以不填身份证号码为例,点击“提交”按钮之后,系统会出现如图5.8所示的错误提示。

图5.6用户注册界面
图5.7 注册成功提醒
5.8注册信息错误提醒
系统还会存在其他的问题没有被检测出来,主要是因为本人所学的专业知识有限,还有就是毕业设计的时间匆忙,测试的次数不足,测试可能也不够全面,所以在以后就需要大家共同探讨与研究,使这个系统能够更加趋于完善。

6.总结
传统的购票方式也存在很多缺点,目前部分航空公司的运行管理决策的能力和效率已经无法满足当前航空业发展的需要。

各部门和各子公司不能实现统一管理,使得信息数据不能共享,在很大程度上浪费了数据资源,不仅如此,还使得公司在市场经济中不再占据主导地位,对管理层及时决策起到了阻碍作用。

从团队沟通和协作方面来讲,航空公司不能实现统一管理,也严重影响了公司的团队精神。

随着公司的发展,公司规模的扩大,职能机构的划分肯定会越来越细致,这样势必会导致各部门和各子公司之间的协调和沟通越来越难,不能对航班进行及时的调整,这样,就很难做到安全管理,而一旦出现意外,找到相关的责任人。

相关文档
最新文档