飞机航班管理系统.docx
《飞机航班管理系统.docx》由会员分享,可在线阅读,更多相关《飞机航班管理系统.docx(19页珍藏版)》请在冰豆网上搜索。
飞机航班管理系统
飞机航班管理系统数据库设计
1概述(设计题目及可行性分析)
1.1设计题目
本次课程设计的题目是飞机航班管理系统设计。
根据给出初始条件建立一个管理飞机航班的数据库,能够从中查询飞机的航班情况,飞行线路,票价,折扣等等情况。
并能在数据库中更新维护飞机航班的信息,进行需求分析、概念设计、逻辑设计和物理实现,实现飞机航班数据库,并且基于该数据库实现具有一定功能的应用程序。
1.2可行性分析
对于飞机航班管理,航空公司里可能有很多飞行班次。
简单的书面管理无法满足对客户的服务需求和自身的高效运作。
该系统实现后可对航班进行科学的微机管理,也使得用户可以直接在网上享受对航班的查询,订票,退票等服务,大大提高管理效率和服务水平。
综上,飞机航班数据库是值得去现实的,下面从技术可行性、经济可行性和操作可行性3个方面进行分析:
(1)技术可行性:
及飞机航班管理数据库相类似的一些数据库,如学生学籍数据库等都早已实现,为该数据库的设计和实现提供了一定的经验。
同时市场上和数据库相关的一些技术都发展的十分成熟了,如微软开发的、甲骨文开发的、开源免费的等都可以支持不同种类数据库的开发。
因此,该数据库的设计和实现在技术上是可以行得通的;
(2)经济可行性:
该飞机航班数据库设计并且实现后,可供用户相关的航班服务,一方面可以节省部分人力资源减少对大量客户直接接待的费用,提高工作效率;另一方面也可以更为科学和合理的管理飞机航班系统,对其进行及时管理,以提高公司的服务水平。
因此,该数据库的的实现在经济上是可行的;
(3)操作可行性:
通过基于飞机航班管理数据库的相关的应用系统的实现,用户即便不是数据库方面的专业人员,只要懂得计算机相应的输入输出,在系统的提示下就可以完成对飞机航班数据库的相关的操作。
因此,具有操作可行性。
总体上来看,可以在尽可能短的时间里,以最小的代价实现飞机航班数据库及其相关的应用系统,供航空公司对其航班进行更科学的管理,使用户获得更方便的服务。
2系统目标和建设原则
2.1系统目标
飞机航班数据库的设计和实现需要航空公司根据自己的需求对本公司的飞机航班进行科学高效管理,并为用户提供方便实用的系统服务。
数据库中需要保存航班的基本信息、并对航班信息做出及时的更新和维护。
飞机航班主要包括1个记录表,此表包含航班的航班号,飞行时间,飞行路线,机票价格等信息,系统应对这些信息进行及时更新和维护。
除了这些飞机航班数据库的基本组成表之外,该数据库的设计和实现还应当便于相关的应用程序开发人员的理解相关的信息,方便的进行相关的数据库操作,尽可能的为应用系统效率的提高奠定基础。
2.2建设原则
数据库建设实质数据库应用系统从设计、实施到运行维护的全过程。
数据库建设的基本规律是“三分技术,七分管理,十二分基础数据”。
在数据库建设中,开发技术固然重要,但是管理更为重要,而且包括项目管理和企业的业务管理。
经过长期的实践,人们越来越深刻的认识到一个企业数据库设计的过程是企业管理模式的改革和提高的过程,只有把企业的管理做好才能实现技术创新,才能建设好一个数据库应用系统。
“十二分基础数据”则强调了数据的收集、整理、组织和不断更新是数据库建设中的重要环节,基础数据的手机、入库时数据库建立初期工作量最大、最繁琐、最细致的工作,在以后数据库运行过程中更需要不断的把新的数据加到数据库中,使之成为一个“活库”,具有更高的使用价值。
同时,我们还不得不在进行结构设计的同时,也注意行为设计。
数据库设计应该和应用系统设计相结合,也就是说,整个设计过程要把数据库结构设计和对数据库的处理设计密切结合起来。
3支撑环境规划
3.1网络逻辑结构
飞机航班管理系统使用结构(结构),即浏览器和服务器结构。
它是随着技术的兴起,对结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端()实现,但是主要事务逻辑在服务器端()实现,形成所谓三层3结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护及升级的成本和工作量,降低了用户的总体成本()。
以目前的技术看,局域网建立结构的网络应用,并通过模式下数据库应用,相对易于把握、成本也是较低的。
它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如,,等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
特别是在这样的跨平台下,架构管理软件更是方便、快捷、高效。
图1体系的网络结构
3.2软件支撑环境及开发工具
飞机航班数据库及其相应的应用系统的设计和实现都是在操作系统下完成的。
因为使用了三层构架和设计模式,因为J2本身就是结构的平台,并且在J2中的应用就是对J2程序进行分层管理,加之自己对于J2比较熟悉,自然而然的使用了J2的一套开发工具:
(1):
即软件开发工具包,这里使用的是1.6.006版本;
(2)5.0:
一个小型关系型数据库管理系统,因其体积小、速度快、开发源代码等特点,被广泛地应用在上的中小型网站;
(3):
是业界著名的公司出品的一款简洁高效、功能强大的图形化数据库管理工具;
(4)3.3:
是一个开放源代码的、基于的可扩展开发平台,是一个框架和一组服务,用于通过插件组件构建开发环境;
(5)6.0:
软件基金会()的项目中的一个核心项目,5支持最新的2.4和2.0规范,因为。
技术先进、性能稳定,而且免费,因而深受爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的应用服务器;
(6)3.3.0:
是的一个J2的插件,它将很多应用服务器、J2组件和应用开发集成到中,可以帮助开发者使用建立、测试、部署J2应用。
4系统总体结构
4.1需求分析
4.1.1整体功能描述
飞机航班管理系统能够查询飞机的航班情况,飞行线路,票价,折扣等等情况,并能够在数据库中更新维护飞机航班的信息,对飞机航班数据库进行管理,如航班的增加,删除和修改等。
具体的功能需求如下。
航班信息管理:
(1)添加航班:
系统管理员可以在系统中增加飞机航班,在增加之前必须填写完整的飞机航班的属性。
(2)删除航班:
系统管理员可以删除系统中已经存在的航班。
(3)修改航班属性:
系统管理员可以根据航空公司实际航班更改情况修改系统数据库中已经存在的航班的属性。
(飞机航班的属性包括:
航班号,飞行时间,飞行路线,票价,实时折扣等信息。
)
航班信息查询:
(4)按航班号查询:
用户给定航班号,系统返回相应的航班号的航班信息。
(5)按飞行线路查询:
用户给定终点站,系统返回符合要求的航班信息。
(6)按同时输入的时间查询:
用户给定时间,系统返回符合要求的航班信息。
航班信息排序:
(7)按飞行时间进行排序。
(8)按航班号进行排序。
进行订票:
(9)用户查询航班完毕后,输入航班号,填写相应信息进行订购机票。
进行退票
(10)用户输入航班号,填写相应信息进行退票信息。
4.1.2总体
飞机航班数据库及其相关的应用程序的总体图描述了信息流和数据的流动过程及其经过处理后的变化情况。
用户选择相关的服务项目可以查看相关航班基本信息,并且可以根据自己需求选择相应服务,系统的信息更新时,相关的信息经过相应处理后,会存入到飞机航班数据库中的航班信息记录表中;系统管理员根据航空公司实际情况可以更新航班信息,并通过修改信息处理后被保存到飞机航班表中。
图2总体
系统维护部分使得系统管理员对基本信息进行相应修改,同时将删除,增加,或修给的结果保存在飞机航班信息表中,以使得统中的信息及时得到更新,便于应用。
图3系统信息维护的
顾客服务的部分使得顾客可以查询所需要的航班情况,可以对所需要乘坐的航班进行订票,并能对已订机票进行退订,系统对用户的服务请求做出相应信息反馈来满足用户的需求。
并在订票退票后及时更新系统信息。
图4客户查询信息的
4.1.3数据字典
名字
航班号
别名
无
描述
确定唯一的航班
定义
航班=航班号+飞行时间+飞行线路+票价+实时折扣
位置
系统数据库信息
名字
航班号
别名
无
描述
确定唯一的航班
定义
航班=航班号+飞行时间+飞行线路+票价+实时折扣
位置
系统数据库信息
名字
航班信息管理
别名
无
描述
描述对航班信息的修改
定义
航班信息管理={添加航班/删除航班/修改航班属性}
位置
系统数据库信息
名字
票价
别名
无
描述
购买航班机票所需费用
定义
票价=购买航班机票所需费用
位置
系统数据库信息
名字
飞行时间
别名
无
描述
描述航班起飞及到达时间
定义
飞行时间=起飞时间+到达时间
位置
系统数据库信息
名字
飞行线路
别名
无
描述
描述航班飞行过程停航地点以及目的地
定义
飞行线路=中途靠航地点+目的地
位置
系统数据库信息
名字
订票
别名
无
描述
描述用户对所需乘坐航班进行预订
定义
订票=用户基本信息+航班号+定金
位置
系统数据库信息
名字
退票
别名
无
描述
描述用户所订机票进行退订
定义
退票=用户基本信息+航班号
位置
系统数据库信息
名字
用户基本信息
别名
无
描述
唯一确定一个用户的属性
定义
用户基本信息=姓名+性别+住址+身份证号
位置
系统数据库信息
名字
查询方式
别名
无
描述
描述用户根据需求以相应信息对航班进行查询
定义
查询方式={按航班号查询|按飞行线路查询|按时间查询}
位置
系统数据库信息
表1数据字典
4.2功能结构
飞机航班数据库及其应用系统所涉及到的用户主要有顾客和系统管理员2类,因此也将该系统分为2个相应的大的功能模块。
顾客可以通过服务项目选择查询相关航班情况,进行订票,退订等服务项目。
,系统会将数据库中相应信息反馈给顾客。
系统管理员负责管系统信息的及时更新,可以根据航空公司航班的具体的情况更新数据库。
图6功能结构图
4.3概念设计(图)
概念模型可以看成是现实世界到机器世界的一个过度的中间层次。
它必须真实的反映现实世界中事物及事物之间的联系;应该容易被客户理解;随着应用环境和应用需求的改变,容易被修改和扩充;概念模型还应该容易向关系,网络和层次等各种数据模型转换。
本次课程设计主要完成飞机航班数据库设计。
在业务处理中发生查询,订票,退订等服务的联系双方是系统和客户,而系统情况是系统管理员来维护。
通过对飞机航班数据库及其应用系统的分析,并结合所得到的各层数据流图,抽象数据并设计局部视图得到分E—R图,然后是集成局部视图从而得到全局的概念视图,集合而成总体E—R图。
对于顾客来说,具有本身的一些信息和联系方式。
遵循图的设计原则,为了简化图的处置,将能作为属性对待的尽量作为属性对待。
因此,顾客实体的属性有:
、姓名、性别、地址、电话和密码等。
同理,系统管理员的属性有:
、姓名、地址和电话。
由步骤4.1中的数据流的分析可知,管理员可以维护系统、修改数据。
系统可以为不同的客户提供服务,客户也可根据自己所需服务的情况进行选择。
由此分析可得图7的图。
图7图
4.4逻辑设计
图则是由实体型、实体型的属性和实体之间的联系3个要素组成的。
图向关系模型的转换要解决的问题是如何将实体和实体型间的联系转换为关系模式,如何确定这些关系模式的属性和码。
关系模型的逻辑结构是一组关系模式的集合。
下面分别将图中的实体和关系转化为相应的关系模式:
(1)系统管理员员(管理员,姓名,性别,住址,电话,,部门,密码)该关系模式已经包含了联系——“属于”所对应的关系模式,其中部门是外码,其中对性别进行了约束,只能是男或者女;
(2)顾客(顾客,姓名,地址,电话)该关系模式是实体顾客所对应的关系模式;
(3)航班(航班号,航行线路,航行时间,票价,折扣,)该关系模式是联系“服务”所对应的关系模式,主码是航班号
(4)票价(票价,折扣)这是联系“买票”所对应的关系模式,主码是销售价格和折扣;
在设计表时,除了设置实体完整性和参照完整性外,对一些有特定要求的列,需设置一些约束条件。
如,性别只能取男女;订票和退票服务记录中服务完成情况只能是完成或者未完成;票价必须大于等于0等。
总之,要根据实际情况对对应的属性设置一些约束以防止非法数据入库。
而从数据库的安全性方面考虑,对应不同的用户群还可以设置相应的视图,以屏蔽掉一些保密数据。
4.4代码实现
4.5.1应用程序框架
查询功能用实现
4.5.2查询代码
;
;
;
;
;
;
;
;
;
/**
*:
*
*/
{
=1L;
/*()
*()
*/
(){
();
}
/*()
*(,)
*/
(,),{
}
/*()
*(,)
*/
(,),{
("2312");
="";
="<\"3C4.0\">\n";
("");
(("")("8859-1"));
(("")("8859-1"));
=();
(
"<>\n"+
"<><>""<><>\n"+
"<>\n"+
"<>\n"+
"
""<1>\n"+
"<1>\n"+
"<>\n"+
"<>航班号<>起飞时间<>起飞地址<>终点站<>票价<>到达时间<>折扣");
=("");
;
;
;
{
("")();
"";
=(,"","123");
=();
(()){
=(","+
""+
"='""''""'");
}
{
=(","+
""+
"'""'");
}
(()){
("<><>"("")+"<>"("")+
"<>"("")+"<>"("")+
"<>"("")+"<>"("")+"<>"(""));
}
}
(e){
();
}
{
(){
{();}(e){();}
}
(){
{();}(e){();}
}
(){
{();}(e){();}
}
}
}
}
4.5.3用户界面实现代码
<"3C4.01""">
<>
<>
<""";18030">
<><>
<>
<>
欢迎光临
<"""">
<>请选择你要查询的航班
<>航班号<"""""30">
<>终点站<"""""30">
<><"""查询""B1""10">
<>
<>
<>
4.5.4测试截图
4.5.4.1数据库航班表信息
4.5.4.2查询结果截图
当用户查询的信息不存在时,截图如下
5总体实施计划
在飞机航班数据库设计的开始,需求分析是整个设计过程的基础,对设计出的数据库的性能影响是很大的。
为了获得最为精确的需求信息,需要对该问题的背景有一定的了解,通过从网上查询资料和查看了一个现有的管理系统,了解了该系统的业务流程,再对飞机航班数据库分别进行功能分析和数据分析,得到功能需求和数据需求,为尽可能合理的设计系统进而解决实际问题奠定了基础。
接着进行概念结构设计。
飞机航班数据反映的是系统管理员、顾客等实体,数据库中表示的是这些实体的属性和它们之间的关系等的原始数据形式,包括各数据项、记录、表的标识符、定义、类型、度量单位和值域。
对该系统进行详细的分析,得到0层数据流图和1层数据流图。
再根据分析所得的数据流图分析出其所对应的分图,最后将各分图集成为整体的数据流图。
对其进行规划后得到本数据库的全局视图,即总体图。
概念设计之后将概念结构映射为数据库全局逻辑结构(关系模型),包括所确定的关键字和属性、重新确定的记录结构和所建立的各个表文件之间的相互关系。
首先要设计数据字典,对数据库设计中涉及到的各种项目,如数据项、记录、模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。
接下来就可以根据所画的图将其转化为所需的关系模式,在中设计数据库。
此阶段要在各个表中设置合理的属性,并为其选择恰当的数据类型。
同时还要对数据库的完整性进行约束,除设置主码,外码及其参照关系外,还要对一些特殊的表项添加用户约束条件。
在基本表建立完毕后,就要根据该数据库所面向的用户群设置对应的用户和角色,从而能合理,高效的管理数据库。
此外,为了提高数据库的安全性还可以对应不同的用户群在基本表的基础上建立视图。
用设计好数据库后要进行安全保密设计,,将如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密的设计考虑,这主要是对不同的数据库使用者提供不同的视图。
由于时间有限,初步打算各实现3个模块的一些基本的操作数据库的相关的功能:
客户可以查询相关航班一些基本信息;系统管理员可以更改航班的一些基本信息;管理员和用户都可以用和密码完成系统登录。
在飞机航班数据库及其应用程序的实施阶段之后,就可以组织数据入库,编制和调试应用程序等,进行数据库的试运行。
最终投入正式运行并在使用运行过程中不断的对其进行评价,调整和修改,从而不断的提高数据库的性能。
6研制报告
6.1系统优点
本次课程设计主要是完成飞机航班数据库设计。
在设计初期,系统地需求分析是十分重要的。
首先要对有关航班服务业务流程有一个比较清晰的认识,要分析数据的流向以及对其进行的处理得到数据流图,接着根据得到的分层数据流图分析出其所对应的分图,最后将分图按照一定的规则集成为一张图。
在这期间,分析整个业务流程抽象出实体及其联系是十分重要的,不论从其性能还是合理性上进行考虑,图的设计对最终数据库的设计影响是很大的。
在设计好图后,按照一定的规则完成从图到关系模型的转换。
如按照1:
1联系,1:
N联系,联系得一些转化原则,可直接对图进行转换。
此时可根据实际情况的需要,将联系转换位一张单独的表或是合并到其他关系中,而在联系转换为一张独立的表时,要根据实际情况,添加一个主码项,如,在本次课程设计中管理员号及客户号都不足以确定一条服务记录,可能会出现同一个顾客和同一个服务项目之间服务多次的情况,因此对于顾客和系统服务之间设定了业务这个逐渐。
接下来用来设计该数据库。
在建表的时候,要特别注意属性的数据类型选择,如日期选择等。
此时,还要注意数据库的完整性约束:
设置主码,外码,设置参照完整性,设置约束条件等,如系统管理员信息中的性别只能去取男女;服务情况只能取完成或者未完成;票价只能大于零。
在建立表完毕后,即可以向数据库中存入数据。
在数据库的运行之前,为了数据库的安全性着想,还应设置相应得用户组和权限组。
如,客户只能查询航班的部分基本信息;管理员只能对系统航班基本信息修改更新;而客户修改自己的一些基本信息。
在数据库安全性的方面,除设置权限用户外,还可以对应不同的用户群建立不同的视图,以达到保护公司隐秘数据和保护数据库的效果。
6.2系统存在的不足
但是无法否认的是,由于时间有限,未能实地的对航空公司航班进行调查和分析,部分功能需求和数据流程、业务流程是默认为合理的情况下进行的,因此可知在完成各部分之前需求分析工作进行的还不是很充分。
除此之外,数据库虽然实现了,但是所有功能需求只是实现了一小部分,并未能真正的检验数据库设计的合理性,希望在后续的学习中可以完成其他部分的功能的实现。
同时,在实现应用程序的时候,由于J2中编码部分的掌握不是很熟练,所以在使用者修改信息的时候,只能填入的是字母信息,而非中文字符,否则的话会出现乱码。
6.3实验总结
本次课程设计感受最深的有两点:
第一是越来越感受到需求分析的重要性,当然这也是随着每次课程设计的结束,这种体会就会加深;第二是虽然理论很重要,但是只有适合于实践才能发挥其价值,就本销售员档案数据库的设计和实现中,我所设计的关系模式属于第三范式,虽然不是规范化程度更高的范式或者第四范式,但是在满足了相关的应用程序的同时也为避免了插入异常、删除异常、数据冗余等问题。
尽管避免了上述的一些问题,但是在应用程序中,相应的查询就比较复杂,从而影响了一定的效率。
因此,在实际的数据库设计中,并不一定要追求规范化程度高的范式,要考综合虑实际的应用中的执行效率和数据所面临的冗余等问题,设计出具有较佳性能的数据库即可,不论是第几范式。
由于实现了部分的功能,在编写应用程序的时候,感受到变成人员所面临的一些问题,因此也觉得在数据库设计人员进行数据库设计的时候,应当注意命名、数据库接口等多方面的问题并且提供数据库设计的文档,以便于编程人员更加方便的实现应用程序。
总之,通过本次课程设计,对一个小型数据库的开发设计流程有了一个基本的概念。
熟悉了数据库开发的整个过程,并且体会到了实际的开发过程可能会面对的一些基本问题,为以后的学习或者实践积累了一定的经验。
7参考文献
[1]王珊著,《数据库系统简明教程》,高等教育出版社,2004.9
[2],著,赵学良译,《及核心编程》(第2版),清华大学出版社,2004.6
[3]郝兴伟等编,《技术导论》,清华大学出版社,2005.2