免费预览已结束,剩余60页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文航班售票管理系统院 系 计算机科学与技术学院 专 业 应用与维护 班 级 学 号 学 生 姓 名 联 系 方 式: 指 导 教 师: 职称: 2009年 06月摘 要 自从计算机问世以来,随着软硬件技术的不断成熟,它在人们生活中得到了日益广泛的应用.航班售票管理工作不仅工作量大,而且时效性强。过去,多采用人工管理,效率和透明度较差,并且也容易出错;随着数据库技术的发展和信息化时代的到来,使用计算机和专门的管理软件进行管理已成为大势所趋,它为航班售票工作节约了大量的人力和物力,也大大减轻了工作人员的工作量。我结合航班售票管理的要求,对Visual Foxpro程序设计进行了较深入的学习和应用,主要完成对航空售票管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计出数据库结构和应用程序。本文以“航班售票管理系统”的设计和开发为例,系统地阐述了售票管理系统的设计开发的全过程。包括系统整体设计,逻辑框架与数据流程,各个功能模块划分,系统功能模块的设计与具体实现等部分。关键词:航空管理系统 Visual Foxpro程序设计 数据关联 查询 系统加密 ABSTRACT Since the computer has been published, with the software and hardware technology is unceasingly mature along, it obtained the widespread application in peoples life day by day. In the past, many aviation corporations sold tickets by manpower, efficiency and diaphaneity was limiting, and was very easy to make a mistake. Along with development of database technology and progress of corporation informations building, using computer to manage flight booking is necessary. It saves a mass of manpower and material resources and greatly lightens workload of employees. At the request of Booking Flight Management System, I have got deep into the study and application of Visual Foxpro programming and completed performance appraisals on the Booking Flight Management System requirements analysis, functional modules, database modeling. In base of these, I have completed the design and the structure of the database and applications. The text which used the design and exploiter of Booking Flight Management System as case expounded the whole process of the system .It includes the whole design of the system, logic frame, data flow, partition of every function module, design of system function modules and concrete realization and so on.Key words: Booking Flight Management System Visual Foxpro programming digital association query system encrypt 目 录摘 要-0ABSTRACT-2第1章 概 述-41.1开发背景-41.2开发及运行环境-41.3系统功能与特色概述-41.4本章小结-4第2 章 需求分析- -5 2.1需求分析的目的- -5 2.2本系统的设计思想分析-5 2.3系统功能设计- -5 2.3.1权限认证- -6 2.3.2订购票子系统设计- -6 2.3.3查询与退票票子系统设计- -6 2.3.4飞行时刻查询子系统设计- -6 2.3.5收入统计子系统设计- -7 2.4本章小结-7第3 章 数据库设计- -8 3.1数据库需求分析- -8 3.2数据库概念结构设计- -8 3.3数据库逻辑结构设计- -9 3.4数据库物理结构设计- -10 3.5本章小结-10第 4 章 系统设计- -11 4.1系统设计流程- -11 4.2系统概要设计- -11 4.3系统详细设计- -11 4.4系统测试- -12 4.5本章小结-12附录1-12附录2-13参考文献-22第1章 概 述1.1开发背景 售票定票系统是民航业务中一个最基本的业务,表面上看,它只是民航业务中的一个最简单部分,但是它涉及到资金管理与客户服务等多方面的内容。随着时代的发展,特别是软件和信息技术的日新月异的发展,也在不断的逐步完善,随着航空业务流量的剧增,过去传统的售票方法已经不能满足现代航空业务流量剧增的客观要求,因此,本课程设计便是利用开发工具Visual Foxpro开发一个民航售票管理系统,它能方便快捷地运用在民航业务的营运之中。1.2 开发及运行环境 本系统开发及运行环境如下:(1)硬件配置CPU:Pentium 266 或更高;内存:128MB 或以上;硬盘:10G以上;显示器:VGA 或更高; 外设: 报表打印机等。(2)软件配置操作系统:Windows 2000 中文版或更高; 开发平台:Visual FoxPro 6.0 1.3系统功能与特色概述 本系统主要可以实现以下几个功能:(1)实现方便的售票、订票工作。(2)实现航班信息管理以及查询。(3)实现乘客信息管理以及查询。(4)实现航班座位等级分配以及占用信息的更新查询。 本系统的特色之处在于:(1)具有良好的操作界面完善的系统维护功能。(2)安全性:对系统用户权限有严格限制。(3)安装与操作比较简单且直观,便于普通工作人员操作。(4)一款简便易用、功能多样的软件,可通过Internet等方式连接计算机,实现远程相关同步数据的查询与及时更新。1.4本章小结 本章对系统的开发背景,运行环境以及系统特点做了简要介绍.第2章 需求分析2.1需求分析的目的 软件的需求分析是从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出我们的软件产品。这个步骤是对用户业务需求的一个升华,是一个把用户业务管理流程优化,转化为软件产品,从而提升管理而实现的质的飞跃,这一步是否成功,直接关系到开发出来的软件产品能否得到用户认可,顺利交付给客户,客户能否真正运用我们的产品帮助他解决业务或管理问题。软件的需求分析必须要有对原业务的一个深入了解、提取、抽象、升华的过程,管理软件需求分析尤其如此。2.2本系统的设计思想分析 从管理层的角度考虑,通过一个严格的售票管理系统,不仅提高了规章制度的严肃性,排除了各种人为的干扰,而且还提供了前所未有的高效性、便利性。合理的售票管理制度可以简化了管理结构,提高了管理的集中度,使管理层能够集中、全面和随时了解售票动态和乘客情况,实现售票管理的智能化;另一方面,分散的静态手工数据向集中的动态化电子数据的转化,提高了管理层次,改善了管理效率,也为各航班的统计管理提供了参考依据。2.3 系统功能设计本系统设计主要是根据售票业务的基本流程进行的,系统功能十分强大,包括如下几个方面:售票子系统、订票子系统、查询子系统、飞行时刻表等四个方面,其中,售票与订票子系统至少要满足一下几点:(1) 每一航班的乘客乘坐飞机的起点、终点、日期和预定座位等基本信息。(2) 自动显示符合乘客要求的航班及座位是否存在(是否还有空位)。(3) 查询每一航班的售票订票情况、乘客信息已经售票收入金额。(4) 可以按五种方式查询航空公司的航班时刻信息。系统的功能模块如图2-1所示: 系 统 启 动 界 面系 统 启 动 界 面 权 限 认 证 界 面系统主界面乘 客 订 购 票 查 询 与 退 票 飞 行 时 刻 查 询航 班 收 入 结 算 系 统 维 护 图2-1 总的功能结构图2.3.1权限认证权限认证的功能如图2-2所示:权限认证用户名用户密码 图2-2 权限认证结构图2.3.2订购票子系统功能设计乘客订购票子系统总体功能如图2-3所示:前一航班查询的显示下一航班查询新乘客订票修改订票记录备份数据返回主窗口售票管理 图2-3 订购票功能图2.3.3查询与退票子系统功能设计用户查询与退票子系统主要功能为查找乘客及航班信息,实现退票同时更新退票之后的航班信息。注意这里能执行退票的是系统管理者,因此要有权限确认。用户查询与退票子系统功能模块图如图2-4所示:查询与退票子系统权 限 确 认查 找 乘 客更新航班信息确 认 退 票图2-4 查询与退票功能图 2.3.4飞行时刻查询子系统功能设计 飞行时刻查询子系统主要实现对航班信息的查询,其中包括航班号、发出城市、到达城市、发出时间、到达时间等详细信息。其功能如图2-5所示:时刻查询执行查询取消查询图2-5飞行时刻查询结构图2.3.5收入统计子系统功能设计该航班的总收入按航班号统计 航班收入的统计结算也是系统一大主要功能,主要实现对所售出票的统计与结算。其中包括按航班号统计和按日期统计两部分。航 班 收 入 结 算执 行 统 计其功能如图2-6所示:当天总收入按日期统计取 消 统 计返 回图2-6收入统计结算结构图2.3.6系统维护功能设计 系统维护主要包括用户权限维护、航班座位等级初始化和数据清理三个功能。其中用户权限维护包括添加新用户、删除旧用户、修改旧密码三个功能;航班座位等级初始化有增加、删除、修改记录三个功能;数据清理首先要有清理权限的认证.添加新用户删除旧用户用户权限维护 增加记录系统维护修改密码修改记录航班座位等级初始化删除记录权限认证系统数据清理数据清理图2-7系统维护结构图2.4本章小结 系统需求分析是一个很重要的过程,本章首先做了系统需求分析,又详细介绍了系统的总体结构与功能设计,为系统的实现阶段打下了基础。第3章 数据库设计3.1数据库需求分析数据库结构设计的第一个阶段也是非常重要的阶段是数据库需求分析。在此阶段主要是收集基本数据以及数据处理的流程。需求分析主要解决两个问题:(1)内容要求。调查系统用户所需要操作的数据,决定在数据库中存储什么数据。(2) 处理要求。调查系统用户要求对数据进行什么样的处理,理清数据库中各种数据之间的关系。由数据库分析可得到一个数据字典文档,包括3个方面的内容: 数据项。包括名称、类型、取值范围、长度以及和其他数据项之间的逻辑关系。 数据结构。若干个数据项有意义的集合包括名称、类型以及组成数据结构的数据项。 数据流。数据库中数据的处理过程,包括输入、处理和输出。 本航空管理系统数据库中包括四个数据表,分别存放相应子功能的数据信息。航班数据信息表存放的是所有航班的信息,乘客信息数据表存放乘客的订票以及个人信息,航班座位等级分配与座位占用表存放乘客的订票、退票信息,密码表存放系统管理以及使用人员的登陆信息。具体结构与内容见下边3.3.的逻辑结构定义;3.2数据库概念结构设计航班信息数据库中主要实体及其属性关系如下图所示:航班信息信息乘客退票乘客信息航班管理座位等级航班收入属于1:1包括1:M1:M1:MM:1联系M:1包括1:M1:11:1属于1:11:1统计M:11:11:M乘客订票M:11:1图3-1实体联系图3.3数据库逻辑结构设计在创建系统之前先创建航班管理数据库。在该数据库中包含四个数据表:航班信息数据表:用于对航空公司的航班编号,发出城市、到达城市、发出时间与到达时间进行设置与管理,并在航班售票系统中加以自动使用。乘客信息数据表:用于指定航班的乘客信息进行记录和查询,并进行收入统计。航班座位登记分配与座位占用表:用于在系统使用前或者系统使用中对航班的飞机座位等级进行设定,并在售票时自动标记占用符号。密码表:用于对系统权限的管理和认证。 各数据表的逻辑结构定义如下:1. 航班信息数据表的逻辑结构定义 在“航班信息数据表”中定义“航班号”字段为主索引字段,用于与“乘客信息数据表”建立关联的关键字段。同时,定义其他几个字段为普通索引字段,这样便于建立查询。表的逻辑结构如下所示:表3-1 航班信息数据表字段名称 字段类型 字段大小 小数位数 索引 是否可为空航班号 字符型 16 主索引 NO发出城市 字符型 10 普通索引 NO到达城市 字符型 10 普通索引 NO发出时间 字符型 10 普通索引 NO到达时间 字符型 10 普通索引 NO2.乘客信息数据表的逻辑结构定义乘客管理是航班管理中一个很重要的方面,首先需要对乘客进行记录,乘客信息是相对于一个具体航班的,因此在系统开发中需要建立数据关联。根据这些特点,设计“乘客信息表”的逻辑结构定义如下所示: 表3-2 乘客信息表字段名称 字段类型 字段大小 小数位数 索引 是否可为空航班号 字符型 16 普通索引 NO座位号 字符型 19 NO飞行日期 字符型 12 NO订购票人 字符型 10 NO身份证号 字符型 18 关键索引 NO座位等级 字符型 4 NO票价 字符型 默认 NO注意:不同的航班可能存在相同的座位号,在录入表数据的时候座位号之前要标上航班号,这样可以区别不同的航班座位号,数据就不会重复。在设计中,将“飞行日期”定义为字符型而不是日期型;为“航班号”定义普通索引,这样便于与“航班信息数据表”中的“航班号”建立相应关联;将“身份证号”定义为关键索引,因为每一乘客的身份证号都是唯一的。3.航班座位等级分配与座位占用表的逻辑结构定义在订票、售票时,乘客需要指定相关的座位等级,系统为他分配一个座位,在该座位售出之后,需要为座位标上“占用”的标记。根据这些特点,创建“航班座位等级分配与座位占用表”的逻辑结构如下: 表3-3航班座位等级分配与座位占用表的逻辑结构 字段名称 字段类型 字段大小 小数位数 索引 是否可为空 航班号 字符型 16 普通索引 NO 座位号 字符型 19 关键索引 NO座位等级 字符型 4 NO票价 货币型 默认 1 NO航班号 字符型 1 Yes其中,“占用标记”字段允许为空,以为在该座位未售出之前,它无占用标记。4.“密码表”的逻辑结构 “密码表”的结构比较简单,主要是用于对用户名称与用户密码进行记录和编辑修改,因此定义“密码表”的结构如下: 表3-4密码表的逻辑结构 字段名称 字段类型 字段大小 索引 是否可为空 用户姓名 字符型 10 普通索引 NO 用户密码 字符型 6 关键索引 NO 3.4数据库物理结构设计 1.结合以上所述的逻辑结构,首先创建“航空管理数据库”用于对系统的整个数据表进行管理。具体设计步骤属于Visual FoxPro 6.0的基本操作,这里不再详细叙述. 2.在“航空管理数据库”中参照逻辑结构创建“航班信息数据表”、“乘客信息数据表”、“航班座位等级分配与座位占用表”和“密码表”。具体设计步骤属于Visual FoxPro 6.0的基本操作,不再详细叙述.3.5本章小结本章主要说明了航班管理系统数据库的设计以及实现各个阶段的具体第四章 系统设计4.1系统设计流程 系统的主要设计流程如下图4-1所示:需求分析概要设计详细设计编写代码系统测试 图4-1系统设计流程图其中需求分析在前面第二章已经详细介绍。4.2概要设计概要设计部分主要是对航空管理系统有一个大概的设计介绍,主要包括如下内容:开发与设计的整体思想、系统的组织结构、各个模块功能等。这在第二章有详细介绍,这里不再赘述。4.3系统详细设计 系统的流程主要分为用户登录操作和业务操作两部分。用户登录操作主要是对用户的帐号(包括用户名和密码)进行身份验证,通过验证操作界面。未通过的给出错误提示。系统的流程图如下4-2所示: 重新登录1可以对管理系统中的所有信息,进行添加、修改、删除和查询2管理所有用户帐号3系统数据备份3系统数据备份每次验证用户权限启动程序用户登录验证失败图4-2系统流程图 按照以上分析,首先创建项目文件,建立系统数据库,并建立数据表,设计表结构录入数据;然后加入各个表单以及数据,并添加各个表单以及表单上控件的实现代码,具体代码见附录1和附录2;完成后运行应用程序,更正所有可能的错误之后进行连编。4.4系统测试 系统完成之后曾在不同机器上测试,运行正常.因条件限制,还没有在实际中运用.4.5本章小结 本章在前面几章的基础上对系统的实现过程作了进一步说明。总结本系统设计思路清晰,针对性强,界面友好,易于操作,功能实用而细致。特色之处在于系统可以实现数据自动备份。系统中凡是比较重要的功能都要首先进行权限认证,比较严密,比如退票操作,比如数据清理操作等。本系统还有许多不足之处,比如退票环节,还可以进一步细化,与办理退票手续想结合,以提高效率,增强系统实用性。由于时间以及水平限制,没有实现。从另一方面看,系统的可扩展性较强。另一个不足之处在于登陆之后子功能(比如退票)在进行权限认证时要求输入的密码只要是密码表里的任何一个就行,可以考虑将之改为验证与开始登陆系统时的一致,这样会更严密一点。附录1主程序代码 1.主程序HIDE WINDOW SCREENset path to e:vf课程设计案例航班售票管理系统FORMSDO FORM 软件封面设计.scxset path to e:vf课程设计案例航班售票管理系统PROGSDO 系统环境参数设置.PRGread eventsclose allquit2.环境参数设置SET SYSMENU OFFSET SYSMENU TOSET TALK OFFSET NOTIFY OFFSET CLOCK STATUSSET PALETTE OFFSET BELL ONSET SAFETY OFFSET ESCAPE ONSET KEYCOMP TO WINDOWSSET CARRY ONSET CONFIRM ONSET EXACT ONSET NEAR ONSET ANSI OFFSET LOCK ONSET EXCLUSIVE OFFSET MULTILOCKS ONSET DELETED ONSET OPTIMIZE ONSET REFRESH TO 0,5SET ODOMETER TO 100SET RESOURCE ONSET CENTURY onSET CURRENCY LEFTSET CURRENCY TO ¥SET HOURS TO 12SET FDOW TO 1SET FWEEK TO 1SET MARK TO .SET SEPARATOR TO ,SET POINT TO .附录2 各表单代码1.系统封面表单(1)系统登录.clickrelease a,b,c,d,e,f,g,hset path to e:vf课程设计案例航班售票管理系统FORMSdo form 权限认证表单.scxrelease thisform(2)退出.clickthisform.release*quit2.权限认证表单(1)确认权限.clicklocate all for alltrim(密码表.用户姓名)=alltrim(thisform.Combo1.value)if found()if alltrim(thisform.text1.value)=alltrim(密码表.用户密码) thisform.release do form e:vf课程设计案例航班售票管理系统FORMS系统主表单.SCXelse thisform.Spinner1.value=thisform.Spinner1.value+1 if thisform.Spinner1.value=3 messagebox(口令不正确!+chr(13)+对不起,你无权使用!,48,登录信息) release thisform else messagebox(口令不正确!请重新输入!,48,登录信息) thisform.Combo1.setfocus thisform.text1.value= thisform.refresh endif endifendif (2)返回.clickthisform.release3.系统主表单(1)乘客订票购票表单.clickset path to e:vf课程设计案例航班售票管理系统FORMSdo form 乘客订票购票表单.SCX(2)乘客查询与退票表单.clickset path to e:vf课程设计案例航班售票管理系统FORMSdo form 乘客查询与退票表单.SCX(3)飞行时刻查询表单.clickset path to e:vf课程设计案例航班售票管理系统FORMSdo form 飞行时刻查询表单.scx(4)系统维护选择表单.clickset path to e;vf课程设计案例航班售票管理系统FORMSdo form 系统维护选择表单.SCX(5)航班售票收入统计.clickset path to e;vf课程设计案例航班售票管理系统FORMSdo form 航班售票收入统计表单.SCX(6)结束操作.clickmessagebox(真的要退出吗?,0+4+0,)t=messagebox(真的要退出吗?,0+4+0,)if t=6 thisform.release quitendif 4.售票订票窗口.(1)前一航班.clicksele 航班信息数据表if recno()1skip -1thisform.refreshelsemessagebox(已经为第一个航班号记录!)endif(2)下一航班.clicksele 航班信息数据表if not eof() skip thisform.refreshelse messagebox(已经是最后一个航班的记录!)endif(3)新乘客订票.clicksele 乘客信息数据表 if this.caption=新乘客订票 this.caption=保存新乘客记录 this.parent.parent.tag=str(recno() this.parent.parent.grid1.setfocus append blank else this.caption=新乘客订票 mand2.caption=修改订票记录 endifsele 航班座位等级分配与座位占用表locate all for alltrim(航班座位等级分配与座位占用表.座号)=alltrim(thisform.grid1.Column2.Text1.value) this.parent.parent.text1.value=* this.parent.parent.refresh (4).修改订票记录.click if this.caption=修改订票记录 this.caption=取消修改 mand1.caption=保存修改 this.parent.parent.tag=str(recno() else this.caption=修改订票记录 mand1.caption=新乘客订票 tablerevert() this.parent.parent.refresh endif go val(this.parent.parent.tag) this.parent.parent.refresh (5).备份数据.click sele 乘客信息数据表 copy to e:vf课程设计案例航班售票管理系统DATAtemp5.6.乘客查询与退票(1)确认密码.click sele 密码表 locate all for alltrim(密码表.用户密码)=alltrim(thisform.text1.value) if found() thisform.grid1.readonly=.f. thisform.Cmand3.enabled=.t. else messagebox(对不起,你不是合法用户,不能退票) endif (2)查找乘客.click thisform.grid1.setfocus locate all for alltrim(乘客信息数据表.身份证号)=alltrim(this.parent.parent.text2.value) if found() y=recno() go y messagebox(乘客已经找到,提示乘客先办理完相关手续,否则不能退票!) else messagebox(未找到该乘客,请确认!) endif确认退票.click locate all for alltrim(乘客信息数据表.身份证号)=alltrim(this.parent.parent.text2.value) if found() if messagebox(当前乘客确实要退票吗?!,32+4+256,开户确认)=6 y=recno() go y this.parent.parent.refresh sele 航班座位等级分配与座位占用表 locate all for alltrim(航班座位等级分配与座位占用表.座位号)=alltrim(this.parent.parent.text3.value) x=recno() go x this.parent.parent.text4.value= release x sele 乘客信息数据表 this.tag=this.parent.parent.grid1.RecordSource delete next 1 pack this.parent.parent.grid1.RecordSource=this.tag release y thisform.refresh else messagebox(该乘客未退票,座位仍被占用!) thisform.refresh endif else messagebox(对不起,该乘客未找到,请确认身份证号码!) endif6.飞行时刻查询窗口(1)执行查询.clicksele 航班信息数据表 do case case thisform.Optiongroup1.value=1 set filter to 航班号=alltrim(thisform.text1.value) thisform.refresh case thisform.Optiongroup1.value=2 set filter to 发出城市=alltrim(thisform.text1.value) thisform.refresh case thisform.Optiongroup1.value=3 set filter to 到达城市=alltrim(thisform.text1.value) thisform.refresh case thisform.Optiongroup1.value=4 set filter to 发出时间=alltrim(thisform.text1.value) thisform.refresh case thisform.Optiongroup1.value=5 set filter to 到达时间=alltrim(thisform.text1.value) thisform.refresh endcase(2).取消查询click sele 航班信息数据表 set filter to thisform.refresh7.收入统计(1)执行统计.click sele temp set talk off do case case thisform.Optiongroup1.value=1 set
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年2030年人工智能伦理问题研究题库
- 2026年城市数字大脑建设运营规范题库
- 2026年事业单位津贴补贴管理问答
- 2026年精神文明建设面试题目及答案
- 2026年高新技术企业认定复审优惠题库
- 2026年个人金融信息保护技术规范与信息分类及保护及生命周期考核
- 2026年街道志愿服务时长记录制度题
- 2026年机关干部档案法应知应会知识测试题库
- 二年级线上作业总结(15篇)
- 二年级数学4篇
- 22G101三维立体彩色图集
- 第九届全国大学生化学实验邀请赛笔试试题
- 水利工程施工完整危险源辨识及评价
- 高速公路改扩建工程监理实施细则
- 亚洲史越南史大南实录正编列传初集8
- 蛋白质高级结构性质及分离纯化
- 金蝶kis专业版操作手册V2.0
- 五郎河流域特性分析
- 第08章-电解质溶液
- RB/T 040-2020病原微生物实验室生物安全风险管理指南
- GA/T 974.87-2015消防信息代码第87部分:灭火剂种类代码
评论
0/150
提交评论