机票预订系统设计说明书.doc_第1页
机票预订系统设计说明书.doc_第2页
机票预订系统设计说明书.doc_第3页
机票预订系统设计说明书.doc_第4页
机票预订系统设计说明书.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

*实践教学* 兰州理工大学计算机与通信学院2011年秋季学期面向对象课程设计题 目:机票预订系统专业班级:计算机科学与技术4班姓 名: 学 号: 指导教师: 成 绩:_目 录1.摘 要22.序言33.系统分析44.系统给总体设计55.详细设计66.系统测试77.软件使用说明书12参考文献15致 谢161.摘 要 机票预定系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息n 系统实现后,大大提高旅游局的机票预定服务效率。降低售票服务中的错误发生率n 减少信息交流的烦琐过程及其带来的开销。提高信息准确度;改进管理和服务;n 系统设计优良,界面设计精美、友好、快捷,人性化设计,后台管理功能强大、效率高;关键词:机票预订系统,人机交互,准确度 2.引 言旅客信息程序:本程序的目的是便于旅行社输入旅客的订票信息,为旅行社传输数据给航空公司数据库提供数据。特点:作为一个旅客的基本信息,在系统中要不断的访问其个人信息,必须在内存中常驻以便程序系统快速访问。而该程序只是一个便于访问的个人信息,因些是作为一个子程序中来运行。不可以覆盖,基本信息不能被覆盖。并发处理,在系统中不断被访问的数据,需要并发处理。程序中的性能要求:对于数据中的精度要求,通常用整型类型来定义,便于运算与操作。灵活性中对于用到的变量数据,能做到指令调用即用的方法,使变量的灵活性使用率最高。3.系统分析1.系统处理的准确性和及时性是系统的必备性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。由于机票预定系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而机票数量和时间又影像企业的决策活动,其准确性很大程度上决定了机票预定系统的成败。在系统开发的过程中,必须采用一定的方法保证系统的准确性。 2.系统的开放性和系统的可扩充性 机票预定系统在开放过程中,应该充分考虑以后的可扩充性。例如订票系统的方式的改变(网上订票),用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要求实现这一点,应通过系统的开放性完成,既系统应是一个开放系统,只好符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补,替换完成系统的升级和更新换代。 3.系统的易用性和易维护性 机票预订系统是直接面对使用人员,而使用人员往往对计算机并不是非常的熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽力量使用用户熟悉的术语和中文信息的界面,针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉过程。机票预订4.系统总体设计机票预定系统数据输入数据输出数据输入页面信息录入旅行社登陆登陆信息 数据录入 数据信息 数据信息 数据信息 数据处理、查询数据判断数据信息 准备SQL判断查询数据库操作数据信息 判断信息 判断结果 数据信息 返回账单等确定错误原因返回机票信息打印账单等显示错误原因打印机票数据信息 5.详细设计本系统主要用于机票预订,所以提供了以下几个子功能:机票预订,取票通知,查询航班,查询机票,退票,打印机票,各航班的营运统计,以及后台方面的航班的添加,取消航班,机票的生成,以及航班的查询等后台功能。1、机票预订功能:旅行社和机场管理员有权力进行该项功能。首先通过查询得到旅客所需的航班,确定该航班还有没有被预订的座位,然后选择座位的等级,填写旅客的详细信息之后就可进行网上预订机票。2、取票通知:该项功能只有旅行社和机场管理员有权力进行操作,在机票预订功能成功完成之后,系统会自动给浏览器端发送一条取票信息以及所需缴纳的费用。旅行社可以利用特定设备将该取票信息打印出来,这就是取票通知。3、查询航班:可以通过输入出发地,目的地,日期和时间选定自己航班。4、查询机票:该项功能三方都可以操作,可以通过自己的身份证号以及取票通知上的机票号查询自己的机票信息。5、退订机票:该功能只有旅行社和机场管理员有权力操作,利用身份证号和对应的机票号就可以查询到机票信息,然后就可以退订机票。6、打印机票:该功能只有机场管理员有权力操作,只有当管理员确认旅客已经付款后才予以打印机票,可以通过身份证号和对应的取票信息上的机票号查询机票信息,然后服务器返回机票信息,管理员就可以打印该机票信息,交给旅客。7、各航班的营运统计:该项功能只有机场管理员才能操作,他可以通过输入年份和月份查询当月个航班的营运情况,以便机场能够及时掌握航班动态。8、后台的航班添加:该项功能只有机场管理员才能操作,他通过提供航班的具体信息添加航班信息。9、后台的取消航班:该项功能只有机场管理员才能操作,先通过航班号和航班日期查询到航班信息后,取消航班就可以将该航班从数据库中删除。10、后台的航班查询:该项功能只有机场管理员才能操作,通过航班号和航班日期查询到航班信息。11、后台的机票生成:该项功能只有机场管理员才能操作,可以通过该项功能给刚添加的航班生成对应的飞机票号纪录。6.系统测试输入项:旅客信息程序各个变量数据:1旅客姓名 String 在字符串的有效范围中 2性别 char 在字符串的有效范围中3身份证号long int 在长整型的有效范围中 4工作单位String 在字符串的有效范围中5电子邮件 String在字符串的有效范围中 6 联系电话long int在长整型的有效范围中以上的数据的输入方式在系统界面中全用键盘输入的方式输入。安全保密条件:在退出系统中,自动删除基本的信息。输出项:旅客信息程序各个变量数据:1旅客姓名 String 在字符串的有效范围中 2性别 char 在字符串的有效范围中3身份证号long int 在长整型的有效范围中 4工作单位String 在字符串的有效范围中5电子邮件 String在字符串的有效范围中 6 联系电话long int在长整型的有效范围中以上的数据的输出方式在系统界面中的旅客信息框中输出。安全保密条件:在退出系统中,自动删除基本的信息。流程逻辑:旅客信息7.软件使用说明书1程序描述该程序为机票信息模块。用于机票的查询,机票的预订等等。非常驻内存的。顺序处理首先通过查询得到旅客所需的航班,确定该航班还有没有被预订的座位,然后选择座位的等级,填写旅客的详细信息之后就可进行网上预订机票。2功能n 本系统主要用于机票预订,所以提供了以下几个子功能:机票预订,取票通知,查询航班,查询机票,退票,打印机票,各航班的营运统计,以及后台方面的航班的添加,取消航班,机票的生成,以及航班的查询等后台功能。n 1.机票预订功能:旅行社和机场管理员有权力进行该项功能。首先通过查询得到旅客所需的航班,确定该航班还有没有被预订的座位,然后选择座位的等级,填写旅客的详细信息之后就可进行网上预订机票。nn 2.查询航班:可以通过输入出发地,目的地,日期和时间选定自己航班。n 3.查询机票:该项功能三方都可以操作,可以通过自己的身份证号以及取票通知9、后台的取消航班:该项功能只有机场管理员才能操作,先通过航班号和航班日期查询到航班信息后,取消航班就可以将该航班从数据库中删除。n 4.后台的航班查询:该项功能只有机场管理员才能操作,通过航班号和航班日期查询到航班信息。n 5.后台的机票生成:该项功能只有机场管理员才能操作,可以通过该项功能给刚添加的航班生成对应的飞机票号纪录。n 上的机票号查询自己的机票信息。3性能输入的机票信息能准确快速地保存到数据库里面去。输入信息要求精度:机票的基本信息,例如:起飞地,目的地,时间,座舱号等。输出信息要求精度:机票的基本信息。时间特性:响应时间=2秒更新处理时间:至少一星期更新一次灵活性要求:操作方式上的变化:假如用户觉得操作不方便,要及时进行修改运行环境的变化:能适合在一般需求的环境下运行同其他软件的接口的变化:对一般的软件能兼容4输人项和输出项机票信息程序各个变量数据:1航班号String 2目的地string 3起飞时间Date/time 4旅客姓名string5旅客性别char 6旅客身份证号码long int 7座位号 string5算法1按所输入的机票信息的关键字来进行机票的查询。2查询失败的时候,重新返回到输入窗口,重新输入信息再进行查询。3如果没有航班的时候,则显示结果信息。4当订票成功的时候,将订票的结果信息插入到之前已经保存好的每位旅客信息当中,将旅客信息和机票信息统一起来保存到数据库里面,以方便以后机票的打印。参考文献1初小璐完全掌握SQL Server 2000 M 机械工业出版社,20042Jeraod V.Post.数据库管理系统(英文版.第三版)美清华大学出版社,2006.13张海藩.软件工程导论M.北京:清华大学出版社,1998.14谢希仁.计算机网络(第二版)M.北京:电子工业出版社,2003.6 5戴志诚,赵国峰.JSP信息化系统建设案例M.北京:人民邮电出版社,2006.126成晓静,毕靖.网页设计三剑客完全学习手册M.北京:中国电力出版社,2004.117赵强.精通JSP编程M.北京:电子工业出版社,2006.38萨师煊,王珊.数据库系统概论M.北京:高等教育出版社,2002.29张海藩,李劲,谢兆阳.SQL Server2000数据库设计与系统管理M.北京:清华大学出版社,2000.910刘禾,蔡锋.Web数据库假设技巧M.北京:科技技术出版社,1999.411徐建波. Internet与Web设计教程M.北京:中国矿业大学出版社,2000.1212于书举,许向众.数据库设计与开发教程M.北京:电子工业出版社,2003.1113安海忠,李文斌,林旭新.商业网站建设与管理M.北京:人民交通出版社,2006.814T.Umeda and S.Hagiwara.web-based database for EPR centers in semiconductorsJ.BPhysica B:Condensed Matter,3(7),249-252,2006.315Yih-Ling Hedley,Muhammad Younas.Sampling,information extraction and summarisation of Hidden Web databasesJ.Data & Knowledge Engineering,In Press,Uncorrected Proof,Available online 10 March 2006.2致谢本课题在选题及进行过程中得到张琪文老师悉心指导,张老师严谨求实治学态度踏实坚韧工作精神将使我终生受益再多华丽言语也显苍白;同学多次帮助我分析思路,开拓视角在我遇到困难想放弃时候给予我最大支持和鼓励。在此谨向张老师以及我的同学们致以诚挚的谢意附录:源代码#include #include #include #include #define m 3 /3架飞机#define n 25 /每架飞机25张票struct node char name21; char id21; int seat,plane,date; node *next,*pre;struct wait char name21; char id21; char phone8; int seat,plane,date,count; wait *next,*pre;struct piao int seatn+1;void makenull(); void makenull_piao();void makenull_information();void list_menu();void list_piao();void makenull_wait();void list_information();void plane_information(node *head);void book();void add_information(node *head,int x,int y);void add_wait(int x,int y);void search_delete(int x);void write_to_file();void show_wait();bool comp(node *x,node*y);node *head1,*head2,*head3,*q;wait *wait_head,*wait_end;char c;piao am;void main() makenull(); do list_menu(); coutendlc; if (c!=6) switch(c) case 0 : show_wait();break; case 1 : list_piao();book();break; case 2 : search_delete(1);break; case 3 : list_piao();break; case 4 : list_information();break; case 5 : search_delete(0);break; default : break; while(c!=6); coutExit System ;void makenull() makenull_piao(); makenull_information(); makenull_wait();void list_menu() coutendl; coutendl 菜单; coutendl *; coutendl * 0 . 查看排队情况 *; coutendl * 1 . 订票 *; coutendl * 2 . 退票 *; coutendl * 3 . 查看剩余票 *; coutendl * 4 . 查看飞机信息 *; coutendl * 5 . 查看乘客信息 *; coutendl * 6 . 退出 *; coutendl *; coutendl;void makenull_piao() FILE *fp; int i; if(fp=fopen(piao.dat,r) = NULL ) fp=fopen(piao.dat,w); for (i=1;i=m-1;i+) fwrite(&ai,sizeof(piao),1,fp); fclose(fp); fp=fopen(piao.dat,r); for(i=1;ipre=NULL; head1-next=NULL; head2-pre=NULL; head2-next=NULL; head3-pre=NULL; head3-next=NULL; q=head1; for(i=1;inext=r; r-pre=q; r-next=NULL; q=q-next; fclose(fp); if(i=a1.seat0+1) head2-next=q; q-pre-next=NULL; q-pre=head2; if(i=a1.seat0+a2.seat0+1) head3-next=q; q-pre-next=NULL; q-pre=head3; void makenull_wait() wait *tempw; FILE *fp; tempw=new wait; int i; if(fp=fopen(wait.txt,r) =NULL ) fp=fopen(wait.txt,w); fclose(fp); wait_end=new wait; wait_head=new wait; wait_end-next=NULL; wait_end-pre=NULL; wait_head=wait_end; wait_head-count=0; fp=fopen(wait.txt,r); fread(wait_head,sizeof(wait),1,fp); for(i=1;icount;i+) fread(tempw,sizeof(wait),1,fp); wait_end-next=tempw; tempw-pre=wait_end; tempw-next=NULL; wait_end=tempw; void list_piao() int i,j; for(i=1;i=m-1;i+) if(ai.seat0!=n) coutendl第 i 架飞机剩余的票 :endl; for(j=1;j=n;j+) if (ai.seatj=0) cout j; coutendl; else coutendlThe i plane is full !endlendl; void list_information() int x; do coutendlx;coutendl;while(x=m); coutendl第 x 架飞机的信息如下 next!=NULL) q=head-next; else q=NULL; cout飞机空,无预订票 !endl; while(q!=NULL) coutendl*date=q-plane; cout日期 :dateendl; cout座位号 : seatendl; cout姓名 : name; coutendlID 号 : id; q=q-next;x+; if (x % 3 =0) ch=getch(); coutendl;void book() int i,j,p; coutendli; if (i=m) coutendl* 超出范围!*endl请重新输入:; else coutendl你要订的是到i地的飞机endl; coutendl第 i 架飞机剩余的票 :endl; for(p=1;p=n;p+) if (ai.seatp=0) cout p; coutendl; break; while(1); coutendlj; if (jn) coutendl* 超出范围!*endldate=i; coutendl您的订票日期 : dateendl; break; while(1); if (ai.seatj=0) ai.seatj=1; coutendl; ai.seat0+; if(i=1) add_information(head1,1,j); if(i=2) add_information(head2,2,j); if(i=3) add_information(head3,3,j); else coutendl* 对不起,该座位已被预订,您被安排到订票等候队列 *next=NULL; cout请输入个人信息endl; coutendl*endl; couttempw-name; couttempw-id; couttempw-phone; tempw-seat=y; tempw-plane=x; wait_end-next=tempw; tempw-pre=wait_end; wait_end=wait_end-next; coutendl* 正在排队等候 *count+; write_to_file();void show_wait() wait *tempw; tempw=wait_head-next; if (tempw=NULL) coutendl排队中没有人!endl; while(tempw!=NULL) coutnamenext; void add_information(node *head,int x,int y) node *temp; temp=new node; temp-pre=NULL; temp-next=NULL; cout请输入个人信息endl; coutendl*endl; couttemp-name; couttemp-id; temp-seat=y; temp-plane=x; temp-next=head-next; temp-pre=head; if (head-next!=NULL) head-next-pre=temp; head-next=temp; write_to_file(); coutendl* 订票成功 *endl;void search_delete(int x) node *p,*q,*r; wait *tempw,*tempw2,*tempw3; int step=1,t1,t2,i; char ch; p=new node; tempw=new wait; tempw2=new wait; tempw3=new wait; q=head1; coutendl请输入个人信息endl; cout*endl; coutendlp-name; do q=q-next; if ( (q!=NULL) & (comp(q,p) ) coutdate=q-plane; coutLocated!endl; cout*; coutendl姓名 : name; coutendlID号 : id; coutendl座位号 : seat; coutendl班机号 : plane; coutendl日期 : dateendl; if (x=1) coutch; if (ch=Y | ch=y) t1=q-plane; t2=q-seat; at1.seatt2=0; at1.seat0-; r=q;q=q-pre; r-pre-next=r-next; if(r-next!=NULL) r-next-pre=r-pre; delete(r); cout* 记录删除成功 ! *; write_to_file(); tempw=wait_head; for(i=0;icount;i+) tempw=tempw-next; if(tempw=NULL) break; if(tempw-plane=t1) & (tempw-seat=t2) strcpy(tempw3-name,tempw-name); strcpy(tempw3-phone,tempw-phone); coutendl等候的人中有可以订票的了:endl; coutendl姓名 : name; coutendlID号 : idplane=1) add_information(head1,1,tempw-seat); if(tempw-plane=2) add_information(head2,2,tempw-seat); if(tempw-plane=3) add_infor

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论