当前位置:文档之家› 民航票务管理系统分析和设计

民航票务管理系统分析和设计

数据库原理及应用课程设计任务书指导教师(签章):2008 年 1 月 3 日计算机工程系数据库原理及应用课程设计报告选题名称:民航票务管理系统系(院):计算机工程系专业:计算机科学与技术(信息安全方向)班级:信息 1 0 5 1姓名:高博学号: 1051303116指导教师:冯万利王红艳学年学期:2007 ~ 2008 学年第 1 学期2008 年 1 月 3 日摘要:随着信息技术在管理上越来越深入而广泛的应用以及信息的不断海量化,在很多行业对信息的管理不得不依赖计算机,而不是使用比较原始的纯人力管理方法。

在当今,各行各业都有很多计算机管理的系统,特别是民航方面,每天,有上千万的人次订票、买票或者乘坐飞机,如果采取传统的人工售票或登记的方式会大大影响机场运作的效率,并且也无法避免一些人为的错误。

所以一个好的票务管理系统由为重要,特别是现在很多人喜欢提前订票或上网订票,自然,好的票务管理系统不仅需要快捷方便的操作、优秀的保存和统计功能、还要应付大容量数据的快速查找和保存及应付长时间的工作需要,必须保证系统的稳定性和安全性,更重要的是,安全的票务管理系统不仅需要有能够防护各种病毒和黑客恶意攻击的能,还需要有能够应付突发状况的能力,比如突然断电之后,系统的售票信息和当前正在进行的进程、操作应该怎么处理,或者,系统突然死机之后,所有数据又应该怎样处理等等。

这些问题都是我们在实际生活中经常会遇到的,所以,能不能解决上述问题就成了评价一个好的票务管理系统的主要依据。

而这次的课程设计则是根据票务管理系统中的最主要的功能,结合数据库中所学的知识,来实现一个简单的民航票务管理系统,供学习和研究之用!关键词:民航票务管理系统;数据库;查询;修改;目录1 需求分析 (1)2 数据库的概念设计 (2)3数据库的逻辑设计 (5)4 数据库的物理设计 (8)5 应用程序设计 (10)6 编程实现 (11)总结与体会 (19)致谢 (20)参考文献 (21)数据库原理及应用课程设计报告1 需求分析1系统目标:实现一个计算机民航票务系统,完成对航班的管理、机票管理以及登机牌的管理等功能。

2系统功能需求:本系统的用户分为管理员和普通用户两类,管理员主要负责对航班进行管理,包括航班的增加、修改和删除。

主要为管理者增添航线时使用。

而普通用户既机场前台系统,主要进行机票的购买和退换,登机牌的发放以及航班信息的查询等功能。

(1) 功能划分:用户通过身份验证之后分别进入管理员或普通用户的主接口。

在管理员页面中,主要进行航班管理,有增加航班、修改航班和删除航班三种功能。

而普通用户的页面中主要有航班查询、订票、退票、机票查询、换登机牌和航班信息查询6种主要功能。

(2) 功能描述:航班管理在航班管理中,管理员可以对现有的所有航线的所有航班进行修改操作,同时也可以增加新的航线,或者删除已有的旧的航线,相应的操作会影响航班查询的结果。

同时在删除航班的操作中应注意,如果需要删除的航班已经有票售出便无法删除。

航班查询航班查询是普通用户可以进行的操作。

在航班查询中,分为两种查询方式:按航空公司查询和按目的地查询。

顾名思义,在按航空公司查询的方式中,只要在下拉列表框中选择你需要查询的航空公司名即可查询到该航空公司的所有航线,在按目的地查询的查询方式中,只要输入目的地名称,即可查询到在一天中所有飞往该目的地的航班信息。

订票订票功能是普通用户可以进行的操作。

在订票功能中,用户只要输入目的地然后选择需要乘作的航班就可以完成订票了。

在订票的过程中,需要输入旅客的个人数据,这些数据将存入数据库中,方便以后的查询以及登机牌的发放。

退票退票功能是普通用户可以进行的操作。

在退票功能中,需要输入机票上的四位由系统产生的验证码验证之后才能进行操作。

机票查询机票查询是普通用户可以进行的操作。

机票查询可以查询到该机票的所有信息,方便旅客在购票后及时核对自己的机票。

换登机牌换登机牌是普通用户可以进行的操作。

在换登机牌的过程中,需要核对机票,然后进行座位的选择,一旦换了登机牌之后就不可以再进行退票的操作了。

换了登机牌之后,旅客就可以凭登机牌登机了。

航班信息查询航班信息查询是普通用户可以进行的操作。

航班信息查询分为两种查询,航班详细信息查询和旅客名单查询。

这里的航班详细信息查询跟航班查询是有区别的。

在详细的航班信息查询中,可以查询到包括该航班的所有机组人员的信息的航班全部信息。

在旅客名单查询中可以查询到某架次航班所有实际登机的旅客名单。

2 数据库的概念设计1系统的概念模型图1图1:民航票务系统概念模型的E/R图图1是民航票务管理系统的概念模型的E/R图,该系统涉及的实体集有:员工实体集:具有属性员工编号、员工姓名、员工性别和员工职务。

班组实体集:具有属性班组编号、班组名称、机长、副驾驶、乘务长、乘务员1、乘务员2、乘务员3、乘务员4、乘务员5和备注。

航空公司实体集:具有属性航空公司ID号和航空公司名。

飞机实体集:具有属性飞机ID号、飞机型号、头等舱座位数、商务舱座位数和经济舱座位数。

航班实体集:具有属性航班编号、航空公司ID号、起始地、目的地、时间、中转标志、中转地、头等舱价格、商务舱价格、经济舱价格、飞机ID号、班组号和登机口。

机票实体集:具有属性机票编号、验证码、日期、舱位、票价、签转标志、保险标志、旅客ID、登机牌编号、航班编号。

登机牌实体集:具有属性登机牌编号、座位号、座位编号、托运标志。

乘客实体集:具有属性乘客ID、乘客姓名、乘客性别。

一个班组中的一个岗位只有一个员工,而一个员工只能在一个班组里面,所以员工和班组之间的联系为1:1的联系。

一个航班只有一个班组工作,而一个班组可以工作于多个不同的航班中,所以班组和航班之间的联系是1:M的联系。

一个航空公司底下可以有多个航班,而一个航班只属于一个航空公司,所以航空公司和航班之间的联系是1:M的联系。

一个航班只有一架飞机,而一架飞机一次只能执行一个航班的飞行任务,所以飞机和航班之间的联系是1:1的联系。

一个登机牌只能由一张机票换到,而一张机票也只能换到一个登机牌,所以登机牌和机票之间的联系是1:1的联系。

一个航班可以形成许多张机票,而一张机票只能对应于一个航班,所以航班与机票之间的联系是1:M的联系。

一个乘客可以买许多张机票,而一张机票只属于一位乘客,所以乘客与机票之间的联系是1:M的联系。

3数据库的逻辑设计1将概念模型转换成关系模型将E/R模型转换为关系模式(1) 员工实体集可以转换为关系:STAFFINF(STAID,STANAME,STASEX,STADUTY)STAID表示员工编号,STANAME表示员工姓名,STASEX表示员工性别,STADUTY表示员工职务。

(2) 班组实体集可以转换为关系:GROUNP(GROID,GRONAME,REMARK)GROID表示班组编号,GRONAME表示班组名称,REMARK表示备注。

(3) 航空公司实体集可以转换为关系:COMPANY(COMPANYID,COMPANYNAME)COMPANYID表示航空公司编号,COMPANYNAME表示航空公司名称。

(4) 飞机实体集可以转换为关系:PLANEINF(PLANEID,PLANETYPE,F_CLASS,B_CLASS,E_CLASS)PLANEID表示飞机ID号,PLANETYPE表示飞机机型,F_CLASS表示头等舱座位数,B_CLASS表示商务舱座位数,E_CLASS表示经济舱座位数。

(5) 航班实体集可以转换为关系:FLIGHTINF(FLIGHTID,START,DESTINATION,F_TIME,TRANSFERTAG,TRANSFERPLACE,F_PRICE,B_PRICE,E_PRICE,BOARDINGGATE) FLIGHTID表示航班号,START表示起始地,DESTINATION表示目的地,F_TIME 表示起飞时间,TRANSFERTAG表示中转标志,TRANSFERPLACE标号中转地,F_PRICE表示头等舱价格,B_PRICE表示商务舱价格,E_PRICE表示经济舱价格,BOARDINGGATE表示登机门。

(6) 机票实体集可以转换为关系:TICKETS(TICKETID,V ALIDATECODE,FDATE,CLASS,FEE,CEK_TRF_MARK,INSURANCEMARK)TICKETID表示机票编号,V ALIDATECODE表示验证码,FDATE表示航班日期,CLASS表示舱位,FEE,表示价格,CEK_TRF_MARK表示签转标志,INSURANCEMARK表示保险标志。

(7) 登机牌实体集可以转换为关系:BOARDINGPASS(BOARDINGPASSID,SEATNUM,SNO,CONSIGNMARK) BOARDINGPASSID表示登机牌编号,SEATNUM表示座位号,SNO表示座位编号,CONSIGNMARK表示托运标志。

(8) 乘客实体集可以转换为关系:PASID(PASID,PASNAME,PASSEX)PASID表示乘客身份证字号即乘客ID号,PASNAME表示乘客姓名,PASSEX表示乘客性别。

(9) 员工和班组之间的联系是1:1的联系,所以没有必要为其建立一个关系,可以通过扩展班组关系来表示:GROUNP(GROID,GRONAME,CAPTAIN,VCAPTAIN,STEWARDCP,STEWARD1,STEWARD2,STEWARD3,STEWARD4,STEWARD5,REMARK)CAPTAIN表示机长,VCAPTAIN表示副驾驶,STEWARDCP表示乘务长,STEWARD1表示乘务员1,STEWARD2表示乘务员2,STEWARD3表示乘务员3,STEWARD4表示乘务员4,STEWARD5表示乘务员5。

(10) 班组和航班之间的联系是1:M的联系,所以没有必要为其建立一个关系,可以通过扩展航班关系来表示:FLIGHTINF(FLIGHTID,START,DESTINATION,F_TIME,TRANSFERTAG,TRANSFERPLACE,F_PRICE,B_PRICE,E_PRICE,GROID,BOARDINGGATE) GROID表示班组编号。

(11) 航空公司和航班之间的联系是1:M的联系,所以没有必要为其建立一个关系,可以通过扩展航班关系来表示:FLIGHTINF(FLIGHTID,FCOMPANYID,START,DESTINATION,F_TIME,TRANSFERTAG,TRANSFERPLACE,F_PRICE,B_PRICE,E_PRICE,GROID,BOARDINGGATE)FCOMPANYID表示航空公司ID号。

相关主题