1、_数据库设计与开发课程设计报告航空订票系统学院: 班级: 学号: 姓名: 完成时间: 目录一.需求分析.11.引言.12.项目概述.13.需求规定.24.运行环境规定.4二.系统结构数据设计.5三.视图设计.8 1.E-R图.82.关系模式.93.数据流程图.10四.逻辑结构设计.111.数据表描述.112.程序描述.123.功能描述.13五.系统设计.191.系统功能分析.192.系统功能模块设计.19六.项目总结.201.本项目设计的优点.202.项目实现流程.203.心得体会.20精品资料_一、需求分析1.引言 编写本套航空订票系统的软件规格说明书的目的在于根据软件需求说明书中的任务概述
2、,需求规定等规划设计出一套可执行软件的结构模型。 1.1编写目的 (1)便于用户、分析人员和软件设计人员进行理解和交流 (2)希望系统的外部项(旅客、旅行社、航空公司)均支持目标软件系统的确认。根据需求规格说明书中确立的可测试标准进行测试,并得到确认。 (3)控制系统进化过程1.2项目背景 随着社会的发展,人民生活水平的不断提高,人们出行的交通工具也跟随社会的发展而发展起来了。乘飞机出行的人越来越多。所以这方面的市场非常大。所以“机票预订系统”的开发是势在必行。经过对各方面人士对该系统功能的意见的调查,我们在此基础上确定了旅客与各航空公司所需要的“机票预订系统”。同时我们会不断更新该系统的功能
3、来满足不断发展的市场需求。1.3项目描述 为各旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入到该系统,系统为旅客安排航班。当旅客交付了预定金后,系统印出取票通知和帐单交款取票,系统核对无误即印出机票给旅客。此外为了航空公司能够随时掌握各航向飞机的乘载情况,而能够定期进行查询统计,以便适当调整1.4定义 软件需求:IEEE软件工程标准词汇表(1997年)中定义软件需求为: (1)用户解决问题或达到目标所需的条件或权能(Capability)。 (2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。 (3)一种反映上面(1)或
4、(2)所描述的条件或权能的文档说明同工作,以及相互之间进行有效的交流和沟通。 1.5参考资料(标准)n 中华人民共和国国家标准UDC681.3: 信息技术软件生存期过程(GB/T8566-1995)计算机软件产品开发文件编制指南(GB 856788)软件工程术语(GB/T11457-1995)n IEEE软件工程标准词汇表(1997年)2.项目概述2.1目标 该系统是要将航空订票管理系统信息化,使操作方便,且效率高。2.2用户的特点 用户其实就是航空公司。而旅行社和旅客都是向航空公司提供数据,由航空公司操作数据。即航空公司是直接用户。2.3假定与约束 对各航班班机的命名和航班号都要求与全国的各
5、大航空公司的标准要求保持一致。各航班的出发城市,抵达城市,出发时间,抵达时间,价格,座位数等信息都必须保持与标准一致。 要想修改、删除、查询等功能必须要求该用户是超级用户。3.需求规定 本套航空订票系统软件分为服务器端和客户端两部分:客户端部分由用户使用,通过B/S的方式实现,用户可使用浏览器通过互联网进行操作。服务器端软件由管理员使用,通过C/S的方式实现,管理员通过管理界面可对数据库进行操作和管理。3.1对功能的规定 功能模块:初始化模块, 系统功能模块, 打印模块, 舱位信息管理模块, 客机信息管理模块, 航线信息管理模块, 客户类型信息管理模块, 订票信息管理模块,各子系统功能定义如下
6、:3.1.1初始化模块 系统初始时,由操作系统调用,执行完毕后进入消息循环状态。3.1.2系统功能模块 接收系统功能区的相应信息,启动机票信息查询、订票管理、客户信息查询、客户类型管理、客户设置、航线信息、舱位信息、用户和密码管理。3.1.3打印模块 执行相应的操作后,打印出取票通知、账单、机票。3.1.4舱位信息管理模块 添加舱位信息、修改舱位信息、删除舱位信息。3.1.5客机信息管理模块 添加客机、修改客机、删除客机、查询客机等信息3.1.6航线信息管理模块 添加航线、修改航线、删除航线、查询航线等信息。3.1.7客户类型信息管理模块 添加客户类型、修改客户类型、删除客户类型等信息。3.1
7、.8订票信息管理模块 添加订票、修改订票、删除订票、查询剩余订票等信息。3.2人工处理过程3.2.1服务器端的人工处理数据的输入用户根据需要来输入航班、订票人、乘客等信息的具体数据,但必须保证其正确性和准确性。数据的修改用户根据需要对指定的数据进行修改,由于记录繁多,因此用户首先要输入一定的查询条件,缩小记录范围,然后再从该范围中找到指定的记录进行修改,保证修改的内容的正确性和准确性后可更新数据库的数据。数据的删除用户根据需要对指定的数据进行删除,由于记录繁多,因此用户首先要输入一定的查询条件,缩小记录范围,然后再从该范围中找到制定的记录进行删除,保证将要删除的内容的正确性和准确性后可删除掉数
8、据库中的数据。数据的查询用户根据需要查询数据库中的所有数据,用户需输入一定的查询条件,然后可按照输入的查询依据查询新数据库的数据。3.2.2客户端的人工处理注册用户必须注册才能进行订票操作,在此,用户必须填写个人的真实并准确的详细信息。查询用户通过填写一定的查询条件,可查询用户所需要的航班信息、机票信息等。订票用户可通过互联网进行订票操作,填写准确的订票信息后提交订票。3.3尚未解决的问题3.3.1客户端尚未解决的问题客户端尚未解决的问题是,如何与订票人的银行账户连接。3.3.2服务器端尚未解决的问题服务器端尚未解决的问题是,系统自动检索到过期的航班后自动将其信息删除并且要保所有与该航班关联的
9、订票人的信息和乘客的信息都删除,难点在于,如何保证数据库中的表间的一致性。3.3.3难点问题 难点问题是服务器端的程序的删除部分,因为订票人的信息关系到部分乘客的信息,必须保持数据的完整性。其次是航班信息,它关系着部分订票人的信息和乘客信息,其中还嵌套着这部分订票人当中有部分关系的乘客信息,并且同一定票人可以订购多架次航班的机票和所订购的机票的数量也不仅仅是1张,要将航班信息删除,也要保数据的完整性。3.4对性能的规定 3.4.1时间特性耍求 系统的时间性能规定要求系统的大部分操作在用户视觉延迟时间范围之内。对某些检索和其它涉及复杂计算的操作系统响应也应保持在35倍用户视觉延迟时间范围内。3.
10、4.2安全性系统安全性要求包括基于用户的系统操作权限控制、某些数据(公文)的加密保护、身份鉴别。3.4.3可用性本系统能够被所有大众所理解且认可。并能够被超级用户纠正,处理,很易适应和完善以适应新的环境。3.4.4可维护性本系统严谨的系统设计、规范的编码设计和合格的测试过程等都在某种程度上提高了系统的可维护性。在此同时,还采取了一些提高可维护性的有效方法:(1) 建立明确的软件质量目标和优先级(2) 使用了提高软件质量的技术和工具 如:模块化、结构化程序设计等技术 (3) 进行了明确的质量保证审查如:在检查点进行复审、验收检查、周期性的维护审查、对软件包进行检查。 (4) 选择了可维护性的程序
11、设计语言:PowerBuilder9.0 (5) 严格要求程序文档的书写和设计3.4.5可移植性 Visual Basic及asp编程语言的兼容性很高,在windows95/98. windowsNT. windows2000. windows XP等操作系统都可以直接运行。 3.5数据管理能力要求系统内数据保存具有持久不丢失性,数据的安全保证要能防止病毒和网络上非法用户如黑客的获取。这些可以通过对文件服务器的维护管理和各种杀毒与网络安全系统来提供保证,不属于本系统数据安全性要求范围内。3.6故障处理要求系统在系统平台(包括操作系统、数据库系统和网络环境)正常情况下不会发生严重的系统故障如系统
12、崩溃。对除此之外的系统故障应是在简单的配置和调整后及时恢复。4. 运行环境规定客户端的运行环境:Windows98以上的操作系统、IE5以上的浏览器(或其他浏览器)。服务器端的运行环境:Windows2000 Server或Windows 2000 Advanced Server、SQL Server 2000。二、 系统数据结构设计1.逻辑结构设计要点: 按照需求分析设计数据库中的字段,建立一个逻辑上的数据库的结构。2.物理结构设计要点 在数据库软件(SQL Server2000)中建立数据库,并要保证数据库最低要符合第二范式。3.数据结构与程序的关系:3.1静态数值需求支持并行操作的用户。
13、处理多条记录数据。表或文件的最小为2048字节,最大无限制。3.2精度需求 在进行提取数据库数据时,要求数据记录定位准确,在向数据库中添加数据时,要求输入数据准确。主要的精度适应系统要求,不接受违规操作。3.3时间特性需求响应时间应在人的感觉和视觉事件范围内;更新处理时间,随着应用软件的版本升级,以及网络的定期维护更新。3.4灵活性 当需求发生某些变化时,管理应用软件操作方式、数据结构、运行环境基本不会发生变化,变化只是将对应的数据库文件内的记录改变,或将过滤条件改变即可。3.5数据管理能力需求 本应用软件可管理多条记录,本应用软件基本约用1,300千字节空间,所有文件均放置在数据库中调用,查
14、询数据、文件、记录时,通过库文件名直接进行操作或通过存储过程来完成操作。4.数据库设计描述4.1数据库分析 需将数据库设计成关系模式最低符合第二范式的标准。按照需求分析,确定系统的实体。根据实体分析的结果,在数据库中应建立如下数据表:passenger_infor(乘客信息表)、destine_infor(订票人信息表)、destine_infor1(订票人信息表1)、plane_infor(航班信息表)、plane_infor1(航班信息表1)、user_infor(订票人注册信息表),其中destine_infor(订票人信息表)和destine_infor1(订票人信息表1)用来存放订票
15、人的信息, plane_infor(航班信息表)和plane_infor1(航班信息表1) 用来保存航班信息,同时各个数据表间也存在着相应的连接的关系,例如在passenger_infor(乘客信息表)中包含有订票人的身份证号码(直接购票的乘客无)、航班代码、机舱等级等相关字段用来与订票人数据表和航班信息表建立联系。4.2数据库设计说明4.2.1 passenger_infor(乘客信息表) 在此数据表中,存放的是具体乘客的详细信息,在乘客信息中包含有乘客的一些基本信息和订票人的身份证号码(如果该乘客是自己直接购买机票,就没有订票人身份证号码)、航班号、航班等级等字段与其他表相连接的字段。在该
16、信息表中包括以下字段:passenger_id(乘客身份证号码)、passenger_name(乘客姓名)、passenger_age(乘客年龄)、passenger_sex(乘客性别)、passenger_tel(乘客联系电话)、passenger_address(乘客的地址)、plane_no(所乘坐的航班号)、plane_grade(所乘坐航班的机舱等级)、destine_id(订票人的身份证号码)、catch_tic_date(取票日期)等字段。4.2.1 destine_infor(订票人信息表) 在此数据表中存放的是订票人的其他信息,如:所乘坐的航班号、所乘坐的机舱等级等信息。订票
17、人的信息表要与航班信息表有所关联。在该信息表中包含以下字段:destine_id(订票人身份证号码)、plane_no(航班号)、plane_grade(机舱等级)、destine_count(订票数量)、destine_date(定票日期)、destine_status(订票状态)、cancel_count(取消数量)、cancel_date(取消日期)、cancelstatus(取消状态)等字段。4.2.3 destine_infor1(订票人信息表1) 在此数据表中存放的是订票人的一些基本信息,如:姓名、联系电话等,以便可以方便的送票上门及与订票人取得联系。该信息表通过destine _
18、id (订票人身份证号码)字段建立起与destine_inofr数据表的标间连接。在该信息表中包含以下字段:destine_id(订票人身份证号码)、destine_name(订票人姓名)、destine_phone(订票人联系电话)、destine_email(订票人的电子邮箱地址)、destine_address(送票地址)等字段。4.2.4 plane_infor(航班信息表)在此数据表中存放的是航班的起飞与降落的地点和时间,并通过plane _no(航班号)字段建立起与plane_infor1数据表的表间连接。在该信息表中包含以下字段:plane_no(航班号)、begin_from(
19、起飞地点)、end_address(降落地点)、begin_time(起飞时间)、end_time(降落时间)等字段。4.2.5 plane_infor1(航班信息表1) 在此数据表中存放的是航班的机舱等级和机票价格,并通过plane _no(航班号)字段建立起与plane_infor数据表的表间连接。在该信息表中包含以下字段:plane_no(航班号)、plane_grade(机舱等级)、ticket_price(机票价格)等字段。三、视图设计1.E-R 图:AirPlane ER图飞机信息 ER图附加内容ER图2.程序流程图 基于SQL Server 2000:舱位等级设置客机登记客户类型
20、信息设置旅行社信息舱位信息录入客机信息录入客户类型信息录入旅行社信息录入舱位信息管理客机信息管理客户类型信息管理旅行社信息管理航线设置航线信息管理客户登记客户信息录入订票信息录入客户信息管理订票信息管理3.数据流程图: 四、逻辑结构设计1.数据表描述(共6张表):客机信息表:列名数据类型可否为空说明客机编号Int(10)NOT NULL主键客机名Char(10)NULL航线编号Int(10)NOT NULL外键服役日期CharNULL出发城市CharNULL抵达城市CharNULL出发时间TimeNULL抵达时间TimeNULL经济舱座位数intNULL头等舱座位数intNULL公务舱座位数I
21、ntNULL备注信息Char(50)NULL舱位等级信息表:列名数据类型可否为空说明舱位等级编号Int(10)NOT NULL主键舱位等级名称Char(10)NULL是否有礼品Char(1)NOT NULL外键是否有报纸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)NOT NULL主键客户类型名称Char(10)NULL折扣比例Ch
22、ar(5)NULL备注信息Char(50)NULL航线信息表:列名数据类型可否为空说明航线编号Int(10)NOT NULL主键出发城市Char(10)NULL到达城市Char(10)NULL航班日期DatetimeNOT NULL出发时间TimeNOT NULL到达时间TimeNOT NULL经济舱价格IntNULL头等舱价格IntNULL公务舱价格IntNULL备注信息Char(50)NULL订票信息表:列名数据类型可否为空说明订票编号Int(10)NOT NULL主键客户编号Char(10)NOT NULL外键航线编号Int(10)NOT NULL外键舱位等级编号Int(8)NOT NU
23、LL外键机票价格Char(5)NOT NULL结算金额Char(5)NULL头等舱价格IntNULL公务舱价格IntNULL备注信息Char(50)NULL客户信息表:列名数据类型可否为空说明客户编号int(10)NOT NULL主键客户姓名char(10)NOT NULL客户性别Char(1)NOT NULL身份证号Char(20)NOT NULL联系电话Char(5)NULL客户类型编号Int(10)NULL备注信息Char(50)NULL 2. 程序描述2.1客户端程序:本套航空订票系统软件的客户端应用程序以网页的形式编写,包括静态和动态的网页,存放在服务器中,客户使用浏览器通过互连网络
24、对网页进行访问,并完成客户端可以完成的功能。2.2服务器端程序: 本套航空订票系统软件的服务器端应用程序,使用VB编写前台控制软件,管理员通过使用该软件来进行对数据库中的数据进行管理。2.3后台数据库: 本套航空订票系统软件的后台数据库使用Microsoft SQL Server 2000来搭建后台数据库服务器,用来存放所有的数据。3.功能描述3.1客户端的主要功能3.1.1订票信息的查询功能:1)查询航班信息包括航班号、时间、地点等信息。2)查询及票价格包括起始地、抵达地、机舱等级、机票价格等信息。3.1.2网上定票功能: 1)填写订票人的详细信息其中包括:姓名、身份证号码、联系电话、送票地
25、址等信息。 2)填写订票的详细信息,其中包括: 航班编号、机舱等级、订票时间、订票数量等信息。3.2服务器端的管理软件3.2.1查询功能1)查询航班信息:输入航班代码或可以查询航班的所有详细信息。2)查询订票人的详细信息:精确查询:输入订票人身份证号码查询订票人详细信息。模糊查询:输入订票人的姓名(或订票人的姓或是年龄或是性别)查询出一系列相关的信息,然后可从小范围内找到订票人的详细信息。3)查询乘客的详细信息:精确查询:输入乘客的身份证号码查询乘客的详细信息。模糊查询:输入乘客的姓名(或乘客的姓或是年龄或是性别)查询出一系列相关的信息,然后可从小范围内找到乘客的详细信息。3.2.2录入信息功
26、能1)取票功能:根据输入的订票人身份证号验证订票人身份后,输入详细的乘客信息并进行保存。2)直接购票:直接输入乘客详细信息并保存(不通过订票人)。3)录入航班信息:录入航班的相关信息。4)订票人取消订票:保存订票人取消订票信息。3.2.3修改功能1)修改乘客信息:将查找到的乘客信息,进行修改,然后进行保存。2)修改订票人信息:将查找到的订票人的信息进行修改然后进行保存。3)修改航班信息:将查找到的航班信息进行修改后保存。3.2.4删除功能1)删除乘客信息:将查找到的乘客信息,进行删除。2)删除订票人信息:将查找到的订票人的信息进行删除。3)删除航班信息:将查找到的航班信息进行删除。3.3输入项
27、用户通过软件输入必要的信息,然后保存到数据库,所输入的信息是经过需求分析限定的内容,同时也是数据库中每个字段中存储的内容。3.4输出项本套航空订票系统软件会将所有需要浏览的数据显示在屏幕上,以便使用户能够浏览到数据库中的数据或用户想要浏览范围中的数据。3.5算法 1)将用户输入的数据,按字段保存到数据库中。2)将数据库中的数据,按字段提取到用户界面中。3)必要的去除重复项的算法。4)按条件修改、删除数据中的数据。5)保持表间数据的一致性。3.6流程逻辑3.6.1查询模块流程图 3.6.2添加模块流程图 3.6.3修改模块流程图3.6.4删除模块流程图 3.7客户端各模块的流程图3.7.1查询模
28、块的流程图3.7.2订票模块的流程图3.8接口 本套航空订票系统软件服务器端的程序是使用Visual Basic 6.0来编写完成,建立VB与数据库的连接使用了ADODB的对象来完成,每个模块中都使用了Recordset、Command、Connection的对象,因此在模块中对三者的对象进行定义(分别为:rs、cmd、cn),并且将cn连接数据库的语句写好并打开连接,在其他的模块中共同调用这三个对象来对数据库进行操作。五、系统设计1.1系统功能分析航空订票系统总体任务是实现航空订票系统的系统化,规范化以及自动化。要完成的功能主要有:l 旅客信息输入功能学生信息的查询。l 客机信息输入功能l
29、旅客信息修改、删除功能l 客机信息修改、删除功能l 信息核对功能l 信息查询功能l 打印输出功能l 旅客延误了取票时间的处理l 班机取消后的处理旅客l 临时更改机票班次的处理1.2系统功能模块设计对上述各项功能集中整理并分快得到如下系统功能模块图。六、项目总结1.本项目设计的优点:系统采用模块化程序设计的方法,便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充,维护系统具备数据库维护功能,能及时根据用户需求进行数据的添加,删除,修改等操作,能够对数据库表格进行备份系统按照实际使用情况设计视图, 界面直观可用采用 Microsoft SQL Server 2000 作为DBMS 可
30、以实现多用户大数据量并发访问2.项目实现流程:完成需求分析和系统设计完成E-R图和数据模式设计完成设计报告3.心得体会:通过这次实验,我觉得收获很多。不仅加深了我对教学系统的了解与深化以及数据库原理的了解,熟悉了数据库设计的流程,还对软件工程有了初步认识,基本掌握了需求分析的方法。同时为我以后进入社会打下了基础。通过本次设计与制作,我的实际动手能力和处理问题的能力有了明显提高。但同时也存在一些问题。由于前面需求分析不够准确,导致在进行编码后还在不断地修改需求,所以进行了不少的重复工作,延误了进度。这个航空订票系统所需的数据比较繁琐,所以在进行数据和界面的结合需要相当大的功夫,处理更多的异常。Welcome ToDownload !欢迎您的下载,资料仅供参考!