航空订票系统.docx
《航空订票系统.docx》由会员分享,可在线阅读,更多相关《航空订票系统.docx(22页珍藏版)》请在冰豆网上搜索。
![航空订票系统.docx](https://file1.bdocx.com/fileroot1/2023-4/2/5587dbc8-6276-4868-a046-e4ebaa04120f/5587dbc8-6276-4868-a046-e4ebaa04120f1.gif)
航空订票系统
《数据库设计与开发Ⅱ》课程设计报告
航空订票系统
学 院:
班 级:
学 号:
姓 名:
完成时间:
一.需求分析....................................................1
1.引言.....................................................1
2.项目概述.................................................1
3.需求规定.................................................2
4.运行环境规定.............................................4
二.系统结构数据设计............................................5
三.视图设计....................................................8
1.E-R图....................................................8
2.关系模式.................................................9
3.数据流程图...............................................10
四.逻辑结构设计................................................11
1.数据表描述................................................11
2.程序描述..................................................12
3.功能描述..................................................13
五.系统设计....................................................19
1.系统功能分析..............................................19
2.系统功能模块设计..........................................19
六.项目总结.....................................................20
1.本项目设计的优点..........................................20
2.项目实现流程..............................................20
3.心得体会..................................................20
一、需求分析
1.引言
编写本套航空订票系统的《软件规格说明书》的目的在于根据软件需求说明书中的任务概述,需求规定等规划设计出一套可执行软件的结构模型。
1.1编写目的
(1)便于用户、分析人员和软件设计人员进行理解和交流
(2)希望系统的外部项(旅客、旅行社、航空公司)均支持目标软件系统的确认。
根据需求规格说明书中确立的可测试标准进行测试,并得到确认。
(3)控制系统进化过程
1.2项目背景
随着社会的发展,人民生活水平的不断提高,人们出行的交通工具也跟随社会的发展而发展起来了。
乘飞机出行的人越来越多。
所以这方面的市场非常大。
所以“机票预订系统”的开发是势在必行。
经过对各方面人士对该系统功能的意见的调查,我们在此基础上确定了旅客与各航空公司所需要的“机票预订系统”。
同时我们会不断更新该系统的功能来满足不断发展的市场需求。
1.3项目描述
为各旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入到该系统,系统为旅客安排航班。
当旅客交付了预定金后,系统印出取票通知和帐单交款取票,系统核对无误即印出机票给旅客。
此外为了航空公司能够随时掌握各航向飞机的乘载情况,而能够定期进行查询统计,以便适当调整
1.4定义
软件需求:
IEEE软件工程标准词汇表(1997年)中定义软件需求为:
(1)用户解决问题或达到目标所需的条件或权能(Capability)。
(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。
(3)一种反映上面
(1)或
(2)所描述的条件或权能的文档说明同工作,以及相互之间进行有效的交流和沟通。
1.5参考资料(标准)
⏹中华人民共和国国家标准UDC681.3:
《信息技术软件生存期过程》(GB/T8566-1995)
《计算机软件产品开发文件编制指南》(GB8567-88)
《软件工程术语》(GB/T11457-1995)
⏹IEEE软件工程标准词汇表(1997年)
2.项目概述
2.1目标
该系统是要将航空订票管理系统信息化,使操作方便,且效率高。
2.2用户的特点
用户其实就是航空公司。
而旅行社和旅客都是向航空公司提供数据,由航空公司操作数据。
即航空公司是直接用户。
2.3假定与约束
对各航班班机的命名和航班号都要求与全国的各大航空公司的标准要求保持一致。
各航班的出发城市,抵达城市,出发时间,抵达时间,价格,座位数等信息都必须保持与标准一致。
要想修改、删除、查询等功能必须要求该用户是超级用户。
3.需求规定
本套航空订票系统软件分为服务器端和客户端两部分:
客户端部分由用户使用,通过B/S的方式实现,用户可使用浏览器通过互联网进行操作。
服务器端软件由管理员使用,通过C/S的方式实现,管理员通过管理界面可对数据库进行操作和管理。
3.1对功能的规定
功能模块:
初始化模块,系统功能模块,打印模块,舱位信息管理模块,客机信息管理模块,航线信息管理模块,客户类型信息管理模块,订票信息管理模块,各子系统功能定义如下:
3.1.1初始化模块
系统初始时,由操作系统调用,执行完毕后进入消息循环状态。
3.1.2系统功能模块
接收系统功能区的相应信息,启动机票信息查询、订票管理、客户信息查询、客户类型管理、客户设置、航线信息、舱位信息、用户和密码管理。
3.1.3打印模块
执行相应的操作后,打印出取票通知、账单、机票。
3.1.4舱位信息管理模块
添加舱位信息、修改舱位信息、删除舱位信息。
3.1.5客机信息管理模块
添加客机、修改客机、删除客机、查询客机等信息
3.1.6航线信息管理模块
添加航线、修改航线、删除航线、查询航线等信息。
3.1.7客户类型信息管理模块
添加客户类型、修改客户类型、删除客户类型等信息。
3.1.8订票信息管理模块
添加订票、修改订票、删除订票、查询剩余订票等信息。
3.2人工处理过程
3.2.1服务器端的人工处理
①数据的输入
用户根据需要来输入航班、订票人、乘客等信息的具体数据,但必须保证其正确性和准确性。
②数据的修改
用户根据需要对指定的数据进行修改,由于记录繁多,因此用户首先要输入一定的查询条件,缩小记录范围,然后再从该范围中找到指定的记录进行修改,保证修改的内容的正确性和准确性后可更新数据库的数据。
③数据的删除
用户根据需要对指定的数据进行删除,由于记录繁多,因此用户首先要输入一定的查询条件,缩小记录范围,然后再从该范围中找到制定的记录进行删除,保证将要删除的内容的正确性和准确性后可删除掉数据库中的数据。
④数据的查询
用户根据需要查询数据库中的所有数据,用户需输入一定的查询条件,然后可按照输入的查询依据查询新数据库的数据。
3.2.2客户端的人工处理
①注册
用户必须注册才能进行订票操作,在此,用户必须填写个人的真实并准确的详细信息。
②查询
用户通过填写一定的查询条件,可查询用户所需要的航班信息、机票信息等。
③订票
用户可通过互联网进行订票操作,填写准确的订票信息后提交订票。
3.3尚未解决的问题
3.3.1客户端尚未解决的问题
客户端尚未解决的问题是,如何与订票人的银行账户连接。
3.3.2服务器端尚未解决的问题
服务器端尚未解决的问题是,系统自动检索到过期的航班后自动将其信息删除并且要保所有与该航班关联的订票人的信息和乘客的信息都删除,难点在于,如何保证数据库中的表间的一致性。
3.3.3难点问题
难点问题是服务器端的程序的删除部分,因为订票人的信息关系到部分乘客的信息,必须保持数据的完整性。
其次是航班信息,它关系着部分订票人的信息和乘客信息,其中还嵌套着这部分订票人当中有部分关系的乘客信息,并且同一定票人可以订购多架次航班的机票和所订购的机票的数量也不仅仅是1张,要将航班信息删除,也要保数据的完整性。
3.4对性能的规定
3.4.1时间特性耍求
系统的时间性能规定要求系统的大部分操作在用户视觉延迟时间范围之内。
对某些检索和其它涉及复杂计算的操作系统响应也应保持在3-5倍用户视觉延迟时间范围内。
3.4.2安全性
系统安全性要求包括基于用户的系统操作权限控制、某些数据(公文)的加密保护、身份鉴别。
3.4.3可用性
本系统能够被所有大众所理解且认可。
并能够被超级用户纠正,处理,很易适应和完善以适应新的环境。
3.4.4可维护性
本系统严谨的系统设计、规范的编码设计和合格的测试过程等都在某种程度上提高了系统的可维护性。
在此同时,还采取了一些提高可维护性的有效方法:
(1)建立明确的软件质量目标和优先级
(2)使用了提高软件质量的技术和工具
如:
模块化、结构化程序设计等技术
(3)进行了明确的质量保证审查
如:
在检查点进行复审、验收检查、周期性的维护审查、对软件包进行检查。
(4)选择了可维护性的程序设计语言:
PowerBuilder9.0
(5)严格要求程序文档的书写和设计
3.4.5可移植性
VisualBasic及asp编程语言的兼容性很高,在windows95/98.windowsNT.windows2000.windowsXP等操作系统都可以直接运行。
3.5数据管理能力要求
系统内数据保存具有持久不丢失性,数据的安全保证要能防止病毒和网络上非法用户如黑客的获取。
这些可以通过对文件服务器的维护管理和各种杀毒与网络安全系统来提供保证,不属于本系统数据安全性要求范围内。
3.6故障处理要求
系统在系统平台(包括操作系统、数据库系统和网络环境)正常情况下不会发生严重的系统故障如系统崩溃。
对除此之外的系统故障应是在简单的配置和调整后及时恢复。
4.运行环境规定
客户端的运行环境:
Windows98以上的操作系统、IE5以上的浏览器(或其他浏览器)。
服务器端的运行环境:
Windows2000Server或Windows2000AdvancedServer、SQLServer2000。
2、系统数据结构设计
1.逻辑结构设计要点:
按照需求分析设计数据库中的字段,建立一个逻辑上的数据库的结构。
2.物理结构设计要点
在数据库软件(SQLServer2000)中建立数据库,并要保证数据库最低要符合第二范式。
3.数据结构与程序的关系:
3.1静态数值需求
①支持并行操作的用户。
②处理多条记录数据。
③表或文件的最小为2048字节,最大无限制。
3.2精度需求
在进行提取数据库数据时,要求数据记录定位准确,在向数据库中添加数据时,要求输入数据准确。
主要的精度适应系统要求,不接受违规操作。
3.3时间特性需求
①响应时间应在人的感觉和视觉事件范围内;
②更新处理时间,随着应用软件的版本升级,以及网络的定期维护更新。
3.4灵活性
当需求发生某些变化时,管理应用软件操作方式、数据结构、运行环境基本不会发生变化,变化只是将对应的数据库文件内的记录改变,或将过滤条件改变即可。
3.5数据管理能力需求
本应用软件可管理多条记录,本应用软件基本约用1,300千字节空间,所有文件均放置在数据库中调用,查询数据、文件、记录时,通过库文件名直接进行操作或通过存储过程来完成操作。
4.数据库设计描述
4.1数据库分析
需将数据库设计成关系模式最低符合第二范式的标准。
按照需求分析,确定系统的实体。
根据实体分析的结果,在数据库中应建立如下数据表:
passenger_infor(乘客信息表)、destine_infor(订票人信息表)、destine_infor1(订票人信息表1)、plane_infor(航班信息表)、plane_infor1(航班信息表1)、user_infor(订票人注册信息表),其中destine_infor(订票人信息表)和destine_infor1(订票人信息表1)用来存放订票人的信息,plane_infor(航班信息表)和plane_infor1(航班信息表1)用来保存航班信息,同时各个数据表间也存在着相应的连接的关系,例如在passenger_infor(乘客信息表)中包含有订票人的身份证号码(直接购票的乘客无)、航班代码、机舱等级等相关字段用来与订票人数据表和航班信息表建立联系。
4.2数据库设计说明
4.2.1passenger_infor(乘客信息表)
在此数据表中,存放的是具体乘客的详细信息,在乘客信息中包含有乘客的一些基本信息和订票人的身份证号码(如果该乘客是自己直接购买机票,就没有订票人身份证号码)、航班号、航班等级等字段与其他表相连接的字段。
在该信息表中包括以下字段:
passenger_id(乘客身份证号码)、passenger_name(乘客姓名)、passenger_age(乘客年龄)、passenger_sex(乘客性别)、passenger_tel(乘客联系电话)、passenger_address(乘客的地址)、plane_no(所乘坐的航班号)、plane_grade(所乘坐航班的机舱等级)、destine_id(订票人的身份证号码)、catch_tic_date(取票日期)等字段。
4.2.1destine_infor(订票人信息表)
在此数据表中存放的是订票人的其他信息,如:
所乘坐的航班号、所乘坐的机舱等级等信息。
订票人的信息表要与航班信息表有所关联。
在该信息表中包含以下字段:
destine_id(订票人身份证号码)、plane_no(航班号)、plane_grade(机舱等级)、destine_count(订票数量)、destine_date(定票日期)、destine_status(订票状态)、cancel_count(取消数量)、cancel_date(取消日期)、cancelstatus(取消状态)等字段。
4.2.3destine_infor1(订票人信息表1)
在此数据表中存放的是订票人的一些基本信息,如:
姓名、联系电话等,以便可以方便的送票上门及与订票人取得联系。
该信息表通过destine_id(订票人身份证号码)字段建立起与destine_inofr数据表的标间连接。
在该信息表中包含以下字段:
destine_id(订票人身份证号码)、destine_name(订票人姓名)、destine_phone(订票人联系电话)、destine_email(订票人的电子邮箱地址)、destine_address(送票地址)等字段。
4.2.4plane_infor(航班信息表)
在此数据表中存放的是航班的起飞与降落的地点和时间,并通过plane_no(航班号)字段建立起与plane_infor1数据表的表间连接。
在该信息表中包含以下字段:
plane_no(航班号)、begin_from(起飞地点)、end_address(降落地点)、begin_time(起飞时间)、end_time(降落时间)等字段。
4.2.5plane_infor1(航班信息表1)
在此数据表中存放的是航班的机舱等级和机票价格,并通过plane_no(航班号)字段建立起与plane_infor数据表的表间连接。
在该信息表中包含以下字段:
plane_no(航班号)、plane_grade(机舱等级)、ticket_price(机票价格)等字段。
三、视图设计
1.E-R图:
AirPlaneER图
飞机信息ER图
附加内容ER图
2.程序流程图基于SQLServer2000:
3.数据流程图:
四、逻辑结构设计
1.数据表描述(共6张表):
客机信息表:
列名
数据类型
可否为空
说明
客机编号
Int(10)
NOTNULL
主键
客机名
Char(10)
NULL
航线编号
Int(10)
NOTNULL
外键
服役日期
Char
NULL
出发城市
Char
NULL
抵达城市
Char
NULL
出发时间
Time
NULL
抵达时间
Time
NULL
经济舱座位数
int
NULL
头等舱座位数
int
NULL
公务舱座位数
Int
NULL
备注信息
Char(50)
NULL
舱位等级信息表:
列名
数据类型
可否为空
说明
舱位等级编号
Int(10)
NOTNULL
主键
舱位等级名称
Char(10)
NULL
是否有礼品
Char
(1)
NOTNULL
外键
是否有报纸
Char
(1)
NULL
是否有饮料
Char
(1)
NULL
是否有午餐
Char
(1)
NULL
是否有电影
Char
(1)
NULL
是否可改签
Char
(1)
NULL
是否可退票
Char
(1)
NULL
是否可打折
Char
(1)
NULL
备注信息
Char(50)
NULL
客户类型信息表:
列名
数据类型
可否为空
说明
客户类型编号
Int(10)
NOTNULL
主键
客户类型名称
Char(10)
NULL
折扣比例
Char(5)
NULL
备注信息
Char(50)
NULL
航线信息表:
列名
数据类型
可否为空
说明
航线编号
Int(10)
NOTNULL
主键
出发城市
Char(10)
NULL
到达城市
Char(10)
NULL
航班日期
Datetime
NOTNULL
出发时间
Time
NOTNULL
到达时间
Time
NOTNULL
经济舱价格
Int
NULL
头等舱价格
Int
NULL
公务舱价格
Int
NULL
备注信息
Char(50)
NULL
订票信息表:
列名
数据类型
可否为空
说明
订票编号
Int(10)
NOTNULL
主键
客户编号
Char(10)
NOTNULL
外键
航线编号
Int(10)
NOTNULL
外键
舱位等级编号
Int(8)
NOTNULL
外键
机票价格
Char(5)
NOTNULL
结算金额
Char(5)
NULL
头等舱价格
Int
NULL
公务舱价格
Int
NULL
备注信息
Char(50)
NULL
客户信息表:
列名
数据类型
可否为空
说明
客户编号
int(10)
NOTNULL
主键
客户姓名
char(10)
NOTNULL
客户性别
Char
(1)
NOTNULL
身份证号
Char(20)
NOTNULL
联系电话
Char(5)
NULL
客户类型编号
Int(10)
NULL
备注信息
Char(50)
NULL
2.程序描述
2.1客户端程序:
本套航空订票系统软件的客户端应用程序以网页的形式编写,包括静态和动态的网页,存放在服务器中,客户使用浏览器通过互连网络对网页进行访问,并完成客户端可以完成的功能。
2.2服务器端程序:
本套航空订票系统软件的服务器端应用程序,使用VB编写前台控制软件,管理员通过使用该软件来进行对数据库中的数据进行管理。
2.3后台数据库:
本套航空订票系统软件的后台数据库使用MicrosoftSQLServer2000来搭建后台数据库服务器,用来存放所有的数据。
3.功能描述
3.1客户端的主要功能
3.1.1订票信息的查询功能:
1)查询航班信息包括航班号、时间、地点等信息。
2)查询及票价格包括起始地、抵达地、机舱等级、机票价格等信息。
3.1.2网上定票功能:
1)填写订票人的详细信息其中包括:
姓名、身份证号码、联系电话、送票地址等信息。
2)填写订票的详细信息,其中包括:
航班编号、机舱等级、订票时间、订票数量等信息。
3.2服务器端的管理软件
3.2.1查询功能
1)查询航班信息:
输入航班代码或可以查询航班的所有详细信息。
2)查询订票人的详细信息:
精确查询:
输入订票人身份证号码查询订票人详细信息。
模糊查询:
输入订票人的姓名(或订票人的姓或是年龄或是性别)查询出一系列相关的信息,然后可从小范围内找到订票人的详细信息。
3)查询乘客的详细信息:
精确查询:
输入乘客的身份证号码查询乘客的详细信息。
模糊查询:
输入乘客的姓名(或乘客的姓或是年龄或是性别)查询出一系列相关的信息,然后可从小范围内找到乘客的详细信息。
3.2.2录入信息功能
1)取票功能:
根据输入的订票人身份证号验证订票人身份后,输入详细的乘客信息并进行保存。
2)直接购票:
直接输入乘客详细信息并保存(不通过订票人)。
3)录入航班信息:
录入航班的相关信息。
4)订票人取消订票:
保存订票人取消订票信息。
3.2.3修改功能
1)修改乘客信息:
将查找到的乘客信息,进行修改,然后进行保存。
2)修改订票人信息:
将查找到的订票人的信息进行修改然后进行保存。
3)修改航班信息:
将查找到的航班信息进行修改后保存。
3.2.4删除功能
1)删除乘客信息:
将查找到的乘客信息,进行删除。
2)删除订票人信息:
将查找到的订票人的信息进行删除。
3)删除航班信息:
将查找到的航班信息进行删除。
3.3输入项
用户通过软件输入必要的信息,然后保存到数据库,所输入的信息是经过需求分析限定的内容,同时也是数据库中每个字段中存储的内容。
3.4输出项
本套航空订票系统软件会将所有需要浏览的数据显示在屏幕上,以便使用户能够浏览到数据库中的数据或用户想要浏览范围中的数据。
3.5算法
1)将用户输入的数据,按字段保存到数据库中。
2)将数据库中的数据,按字段提取到用户界面中。
3)必要的去除重复项的算法。
4)按条件修改、删除数据中的数据。
5)保持表间数据的一致性。
3.6流程逻辑
3.6.1查询模块流程图
3.6.2添加模块流程图