软件工程机票预定系统.docx
- 文档编号:16856921
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:19
- 大小:211.93KB
软件工程机票预定系统.docx
《软件工程机票预定系统.docx》由会员分享,可在线阅读,更多相关《软件工程机票预定系统.docx(19页珍藏版)》请在冰点文库上搜索。
软件工程机票预定系统
福建农林大学
课程设计报告
课程名称:
软件工程
{
课程设计题目:
机票预定系统
姓名:
系:
专业:
]
年级:
学号:
承担角色:
同组组长:
|
同组其他成员:
实验地点:
指导教师:
职称:
副教授
>
完成起止日期:
2011年11月2日
福建农林大学
课程设计结果评定
评价内容
¥
评价指标
评分权值
评定成绩
业务水平
有扎实的基础理论知识和课程知识;能正确设计实验方案;独立进行实验工作;能运用所学课程知识和技能去发现与解决实际问题
)
设计质量
实验正确,分析处理科学;设计结果有应用价值;图纸绘制符合国家标准,质量符合要求;计算及测试结果准确;工作中有创新意识;对前人工作有改进或突破,或有独特见解;
工作量、
…
工作态度
按期完成规定的任务,工作量饱满,难度较大;工作努力,遵守纪律;工作作风严谨务实
报告质量
文字通顺,技术用语准确,符号统一,编号齐全,书写工整规范,图表完备、整洁、正确;
\
合计
指导教师签字:
评定日期:
1课程设计概述…………………………………………………………1页码
目的……………………………………………………………………1页码
任务……………………………………………………………………1页码
运行环境………………………………………………………………1页码
2项目的可行性研究与需求分析………………………………………1页码
、可行性分析……………………………………………………1页码
.需求分析………………………………………………………3页码
3项目设计的基本原理和采用的主要方法与技术……………………8页码
、系统构架设计…………………………………………………8页码
4本人实现项目的过程与步骤…………………………………………页码
、浏览航班信息模块………………………………………………10页码
、修改航班信息模块………………………………………………11页码
、退票模块…………………………………………………………14页码
5.个人遇到的困难与获得的主要成果……………………………15页码
、接口问题………………………………………………………15页码
、其他问题………………………………………………………16页码
6测试与运行记录……………………………………………………16页码
、测试浏览航班信息功能…………………………………………16页码
、测试修改航班信息功能…………………………………………16页码
、测试退票功能……………………………………………………17页码
7课程设计完成结果分析与个人小结…………………………………17页码
8附录……………………………………………………………………17页码
9参考文献…………………………………………………………………35页码
机票预定系统
1.课程设计概述(目的、任务、开发环境、参考资料)
、目的:
航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。
各个旅行社把预定机票的旅客信息输入到系统中,系统为旅客安排航班。
当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。
此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。
、任务:
“机票预定系统”的主要功能是帮助航空公司对乘客的信息进行统计,更新。
并对自己的航班做出相应的调整,来达到最好的运输效果。
其功能描述如下:
(1)旅行社将乘客的信息传输到该系统,并在系统中注册。
(2)系统为乘客安排航班。
(3)旅客交付了预定金后,系统印出取票通知和帐单给旅客
(4)旅客在飞机起飞的前一天凭取票通知和帐单交款取票,系统核对无误即印出机票给旅客
(5)航空公司为随时掌握各航向飞机的乘载情况,系统定期进行查询统计,以便适当调整。
(6)系统对旅客延误了取票时间的处理
(7)系统对班机取消后的处理
(8)旅客临时更改机票班次的处理
、开发环境:
系统Window7
平台VisualStudio2010
2.项目的可行性研究与需求分析
、可行性分析
2.1.1可行性研究的前提
(1)要求:
a.功能:
能自动的预订出乘客的机票,安排好航班。
b.输出如报告、文件或数据:
取票通知和账单
(2)目标:
a.人力与设备费用的减少;
b.处理速度的提高;
c.管理信息服务的改进;
d.自动决策系统的改进;
e.人员利用率的改进。
2.1.2技术上可行性
使用现有的技术能不能实现这个系统。
由于本管理系统的对象单一,仅对航空公司机票进行管理。
因此,这个管理系统比较适合采用数据库来设计。
在计算机硬件和软件快速发展的今天,计算机硬件和软件已经远远满足本管理系统的要求。
在数据库编程工具方面,各种可视化编程方法的出现,一改过去程序设计的概念和方法,用户用鼠标就可以快速、简捷地创建应用程序,极大地提高了编程效率。
如图2-1所示。
2.1.3经济上可行性
这个系统的经济效益能不能超过它的开发成本。
本“机票预订系统”是小型数据库应用程序,不需要多少人力和物力就可以设计的。
但本系统一旦投入使用,将大大减少航空公司理人员的工作量,提高了工作效率,其经济效益是显而易见的。
2.1.4操作上可行性
系统的操作方式在这个用户组织内能不能行得通。
在进行需求分析时,就对用户组织进行了调查,针对他们的情况,设计出适合这个用户组织的人机界面,使操作方式简单明了。
在加上本系统并不是很复杂,所以早操作方面不应有很大的问题。
2.1.5法律上可行性
因为本管理系统是:
航空公司对机票进行信息管理和航班信息管理的数据库系统。
因此,航空公司应在乘客安全,信息保密,证件合法等方面加以控制。
.需求分析
2.2.1目标
机票预订系统的总目标是:
在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。
根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/Server结构,将机票预定系统划分为两个子系统:
客户端子系统,服务器端子系统。
2.2.2机票预订系统的功能要求
根据航空公司的需要,系统应当包含基本的功能有:
用户注册、用户登录和管理员登录,航班查看等。
用户则划分为基本乘客和管理员两大类,管理员还兼具有管理职能
当旅客需要订票时,旅行社把旅客的信息做一个备份,再把旅客的订票信息传给航空公司,航空公司则帮旅客安排航班,然后把安排好了的航班机票信息传回给旅行社,旅行社再通过对旅客订票记录的核实,产生取票通知,然后把取票通知发给旅客。
具体流程如图3-1所示。
当旅客获得取票通知后,就可以拿着取票通知到航空公司去取票。
但首先航空公司会对旅客的信息进行查询,其中会用到旅客的订票清单。
当系统检测到已售出机票的信息后,就会打印机票给旅客。
具体流程如图3-2所示。
2.2.3客户端功能要求
在客户端的功能要求实现上,可以分为以下几个部分:
(1)旅客信息的输入和统计
旅行社把旅客要求订票的信息由专人负责输入。
这部分功能是客户端子系统的基本部分,这个功能是以后各个部分的基础。
系统要求做到即能够从其它子系统中共享一部分信息,又有方便的操作界面手工输入旅客信息。
这部分要求对输入的数据进行简单的统计,供航空公司进行查询和宏观调控。
(2)旅客信息的存储:
将旅客的信息存储到旅行社的客户端系统中,以备以后的取票确认以及查询。
(3)机票信息的传递及接收:
将旅客所须的机票信息由旅行社客户端由网络传到航空公司的服务器上,并且接受航空公司返回的航班信息,然后存储起来。
(4)取票通知及账单的生成和打印:
把已存储的从航空公司返回的航班机票信息打印出来,并且生成账单打印出来一起交给旅客。
印出机票给已经订票的旅客:
根据旅客的取票通知及账单,经过确认无误后,接受旅客的付款后把机票印出来交给旅客。
(5)机票销售情况的核算
这一功能是在上一功能的基础上,对机票销售额进行单项核算,得到该旅行社的销售情况并把核算结果作为企业报表输出。
2.2.4服务器端功能要求
通过计算机网络将客户端与服务器的数据库相连,将从客户端得到的信息进行处理,实现航班查询,机票生成,销售统计,综合信息查询等子系统。
以计算机成本核算为中心,实现销售业务的计算机自动化,为航空公司降低成本、提高销售额、经营决策提供及时精确的依据。
在客户端系统的功能实现上,可以分为以下几个部分:
(1)接收由旅行社客户端发回的所需机票信息:
通过网络接收机票信息并存入到服务器的数据库中。
(2)生成航班信息:
根据所需机票信息(时间,地点),在数据库中查询并得到正确的航班的信息(价格,时间,等级),分配所需的机票数并在数据库中做出已售出的标记。
(3)传递航班信息到客户端(旅行社):
把得到的航班信息通过网络传递到旅行社。
(4)接收旅行社的反馈信息:
对旅行社的反馈信息进行分析,把已经售出的机票进行统计,对被旅客所退掉的机票要进行数据库的恢复。
(5)印出机票给已经订票的旅客:
根据旅客的取票通知及账单,经过确认无误后,接受旅客的付款后把机票印出来交给旅客。
2.2.5机票预订系统的性能要求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,机票预订系统应该满足以下的性能要求:
(1)系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。
由于机票预订系统的查询功能对于整个系统的功能和性能完成举足轻重。
作为系统的很多数据来源,而机票数量和时间又影响企业的决策活动,其准确性很大程度上决定了机票预订系统的成败。
在系统开发过程中,必须采用一定的方法保证系统的准确性。
(2)系统的开放性和系统的可扩充性
机票预订系统在开发过程中,应该充分考虑以后的可扩充性。
例如订票系统的方式的改变(网上订票),用户查询的需求也会不断的更新和完善。
所有这些,都要求系统提供足够的手段进行功能的调整和扩充。
而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。
通过软件的修补、替换完成系统的升级和更新换代。
(3)系统的易用性和易维护性
机票预订系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。
机票预订系统中涉及到的数据是航空公司的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。
(4)系统的标准性
系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。
所有这些都要符合主流国际、国家和行业标准。
例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。
如规范的数据库操纵界面、作为业界标准的TCP/IP网络协议及ISO9002标准所要求的质量规范等;同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。
(5)系统的先进性
目前计算系统的技术发展相当快,作为机票预订系统工程,应该保证系统在下个世纪仍旧是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。
这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。
另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。
(6)系统的响应速度
机票预订系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。
在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。
2.2.6机票预订系统的数据要求
机票预订系统的数据要求包括如下几点:
(1)据录入和处理的准确性和实时性
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。
数据的输入来源是手工输入。
手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。
在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。
(2)数据的一致性与完整性
由于系统的数据是共享的,在不同的旅行社中中,机票是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。
要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。
(3)数据的共享与独立性
整个机票预订系统的数据是共享的。
然而,从系统开发的角度上看,共享会给设计和调试带来困难。
因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。
这样,也能提供系统的强壮性。
3.项目设计的基本原理和采用的主要方法与技术
“机票预定系统”的系统设计,主要包括系统构架设计、详细页面设计和文件、数据库设计。
、系统构架设计
在对机票预定系统进行系统设计的时候,第一步先对机票预订系统逻辑模加以设计。
本系统应该最少包括3个实体,包括:
旅客,旅行社和航空公司。
其中旅客包括:
姓名、性别、旅行时间、旅行地点、工作单位、身份证号码这些属性。
旅行社包括:
订票旅客信息、售出机票信息和可售机票这些属性。
而航空公司的属性主要是航班机票信息。
而航班机票又包括:
航班、航班起点、航班终点、时间、等级这些属性。
具体设计如图4-1所示。
分析了逻辑模块图后,就应该来设计系统结构图来描述机票预订系统的软件总体结构。
而本系统的结构图又要从两部分进行设计,先是客户端是结构图。
客户端最基本的功能应该有接收输入数据、输出数据和联络服务器。
框内注明了模块的名字;方框之间的直线表示模块的调用关系。
具体设计如图4-2所示。
在分析了本系统的逻辑模型图和结构图后,我们就应该对本系统的具体功能流程图进行分析,首先是功能的总体描述。
如图4-4所示。
4.本人实现项目的过程与步骤
、浏览航班信息模块
根据乘客的要求,购买机票时必须浏览航班信息才可订购。
所以系统必须实现这一功能。
在该模块中必须调用读取文件,数据库中读取文件里面的航班信息将其调用出来。
代码如下:
voidprint(){
read();出<--------\n");
printf("================================================================================\n");
printf("--->请在1---2中修改以回车键结束:
");
scanf("%d",&n);ver,==0&&strcmp(s[i].over,==0)um==um=;tart,;ver,;ime,;ount=;ount=s[i].count+n;
save();
行结果如下:
修改后:
、测试退票功能
根据乘客要求,进行退票。
乘客输入索要退的航班,系统会根据其航班查询该航班是否已出发进行退票。
例如:
输入航班号1020,查看其信息对其退票、运行结果如下:
7、课程设计完成结果分析与个人小结
通过各模块的测试,程序运行过程无误。
实现了浏览、修改、退票功能,这些都能够表现出来。
实现了系统的目的但其中还是存在一些故障。
当用户的账号和密码丢失的情况下,管理人员可以凭借技术人员的身份证或者职工号找回该员工的密码;当用户的密码或被他人盗用的情况下,管理人员允许技术人员更改密码。
通过本课程设计的实践了解到软件工具对于项目开发有着重要性。
在编写代码时我们必须写出与系统相关性的,不然就是浪费时间。
及前后的准备与总结,领会与巩固到了运用软件工程课堂所学的软件开发方法和知识,对其进行了深刻的复习。
参加小组团队的开发实践,了解到了项目管理、团队合作、口头与书面的表达的重要性。
这次经历有利于我们以后得学习与实践。
8、附录
#include<>um,s[i].start,s[i].over,s[i].time,s[i].count入航班信息<--------\n"
"-------->2.浏览航班信息<--------\n"
"-------->3.修改航班信息<--------\n"
"-------->4.查找航班信息<--------\n"
"-------->5.删除航班信息<--------\n"
"-------->6.订票信息<--------\n"
"-------->7.退票信息<--------\n"
"-------->0.退出<--------\n");
printf("================================================================================");
printf("--->请在0-7中选择以回车键结束:
");
scanf("%d",&j);
switch(j)
{
case1:
input();um);tart);ver);ime);ount);航班号查找<--------\n"
"-------->2.按终点站查找<--------\n"
"-------->3.按航线查找<--------\n"
"-------->0.返回<--------\n");
printf("================================================================================");
printf("--->请在0-3中选择:
(按其他键以回车键结束返回主菜单)");
scanf("%d",&n);ver,name2)==0&&n==2)tart,name1)==0&&strcmp(s[i].over,name2)==0)um==no)航班号删除<--------\n"
"-------->2.按航线删除<--------\n"
"-------->0.返回<--------\n");
printf("================================================================================");
printf("--->请在0-2中选择以回车键结束:
");
scanf("%d",&n);tart,name1)==0&&strcmp(s[i].over,name2)==0)um==no)ount=0;
s[m-1].num=0;
strcpy(s[m-1].over,"0");
strcpy(s[m-1].start,"0");
strcpy(s[m-1].time,"0");
m-=1;
}
else
for(i=mark;i { s[mark].count=s[i+1].count; s[mark].num=s[i+1].num; strcpy(s[mark].over,s[i+1].over); strcpy(s[mark].start,s[i+1].start); strcpy(s[mark].time,s[i+1].time); s[m-1].count=0; s[m-1].num=0; strcpy(s[m-1].over,"0"); strcpy(s[m-1].start,"0"); strcpy(s[m-1].time,"0"); m-=1; } ount! =0&&s[i].count>=n)ount=s[i].count-n; save();ount save();出<--------\n"); printf("================================================================================\n"); printf("--->请在1---2中修改以回车键结束: "); scanf("%d",&n);ver,==0&&strcmp(s[i].over,==0)um==um=;tart,;ver,;ime,;ount=;//替换机票数 save();//调用保存模块 printf("--->是否继续(请键入yes或no以回车键结束)"); scanf("%s",j); }while(strcmp(j,"yes")==0);//判定结束 } else printf("--->对不起密码错误! 您不是治理员,不能使用此项功能! 谢谢! "); } 参考文献 [1]郑人杰、陶永雷: 《实用软件工程》清华大学出版社2002 [2]吴天准: 《Delphi程序设计技巧》中国铁道出版社2003 [3]王禺、万科: 《Delphi数据库开发》清华大学出版社2005 [4]只飞: 《最新Delphi7数据库开发指南》北京希望电子出版社2003 [5]DusanPetkovic著吕静骅、史进译: 《SQLServer2000基础教程》 清华大学出版社2002 [6]RgghuRamakrishnanJohannesGehrke: 《DatabaseManagement Systems(ThirdEdition)》McGrawHill2003 [7]赵应丁: 《Delphi7课程设计案例精编》中国水利水电出版社2004·
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 机票 预定 系统