您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 2012考研专业课之新闻史复习重点难点
航空订票系统一、软件需求分析(一)主要功能:为机场工作人员提供订票退票等与机票相关内容的管理系统,方便机场工作人员对机票的管理,以提高机场工作人员对机票管理工作的效率。(二)性能要求:1.准确性:录入的信息(包括飞机航班的信息,飞机票的预定情况等)都必须准确无误的记录在系统中。2.实时性:能及时反映在机票管理系统平台上,并可以进行及时的刷备份和恢复。3.安全性:数据的录入采用尽可能的校验方法严格校验,数据的维护和管理由系统管理员专门负责,系统具有较强的可扩充性。(三)输出要求:数据完整、详实、简洁、快速、时实。(四)实现目标系统实现后,可以大大提高飞机票管理的效率,降低飞机票管理中的出错率,减少信息交流的繁琐过程以及带来的不必要的开销。(五)条件,假定和限制建议软件寿命:5年硬件要求:PC机及兼容机。运行环境:Windows95,98,2000下的TUROBC(六)可行性研究技术可行,现有技术可完全承担开发任务。操作可行,软件能被原有工作人员快速接受。二、总体分析机场工作人员通过飞机票预定系统将票售与乘客,而乘客可以通过该系统实行退票行为。进一步飞机预定系统的数据流图如下:乘坐时间、地点工作人员飞机票预定系统乘客乘客细化整个机票管理系统,将此分为订票、退票、查找、管理四大部分。按照自定向下逐步细化得到下图:数据流分析机票管理系统是实现机场机票的预定、统计和分析,提高机票运用的科学管理水平,充分发挥机票利用率,节省订退票时间。机场管理系统的建立不仅会减少大量人力的繁琐劳动,而且产生良好的社会效益和经济效益。机票管理系统的具体功能为:1.录入机场近期航班情况,并进行严格校验,保证原始数据的绝对准确。主界面订票系统退票系统查找管理新增和取消航班号号姓名号起降地号时间号乘客乘坐时间、目的地航班航班目录帐单机票乘客准备机票预定机票记帐2.由录入数据进而建立订票系统、退票系统、查询系统、管理系统。3.订票系统中,具有严格的乘客身份录入,并同时对当次航班票数做出统计。机票分受完与未受完两种,要根据不同情况采取不同措施。4.退票系统中,严格校验退票人身份,并明确相应的返还金额。5.查询系统中,分为不同的查询方式,有按航班号查找、按照乘客姓名查询、按照日期查询、按照起飞港到达港查询。6.管理系统中,细化模块,整体把握机票售出情况和近期及某天飞机飞行情况,并具有新增航班和取消航班的功能。数据与文件条目A主菜单mainmenu()主菜单welcome()开始界面book()订票系统bounced()退票系统search()查询系统manage()管理系统exit_file()退出系统B管理系统search()航班基本情况查询f1()某天航班飞行情况管理f2()近期航班飞行情况管理add()新增航班dele()取消航班C查询系统planesearch()按照飞行航班号查询namesearch()按照乘客姓名查询datesearch()按照日期查询addresssearch()按照起飞港、到达港查询主要数据列表字符名称类型含义长度FlightnumberInt飞机航班号20StartingpointofflightChar航班起飞地点(起飞港)20TerminalpointofflightChar航班目的地(到达港)20StarttimeofflightInt航班起飞时间20ArrivingtimeofflightInt航班到达时间20NumberofpassengersInt最大乘客数20PriceInt票价20TimeofflyInt飞机飞行固定时间5NameofpassengerChar乘客姓名20IDChar身份证号码20OfficeChar所在单位20NumberofseatChar座位号5三、模块设计机票管理软件主要包括以下五个主要模块:(一)订票BOOK:在进入订票系统后,进行订票,将会出现需所定航班的机票已经售完的情况,软件对于此情况将能够给予响应。针对这一情况,订票系统中,需要有循环计数器功能,用来完成统计机票出售情况。综合各项情况,得出下示粗略算法:If(tickethadsoud){If(需要订票)其他航班Elsereturntomainmenu}Else{printf(“thesuplusnumberofthisflight:);askBOOK?if(NO)printf(“pleaseENTERreturn:”);if(YES){printf(thesuplusnumberofplane:);ADD1/*调用订票函数*/n=n-m;ticket=n;printf(“BOOKisOK!pleaseENTERreturnmainmenu.”);}}(二)退票BOUNCED:m=t;if(m==0){printf(无此航班!按回车键回到主菜单..);printf(请输入身份证号:);/*严格确认乘客的身份*/p1=men;while(strcmp(ID,p1-ID)!=0&&p1-next!=NULL){p2=p1;p1=p1-next;}if{strcmp(ID,p1-ID)==0}{if(p1==plane[m].men)plane[m].men=p1-next;elsep2-next=p1-next;/*删除*/compare(m);/*调用函数*/}else{printf(“无此乘客!按回车键回主菜单…”);}(三)查询SEARCH:从查询者的角度出发,着眼于方便查询的角度,该软件提供了四种查询模式:按航班号查询while(bool==0&&i=pla.last){if(plane[i].number==planenuml)/*如果找到该航班,则输出其相关资料*/{printf(“您输入的航班号已经找到,资料如下”);printf(“起飞港:到达港:起飞时间:到达时间:乘客定额:飞行固定时间:票价:”)bool=1;return(i);}i++;}if(bool==0){printf(“您输入的航班号不存在!”);return(0);}按乘客姓名查询bool=0;for(i=1;i=last;i++){p=plane[i].men;while(p!=NULL){if(strcmp(p-name,namel)==0){printf(“乘客资料为:”);j=j+1;bool=1;}p=p-next;}/*如果没查到*/}if(bool==0)printf(“所有航班均无此乘客!”);printf(“按回车键回到主菜单…”);按日期查询inti,j=1;for(i=0;i=last;i++)if(strcmp(plane[i].starttime,date1)==0){printf(“航班资料”)j++;}/*如果没查到*/if(j==1)printf(“没有起飞时间为的航班”);}按起飞港,到达港查询case1:/*按起飞港查询*/i=0;for(i=0;i=last;i++)if(strcmp(plane[i].startpoint,startpoint1)==0){printf(航班资料)j++;}/*如果没查到*/if(j==1)printf(“没有起飞港为的航班”);case2:/*按到达港查询*/i=0;for(i=0;i=pla.last;i++)if(strcmp(pla.plane[i].endpoint,endpoint1)==0){print(“航班资料”)j++;}/*如果没查到*/if(j==1){printf(“没有到达港为的航班”)printf(“按回车键回到主菜单…”);}default:print(“错误!请重新选择...”);}(四)管理MANAGE设计中以此模块为核心,将各个模块通过主界面统领在一块。该模块的主要功能有:飞机基本情况查询、航班某天和近期情况管理、新增航班和取消航班五大功能。其细化流图如下:对于五种不同情况,程序设计时采用CASE语句,分情况讨论。管理系统按姓名查询按航班号查询基本情况查询按飞行地查询按飞行时间查某天航班管理情况近期航班管理情况新增航班取消航班case1:search();case2:f1();case2:f2();case2:add();case2:dele()其中search模块,是与search部分连接在一起的,通过程序之间的函数调用,实现此功能。在f1模块中,当输入您要查询的日期时,如存在此乘客,则显示出该乘客的序号、姓名、身份证号码、订票日期、航班号及座位号。注意到不可能只有一位乘客时此段程序将采用循环实现;又注意到会有多种情况出现时,将采用if语句进行条件判别。for(i=1;i=pla.last;i++){p=plane[i].men;while(p!=NULL){if(strcmp(a,p-time)==0)printf(相关资料);j=j+1;bool=1;}p=p-next;}/*如果没有查到*/}if(bool==0)printf(“没有在这天订票的乘客”);elseprintf(“本天总订票人数为,j-1”);printf(“按回车键回到主菜单…”);在f2模块中,则显示出航空公司的总体情况。在Add和Dele模块中,机场工作人员可对航空公司内航班情况进行及时的修复,在中增加新开的航班信息,而在删除取消的航班资料。删除模块{j=0;bool=0;while(bool==0&&j=pla.last){if(pla.plane[j].number==planenum1)(如果找到该航班,则输出其相关资料)bool=1;j++;}if(bool==0){(“您输入的航班号不存在”);if(确实要删除此次航班)for(i=j-1;ipla.last;i++){plane[i].number=plane[+1].number;strcpyplane[i].startpoint,plane[i+1].startpoint);strcpy(plane[i].endpoint,plane[i+1].endpoint);strcpy(plane[i].startime,plane[i+1].starttime);strcpy(plane[i].endtime,plane[i+1].endtime);plane[i].ticket=plane[i+1].ticket;plane[i].way=plane[i+1].peoolenum;plane[i].way=plane[i+1].way;strcpy(plane[i].time,plane[i+1p.tilme];plane[i].men=plane[i+1].men;plane[i].money=plane[i+1].money;}last=last-1;/*数据删除已成功!*/else返回主菜单}增加模块{if(增加航班)last=pla.last+1;plane[pla.last].ticket=plane[pla.last].peoplenum;plane[pla.last].men=NULL;plane[pla.last].end=NULL;elsemainmenu();}这一模块的设计,大大提高了公司对航班管理的效率。(五)退出EXIT_FILE简单的C语句即可完成该项功能。(六)其它该软件还采用了坐标方式用以绘制出系统平台范围,并通过添加色彩以增加其可视度。四、系统测试报告(一)测试范围1、测试目的通过测试,验证该软件的准确性和实时性,从而优化结构,达到最佳系统结构,最终能够快捷方便无误的完成机票管理任务。2、测试计划测试阶段以管理部分为主,从MANAGE开始进行测试。(二)测试步骤①输入数值系统最初默认值均为零,因此,测试时,首先需要录入数据(本公司飞机航班情况)。从管理模块的ADD开始,增加新航班。录入数据包括:航班号、起飞地、目的地、起飞时间、到达时间、最大乘客数、票价及飞行时间。若成功,则显示SUCCESS,否则,则需要返回源程序,查
本文标题:2012考研专业课之新闻史复习重点难点
链接地址:https://www.777doc.com/doc-3006625 .html