航空运输管理系统定稿.docx
《航空运输管理系统定稿.docx》由会员分享,可在线阅读,更多相关《航空运输管理系统定稿.docx(35页珍藏版)》请在冰豆网上搜索。
航空运输管理系统定稿
第13章航空运输管理系统-1-
13.1系统分析-1-
13.1.1需求分析-1-
13.1.2功能描述-3-
13.2系统设计-3-
13.2.1功能设计-3-
13.2.2数据库设计-4-
13.3系统实施-7-
13.3.1数据库和数据表设计-7-
13.3.2查询设计-10-
13.3.3窗体设计-12-
13.3.4报表设计-20-
14.3.5菜单设计-21-
13.3.6编译运行系统-23-
13.4运行及维护-23-
13.5本章小结-23-
13.6习题-24-
13.7实验-26-
第13章航空运输管理系统
进行数据库管理系统开发是使用数据库管理软件的最终目的。
前面各章系统的介绍了各个对象,数据库对象等的功能及使用方法。
本章将根据前面章节讲解的工具和方法,结合一个具体实例——航空运输管理系统,介绍数据库应用系统开发的一般流程和如何设计、实现一个数据库应用系统。
13.1系统分析
13.1.1需求分析
在数据库应用系统开发的分析阶段,要在信息收集的基础上确定系统开发的可行性思路。
也就是要求程序设计者通过对将要开发的数据库应用系统相关信息的收集,确定总需求目标、开发的总体思路及开发所需的时间等。
表6-1航空公司名称及代码
航空公司名称
代码
航空公司名称
代号
三字
二字
三字
二字
中国国际航空公司
中国东方航空公司
中国新华航空公司
X2
厦门航空有限公司
中国西北航空公司
新疆航空公司
中国南方航空公司
云南航空公司
3Q
中国西南航空公司
四川航空公司
3U
中国北方航空公司
上海航空公司
浙江航空公司
F6
长城航空公司
G8
中原航空公司
Z2
武汉航空公司
海南航空公司
贵州航空公司
G4
长安航空公司
2Z
深圳航空公司
南京航空公司
3W
福建航空公司
山东航空公司
1.航空运输情况概述
(1)航空公司
由各民航管理局下属的航空运输公司,是航空运输的代理商。
目前国内的航空公司及代码见表6-1。
(2)航线
民航从事运输飞行,必须按照规定的线路进行,这种路线叫做航空交通线,简称航线。
航线一般包含出发地、目的地及里程信息。
(3)航班
航班是指某航空公司的飞机定期由始发站按规定的航线起点到终点站的运输飞行。
中国国际航班的编号是由执行该航班任务的航空公司的二字代码和三个阿拉伯数字组成,其中最后一个数字为奇数者,表示去程航班,最后一个数字为偶数者,表示回程航班。
如981则指中国国际航空公司承担的自纽约返回北京的国际航班。
中国国内航班的航班号由执行航班任务的航空公司二字代码和四个阿拉伯数字组成,其中第一位数字表示执行该航班任务的航空公司或所属管理局,第二位数字表示该航班终点站所属的管理局,管理局编号见表6-2所示,第三、四位数字表示班次,即该航班的具体编号,其中第四位数字若为奇数,则表示该航班为去程航班,若为偶数,则为回程航班。
例如1201,表示由中国国际航空公司担任的由北京至西安的去程航班,5302,是指东方航空公司担任的由长沙至上海的回程航班。
表6-2管理局编号
管理局
编号
华北管理局
1
西北管理局
2
中南管理局
3
西南管理局
4
华东管理局
5
东北管理局
6
(4)客票
客票是顾客乘坐航空客机的凭证,持客票在所属航空公司值机柜台办理乘机手续,若旅客身份证件信息及订票系统信息不相符将被拒绝登机。
旅客身份得到确认后,工作人员将为旅客办理登机牌及行李牌,旅客必须凭登机牌登机。
(5)行李
行李指旅客在旅行中为了穿着、使用、舒适或便利而携带的必要或适量的物品和其它个人财物。
国航承运的行李,按照运输责任分为托运行李和非托运行李。
1非托运行李(自行管理)
●非托运行李的体积应能置于旅客的前排座椅下或封闭式行李架内。
●免费随身携带物品的重量,每位头等舱、公务舱旅客以10千克为限,每位经济舱旅客以5千克为限。
持头等舱、公务舱客票的旅客,每人可随身携带两件物品;持经济舱客票的旅客,每人只能随身携带一件物品。
●每件随身携带物品的长、宽、高分别不超过55、40、20。
●超过上述重量、件数、体积限制的免费随身携带物品,应作为托运行李托运。
2托运行李
●每件行李最大重量不得超过45千克,长、宽、高分别不得超过100、60、40;超过上述规定的行李,应作为货物运输,不能作为行李运输。
每件行李最小重量不得低于2千克,长、宽、高分别不得短于30、10、20;不符合上述规定的行李,不能单独作为托运行李运输。
●行李计费
●免费行李额:
计重制:
持成人或儿童客票的旅客免费行李额为:
头等舱旅客40千克,公务舱旅客30千克,经济舱旅客20千克。
持婴儿客票的旅客免费行李额为10千克,最大尺寸不超过115厘米。
●计费行李:
对非托运和托运行李总重量超过免费额度的部分,按票价10%付费收取逾重行李费。
13.1.2功能描述
通过调查组织机构和对实际功能需求,设计“航空运输管理系统”的总体结构如图13-1所示。
图13-1“航空运输管理系统”的总体结构
其总体功能需求可归纳为以下几点
(1)能够对航空公司、航线、飞机、航班、客票、行李信息进行管理,如添加、修改删除等;
(2)能够对航空公司运营进行登记管理,如增加航线、修改班期;
(3)能够对航空公司的飞机进行登记管理,如增加、删除飞机;
(4)能够对上述信息根据条件查询并输出相应报表。
确定了总体目标后,就可设计总体功能模块的逻辑模型了,如图13-2所示之后采用“自顶向下”的方法对各模块逐步细化。
图13-2总体功能模块
13.2系统设计
13.2.1功能设计
1.系统管理模块设计
系统管理模块功能包括:
用户管理、数据备份、存盘、退出系统等常用操作,本实例只实现了退出系统操作。
2.航班管理模块设计
航班管理模块功能包括:
航线、飞机、航空公司、航班等信息的录入和修改删除,以及相关的查询操作,报表输出。
3.客票管理模块设计
客票管理模块功能包括:
客票等信息的录入和修改删除,以及相关的查询操作,报表输出。
4.行李管理模块设计
行李管理模块功能包括:
行李等信息的录入和修改删除,以及行李计费等相关的查询操作,报表输出。
13.2.2数据库设计
数据库应用系统开发设计的首要任务,就是对数据库应用系统在全局性基础上进行全面的总体规划,只有认真细致地搞好总体规划,才能省时,省力,省资金。
而总体规划任务的具体化,就是要确立该数据库系统的逻辑模型的总体设计方案,具体确立数据库应用系统所具有的功能,指明各个系统功能模块所承担的任务,特别是要指明数据的输入、输出的要求等。
1.设计图
(1)局部图
第2章介绍了概念模型设计的方法,并在实例中给出了如图13-3所示的“航班管理”子系统局部图。
同样的方法设计如图13-4所示的“客票管理”子系统局部图和如图13-5所示的“行李管理”子系统局部图
图13-3“航班管理”子系统局部图
图13-4“客票管理”子系统局部图
图13-5“行李管理”子系统局部图
(2)全局图
将局部图合并成生成的是初步图。
其中可能存在冗余的数据和冗余的实体间联系,因此得到初步图后,还应当进一步检查图中是否存在冗余,如果存在则一般应设法予以消除,使图重构生成如图13-6所示全局图。
图13-6全局图
2.设计数据库逻辑结构
(1)关系结构
依据图转换为逻辑关系的准则和规范化原则,从6个实体4个联系中提取如下的8个关系:
●航空公司(公司编号,名称,管理局,地址)
●航线(航线编号,起点,终点,里程)
●运营(公司编号,航线编号,班次)
●飞机(机型,头等舱,公务舱,经济舱)
●航班(航班号,起飞时间,到达时间,航线编号,机型,班期)
●客票(票号,姓名,航班号,座舱等级,日期,登机时间,身份证号,折扣,价格)
●行李(行李号,票号,类别,重量)
●拥有(公司编号,机型,数量)
(2)表属性说明
●班次是指该航空公司在该航线上的航班数;
●航线编号前两为为起点、终点的管理局编号,按表中顺序1—6,后两位为流水号;
●班期为该航班在星期几开航,1234567表示星期一到星期天都开航,126-表示星期一、二、六开航;
●客票信息中票号拟采用航班号+舱位等级+三位流水号;
●舱位等级及折扣:
F:
头等舱;A:
儿童头等;C:
公务舱;D:
儿童公务;Y:
经济舱全价;B:
9折;M:
8.5折;H:
8折;K:
7.5折;L:
7折;Q:
6折;G:
5折;其它:
特价。
(3)表中数据用例
数据库中部分表用例如下表6-4到表6-7。
表6-3航空公司
公司编号
名称
管理局
地址
中国国际航空公司
华北管理局
北京首都国际机场
中国西北航空公司
西北管理局
陕西西安丰镐路2号
中国南方航空公司
中南管理局
广东广州白云国际机场
中国西南航空公司
西南管理局
成都双流机场
中国东方航空公司
华东管理局
上海虹桥路2250号
中国北方航空公司
东北管理局
辽宁沈阳大东区小河沿路3-1号
海南航空公司
中南管理局
海南省海口市海秀路二十九号海航大厦
表6-4航线
航线编号
起点
终点
里程
2101
西安
北京
1178
2102
西安
呼和浩特
980
2401
西安
成都
647
2301
西安
广州
1300
表6-5运营
公司编号
航线编号
班次
2101
8
2401
1
2301
5
2101
9
2401
4
2101
4
2301
4
表6-6航班
航班号
起飞时间
到达时间
航线编号
机型
班期
1202
17:
25
19:
15
2101
1212
21:
00
22:
50
2101
319
126-
2105
20:
55
22:
40
2101
4202
16:
50
18:
10
2401
7855
14:
10
15:
25
2401
733
3212
16:
35
19:
05
2301
757
表6-7客票
票号
姓名
航班号
座舱等级
日期
时间
身份证号
折扣
价格
1202F001
齐建国
1202
F
2008-7-22
17:
25
10
1580
1202Y002
李纯
1202
Y
2008-7-22
21:
00
10
1050
1212M004
王铁军
1212
Y
2008-7-22
17:
25
10
1050
1212Y003
索朗扎西
1212
M
2008-7-22
21:
00
8.5
890
4202H006
陈军
2105
H
2008-7-22
20:
55
8
840
3212L008
扎木河
4202
H
2008-7-22
16:
50
8
500
7855Q007
李娟娟
7855
Q
2008-7-22
14:
10
332562X
6
361
2105H005
范文峰
3212
L
2008-7-22
16:
35
7
1040
13.3系统实施
在数据库应用系统开发的实施阶段,主要任务是按系统功能模块的设计方案,具体实施系统的逐级控制和各独立模块的建立,从而形成一个完整的应用开发系统。
在建立系统的过程中,要按系统论的思想,把数据库应用系统视为一个大的系统,将这个大系统再分成若干相对独立的小系统,保证高级控制程序能够控制各个功能模块。
13.3.1数据库和数据表设计
1.建立数据库
运行2003应用程序,选择【新建】→【空数据库】命令,建立“航空运输管理”数据库,如图13-7所示。
图13-7建立“航空运输管理”数据库
在菜单中选择【工具】→【选项】打开如图13-8所示“选项”对话框,对话框中对设置数据库的环境属性,同时还可对数据对象设置属性。
图13-8“选项”对话框
2.建立数据表
在数据库中选择表对象,建立上节所设计的8个关系表结构,如图13-9所示,并设置各字段属性。
结构设计完成后,将相应数据填入对应表中,如图13-10所示。
图13-9建立关系表结构
图13-10填入表中数据
3.建立索引
表建好后系统自动为主键建立主索引,有时还需对对某些字段建立普通索引,如一般在建立表间关系时,常对表间共同的关键字建立索引,可在表结构中选择需建索引的字段建立索引,如图13-11所示。
图13-11建立索引
4.表间关系
选择菜单中【工具】→【关系】打开“关系”窗口,在弹出的“显示表”窗口中选择刚建立的8个表建立表间关系,如图13-12所示。
图13-12表间关系
13.3.2查询设计
根据系统要求,建立“航班”查询、“客票”查询和“行李”查询。
1.航班查询:
航班查询包括:
航班号查询、航线航班查询、起点、终点航班查询、航空公司航班查询。
(1)航班号查询
图13-13航班号查询
对航班的查询,用户往往希望得到航班的全信息,如需要得到除“航班”表的信息外,还想得到“航线”表的“起点”“终点”信息,因此,设计该查询包括“航班”和“航线”两个表的多表查询,同时,为了用户在操作中能方便的根据实际需求输入查询条件,对“航班号”字段设计参数查询,如图13-13所示。
(2)航线航班查询
通过航线编号,查询该航线上的所有航班信息,查询结果包含:
“航线编号”、“起点”“终点”、“航班号”、“起飞时间”、“到达时间”、“机型”字段,同样,设计该查询包括“航班”和“航线”两个表的多表查询,对“航班编号”字段设计参数查询。
(3)起点、终点航班查询
通过“起点”、“终点”进行航班的查询,是用户常用的一种查询方式,查询结果包含:
“起点”“终点”、“航班号”、“起飞时间”、“到达时间”、“机型”、“班期”字段,设计该查询包括“航班”和“航线”两个表的多表查询,对“起点”和“终点”字段设计参数查询。
(4)航空公司航班查询
查询某个航空公司的所有航班,查询结果包含:
“公司编号”、“公司名称”、“航线编号”“起点”“终点”、“航班号”、“起飞时间”、“到达时间”字段,设计该查询包括“航空公司”、“运营”、“航班”和“航线”四个表的多表查询,对“公司编号”字段设计参数查询。
2.客票查询
客票查询包括客票号查询、乘客信息查询、客票号查询、航空公司航班客票查询。
(1)乘客信息查询
对客票的查询,往往希望得到乘客的全信息,如需要得到除“客票”表的信息外,还想得到“乘客”表的“性别”和“住址”信息,因此,设计该查询包括“客票”和“乘客”两个表的多表查询,对“客票号”字段设计参数查询。
(2)客票号查询
对客票的查询,往往希望得到航班的信息,如需要得到除“客票”表的信息外,还想得到“起点”、“终点”的信息,设计该查询包括“客票”和“航班”、“航线”三个表的多表查询,对“客票号”字段设计参数查询。
(3)航空公司航班客票查询
图13-14航空公司航班客票查询
若对某个航空公司的客票进行查询,得到该公司所的航班中客票信息,设计该查询包括“航空公司”、“运营”、“航线”、“客票”和“航班”五个表的多表查询,如图13-14所示。
由于系统中“航班号”前两位为航空公司编号,因此为了能正确得到该公司的所有航班,在“航班”号的条件行上加入“[航空公司]!
[公司编号]$([航班]!
[航班号],2)”条件,用于保证选中航班号的前两位及航空公司编号一致。
对该查询设计参数查询,参数有下面设计的查询窗体实现,具体方法在设计查询窗体中叙述。
3.行李查询
行李查询包括:
行李号查询和行李计费查询。
(1)航班号查询
查询托运行李的乘客以及行李的全信息,设计该查询包括“行李”、“乘客”和“客票”三个表的多表查询,对“行李号”字段设计参数查询。
(2)行李计费查询
对乘客的行李进行重量汇总,设计包括“行李”、“乘客”和“客票”两个表的多表查询,如图13-15所示,对该查询设计参数查询,“客票”参数在窗体文本框中输入,根据13.2.1节中有关行李计费的规则和相关章节的内容,在窗体中设计“行李计费”的按钮及相应的触发条件、代码。
图13-15行李重量汇总查询
13.3.3窗体设计
窗体主要用来作为人机对话的界面,可以在窗体中设计背景图案、文本框、列表框、组合框来、创建按钮,并根据用户输入的信息执行相应的操作。
1.操作界面窗体设计
(1)数据输入、维护、浏览窗体设计
为设计“航空公司”、“航班”、“客票”、“行李”等八个基本表分别设计窗体,使其在添加、浏览、等日常工作中有较好的人机交互界面。
以“航空公司”窗体为例:
首先创建纵栏是窗体,其数据源为“航空公司”基本表,并命名窗体为“航空公司”,如图13-16所示;
图13-16创建“航空公司”窗体
其次,在“设计”窗口中打开该窗体,对其进行标题、背景、字体等修饰,效果如图13-17所示;
图13-17修饰窗体
最后为了方便的供用户使用,为其添加四个记录导航按钮和三个记录操作按钮,如图13-8、图13-19所示。
图13-18“命令按钮”向导
图13-19窗体中添加按钮
(2)查询窗体设计
同样,可对数据库中的查询对象建立查询窗体。
1.通过窗体输入内容进行参数查询
通常用户习惯在一个窗体中输入查询参数进行查询,在上述航空公司航班客票查询设计由窗体输入“航空公司编号”、“出发地”、“目的地”进行参数查询。
●创建“航空公司航班客票查询参数”窗体
单击“新建”→“设计视图”新建一个窗体;插入一个标签为“航空公司航班客票查询”;插入三个文本框分别命名为“航空公司编号”、“出发地”和“目的地”;插入一个命令按钮命名为“确定”,如图13-20所示。
图13-20创建“航空公司航班客票查询参数”窗体
●创建命令按钮宏
右击已建的“确定”按钮,选择“事件生成器”中的“宏生成器”在操作中输入“”
并在下面的查询名称中选择“航空公司航班客票查询”,如图13-21所示。
图13-21创建命令按钮宏
●在“航空公司航班客票查询”中创建参数
在查询对象中选择“航空公司航班客票查询”,单击设计;在“航空公司编号”、“出发地”、“目的地”字段的条件行输入[]!
[航空公司航班客票查询参数]!
[0]、[]!
[航空公司航班客票查询参数]!
[1]、[]!
[航空公司航班客票查询参数]!
[2],需要注意的是[0]、[1]、[2]是插入的三个文本框的对应名称,设计是应注意文本框内容和字段的对应以及文本框的实际名称,如图13-22所示。
图13-22在“航空公司航班客票查询”中创建参数
2.设计查询面板
在查询中往往一个查询模块包含了多个查询,可使用控制面板或菜单进行多级设计,也可用窗体设计一个界面来完成查询的选择。
例如对航班查询的四个子查询可设计一个“航班查询面板”窗体界面:
●创建“航班查询面板”窗体
单击“新建”→“设计视图”新建一个窗体;插入一个标签为“航班查询”;;插入四个命令按钮分别命名为“航班号查询”、“航线航班查询”、“起点、终点航班查询”、“航空公司航班查询”,如图13-23所示。
图13-23创建“航班查询面板”窗体
●创建命令按钮宏
对已建的各个按钮,选择“事件生成器”中的“宏生成器”在操作中输入“”
并在下面的查询名称中选择相应的查询名称。
(3)用户登陆窗体设计
为保证系统的安全性通常需要在登陆系统时对用户进行身份鉴别,这就要设计一个用户登陆窗体进行控制只有用户名和密码正确才能进入系统。
●创建“用户登陆”窗体
单击“新建”→“设计视图”新建一个窗体;插入一个标签为“欢迎登陆航空管理系统”;插入两个文本框分别命名为“用户名”、“密码”;插入两个个命令按钮分别命名为“确定”、“取消”如图13-23所示。
图13-24创建“用户登陆”窗体
●创建命令按钮宏
若设定系统用户名为“”,密码为“123456”,对“确定”按钮创建宏,如图13-25所示。
图13-25创建命令按钮宏
●定义代码
对“取消”按钮定义代码,如图13-26所示。
图13-26定义代码
2.“控制面板”窗体设计
如图13-27选择【工具】→【数据库实用工具】→【切换面板管理器】打开“切换面板管理器”
图13-27打开“切换面板管理器”
如图13-28、图13-29所示,点击“新建”按钮弹出“新建”对话框,文本框中输入航空运输管理系统。
图13-28新建“切换面板”页
图13-29“新建”对话框
为了实现“航空运输管理”系统的二级管理,选中“航空运输管理系统”条目,单击“编辑”。
用同样的方法在该面板页下建立航班管理、客票管理和行李管理三个子面板和一个退出项,如图13-30到图13-32所示。
图13-30建立子面板
图13-31编辑切换面板页
图13-32面板界面
3.自动运行窗体设计
将所示窗体更名为“航空运输管理”作为系统的主窗体,此时需要给其挂接主菜单外,还需将其设置为自动运行窗体,使用户一打开系统就能自动启动。
在菜单上选择【工具】→【启动】,打开“启动”对话框,如图13-33所示。
输入标题和要启动的窗体,并可根据需要选择对话框中相应的选项,单击“确定”按钮完成操作。
图13-33“启动”对话框
13.3.4报表设计
报表是中专门用来统计、汇总并且整理打印数据的一种工具,要打印大量的数据或者对打印的格式要求比较高,则必须使用报表的形式。
根据需要在系统中设计“乘客信息”报表、“电子客票”报表和“行李票”报表。
创建和设计报表对象及创建和设计窗体对象有许多共同之处,两者之间的所有控件几乎是可以共用的。
它们之间的不同之处在于,报表不能用来输入数据,而是在窗体中输入数据;报表只有“设计”视图和“打印预览”两种视图。
以“乘客信息”报表为例,建立过程如图13-34所示添加数据源设计相关内容,结果见图13-35所示。
图13-34使用“报表向导”设计报表
图13-35乘客信息报表
14.3.5菜单设计
系统主菜单是通过“控制面板”窗口打开的,主菜单设计通过“宏”来完成。
1.设计主菜单和子菜单功能
表6-8菜单功能表
菜单项
菜单名
宏操作
文件
退出
航班管理
航线信息登记
(航线)
航线查询
(航线查询)
航班信息登记
(航班)
航班查询
(航班查询)
客票管理
客票信息登记
(客票)
客票查询
(客票查询)
行李管理
行李信息登记
(行李)
行李计费查询