飞机订票系统设计报告
数据结构课程(航空订票系统)设计报告
航空客运订票系统1、需求分析航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。
试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。
【基本要求】(1)每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票量);(2)作为示意系统,全部数据可以只放在内存中;(3)系统能实现的操作和功能如下:a、查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行、最近一天航班的日期和余票额;b、承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若有余票,则为客户班里订票手续,输出作为好;若已满或者余票少于订票额,则需要重新询问客户要求。
若需要,可等级排队侯补;c、承办退票业务:根据客户提供的情况(航班),为客户办理退票手续,然后查询该航班是否有人排队侯补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队侯补的客户。
(4)开始已初始化3条航线(如下),可按操作提示选择“显示所有航线”查看,客户信息与新航线信息可根据测试需要自行添加,具体情况请见下面测试结果。
【选做内容】a、输出所有航线信息;b、管理员系统:通过密码认证后可查看所有航班的订票情况,可根据需要增加新的航线。
2、概要设计由于“航线”可只用一条单链表记录,故采用全局变量,减少参数的传递。
1、定义“航线”类型ADT Lairline{数据对象:D={ai|ai∈航线链表集,i=1,2,3……,n,n>=0}数据关系:R1={<ai-1,ai>| ai-1,ai∈D,i=1,2,3……,n }基本操作:Lairline search_line() //按航班号查找航班Lairline search_plant() //按飞机号查找航班Lairline search_day() //按飞行日期查找航班Lairline search_addr() //按航班终点查找航班void more() //设计者信息void guide() //主菜单界面void insert_line() //插入新航班void print_customer(airline *p) //显示航班客户信息void admin() //进入管理员操作系统void book() //订票系统void waited(airline *p) //排队订票系统void refund() //退票系统void search() //航班查询系统void InitLine() //初始化航线信息void printline() //显示所有航班信息} ADT Lairline2、主程序void main(){初始化;do{接受命令;处理命令(调用相应函数);}while(“命令”!=“退出”);}3、调用关系3、详细设计1、航线,客户的存储结构typedef struct customer{ //客户信息char name[20]; //客户姓名int num; //订票量int level; //舱位等级customer *next;}customer,*Lcustomer;typedef struct airline{ //航线信息char end_addr[20]; //航线终点char line_num[5]; //航班号char plant_num[8]; //飞机号int day; //飞行日期int total; //定员int left; //剩余票数customer *booked; //已定客户信息customer *wait; //排队等候订票信息airline *next;}airline,*Lairline;2、链表的各种操作Lairline search_line() //按航班号查找航班Lairline search_plant() //按飞机号查找航班Lairline search_day() //按飞行日期查找航班Lairline search_addr() //按航班终点查找航班void more() //设计者信息void guide() //主菜单界面void insert_line() //插入新航班void print_customer(airline *p) //显示航班客户信息void admin() //进入管理员操作系统void book() //订票系统void waited(airline *p) //排队订票系统void refund() //退票系统void search() //航班查询系统void InitLine() //初始化航线信息void printline() //显示所有航班信息部分操作的算法或伪代码Lairline search_line() //按航班号查找航班{char a[5];airline *p;p=L->next;PR("请输入航班号");SC("%s",a);for(;p;p=p->next)if(!strcmp(a,p->line_num)) break;return p;}void insert_line() //插入新航班{airline *p,*q;int flag=1;for(;flag;){q=(Lairline)malloc(sizeof(airline));PR("请输入航班号:");SC("%s",q->line_num);for(p=L;p->next;p=p->next)//判断航线插入位置if(strcmp(p->next->line_num,q->line_num)>=0)break;if(p->next&&strcmp(p->next->line_num,q->line_num)==0)//航线存在的情况{PR("航班已存在,请重新输入\n");continue;}按照提示输入新航线信息;PR("增加航班成功,是否继续增加\n继续(1)\n返回(0)");SC("%d",&flag);}}void admin() //进入管理员操作系统void admin() //进入管理员操作系统{int i,flag,tag;char a[20];airline *p;设置身份验证,只有密码正确才能进入,否则返回主程序;for(tag=1;tag;){PR("请选择操作\n查询航班订票情况(1)\n增加新航班(2)\n");SC("%d",&flag);if(flag==1){航线存在则显示航线客户信息,否则显示航线不存在;}else if(flag==2)insert_line();//增加新航线elsePR("操作错误,请按提示操作\n");PR("请选择操作\n继续(1)\n退回主菜单(0)\n");SC("%d",&tag);}guide();}void book() //订票系统{int i;int flag=0;airline *p;customer *cst,*c;PR("请输入查询航班的方式:\n");选择航线查找方式查找航线;if(p){航线存在,输入订票信息(包括客户姓名,订票量,票等级);if(cst->num<=p->left){票数满足,将客户信息添加到已定票客户名单;}else{余票不足,询问客户是否进行排队等候,若是,则将客户名单添加到排队订票名单;}}elsePR("没有该航班\n");guide();}void waited(airline *p) //排队订票系统{int flag;customer *q,*q0,*h;if(!p->wait) return;q=(customer *)malloc(sizeof(customer));q->level=0;q->num=123;strcpy(q->name,"00000");q->next=p->wait;h=q;for(;p->left>0&&q->next;){if(q->next->num<p->left){PR("%s,您正在排队定%d张票,现有票,是否定\n是(1)\n否(0)\n",q->next->name,q->next->num);SC("%d",&flag);if(flag){q0=q->next;q->next=q->next->next;q0->next=p->booked;p->booked=q0;p->left=p->left-q0->num;PR("排队订票成功\n\n");}}elseq=q->next;}p->wait=h->next;}void refund() //退票系统{int flag;char a[20];airline *p;customer *c,*c1;根据客户提供信息先找到航班(search_line())查找客户信息所在结点,若没有则返回主程序,若找到则删除节点,并询问排队客户是否订票(waited(p));}void search() //航班查询系统{int i;int flag=0;airline *p;PR("请输入查询航班的方式:\n");PR("航班号---->1\n");PR("飞机号---->2\n");PR("飞行日期-->3\n");PR("航班终点-->4\n");SC("%d",&i);for(;!flag;)switch(i){case 1: p=search_line();flag=1;break;case 2: p=search_plant();flag=1;break;case 3: p=search_day();flag=1;break;case 4: p=search_addr();flag-=1;break;default:PR("操作错误,请重新输入\n");break;}if(p){PR("终点站航班号飞机号飞行周日余票量\n");PR("%-20s%10s%10s%8d%8d\n",p->end_addr,p->line_num,p-> plant_num,p->day,p->left);PR("是否订票(确定请按1)");SC("%d",&i);if(i==1)book();}elsePR("没有该航班\n");}void InitLine() //初始化航线信息{初始化航线,先建立3条航线方便测试;}3、主程序void main() //主函数{int flag=1;more();guide(); //操作指引界面InitLine(); //初始化航班信息do{switch(getchar()){case '1':printline();break;//显示所有航班case '2':search();break; //查找航班case '3':book();break; //订票case '4':refund();break; //退票case '5':admin();break; //管理员系统case '6':more();break; //设计者信息case '9':system("cls");guide();break;case '0':flag=0;break;}}while(flag);}4、函数调用关系4、调试分析1、在编程过程中,起先使用的是局部变量,每次调用函数都需要进行参数的传递,很麻烦,而且还容易出现错误;后意识到航线的链表只有一条,很多函数都需要对其数据进行修改,故航线信息采用了全局变量,方便数据的修改,减少了参数的传递。
航空订票系统设计报告
一绪论11.1 课题背景及现状 (1)1.2 开发工具介绍 (1)二需求分析 (2)(一)航空售票系统的数据需求(二)数据字典(三) 主要数据流图三概要设计 (6)四逻辑设计 (7)五详细设计 (7)(一)基本查询语句(二) 程序流图中某些加工实现采用IPO图的方式描述(三)数据库的逻辑结构设计六测试结果 (12)七小结 (17)参考文献 (18)附录(主要源代码) (19)一绪论1.1 课题背景及现状随着旅游业的逐渐的成熟发达,航空客运量大幅度的提高,国内国际的旅游航班的增加,这些都对航空的信息管理系统提出了更高的要求,所以要不断的完善更新航空售票系统,提高航空售票系统的工作效率。
航空公司为方便旅客,需开发一个订票系统。
系统的操作者是有登录密码和用户名的售票员。
系统要实现的基本功能是航班的调整,售票,订票,取票,退票,乘客信息的管理,乘客购票的统计;而系统在以后扩展时还可以实现的功能有:对机组工作人员的管理,预定机票的送票情况管理等。
此系统的开发由我们分模块完成,而我所负责的模块是实现系统的航班调整,售票,订票,退票,取票,航班查询功能。
举一个旅客订票的例子:预定机票的旅客信息,包括姓名、性别、地址、证件号、目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。
旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。
并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。
航空售票系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点1.2 开发工具介绍本次课程设计应用的开发工具主要是用java语言和SQL Server 2005 。
飞机售票系统课程设计报告
飞机售票系统课程设计报告一、课程目标知识目标:1. 让学生理解飞机售票系统的基本概念、功能及工作原理。
2. 让学生掌握飞机售票系统中涉及的航空公司、航班、座位、票价等基本知识点。
3. 让学生了解飞机售票系统在实际应用中的数据处理和存储方法。
技能目标:1. 培养学生运用所学知识分析和设计飞机售票系统的能力。
2. 培养学生使用编程语言或工具实现飞机售票系统基本功能的能力。
3. 培养学生通过实际操作,掌握飞机售票系统的使用方法。
情感态度价值观目标:1. 培养学生对计算机科学和技术领域的兴趣,激发他们探索航空业信息化的热情。
2. 培养学生具备团队协作精神,学会与他人共同解决问题。
3. 培养学生关注社会发展,认识到信息技术在航空业中的重要作用。
课程性质分析:本课程为信息技术或计算机科学与技术相关课程的实践环节,旨在让学生将所学理论知识运用到实际项目中,提高他们的实践能力。
学生特点分析:学生为高中年级学生,具备一定的计算机操作和编程基础,对新鲜事物充满好奇心,善于团队合作。
教学要求:1. 结合课本知识,注重理论与实践相结合,提高学生的动手能力。
2. 注重培养学生的创新意识和解决问题的能力。
3. 强调团队协作,提高学生的沟通与协作能力。
二、教学内容1. 基本概念:介绍飞机售票系统的定义、功能、发展历程及在航空业中的重要性。
关联教材章节:第一章 计算机售票系统概述2. 系统架构:讲解飞机售票系统的整体架构,包括客户端、服务器端、数据库等组成部分。
关联教材章节:第二章 售票系统架构与设计3. 数据库设计:学习飞机售票系统中涉及的表结构设计,如航班信息、座位信息、旅客信息等。
关联教材章节:第三章 数据库设计4. 功能模块:详细介绍飞机售票系统的各个功能模块,如查询航班、预订机票、支付、退改签等。
关联教材章节:第四章 售票系统功能模块设计5. 编程实践:指导学生使用编程语言(如Python、Java等)或工具(如Visual Basic、Access等)实现飞机售票系统的基本功能。
飞机订票系统课程设计报告人才管理与系统完善
飞机订票系统课程设计报告人才管理与系统完善关于飞机订票系统的课程设计报告的一些思路和建议。
一、选题背景和意义现代化的交通运输系统为人们的生产、生活以及经济发展带来了巨大的便利,而机票订购作为交通运输系统的重要组成部分,也越来越得到人们关注。
因此,设计一个高效、安全、可靠、方便的飞机订票系统,对于提高机票预定及购票效率,实现国内民航市场的信息化和现代化,具有非常重要的意义。
二、课程设计的主要内容和目标1. 系统需求分析:系统开发前需要对需求进行详尽的分析和规划,包括界面设计、系统数据库的设计等。
2. 数据库设计:包括数据库建模、定义数据结构、定义实体及其属性等。
3. 系统架构设计:这是整个系统的核心部分,设计需根据功能划分的模块进行构建,并确定各种关键的模块之间的交互关系,比如订单管理、票务管理、会员管理、支付管理等。
4. 系统开发与实现:基于需求分析、数据库设计以及系统架构设计,进行测试、编码、调试等,实现整个系统。
5. 系统完善:包括性能优化、安全性加固、兼容性问题的解决等。
三、在系统设计过程中需要考虑的因素1. 用户体验:系统操作应当简单、明了、易于理解,从而方便用户进行操作,提高用户的使用体验并减少操作出错的可能性。
2. 安全性:系统应当设备多种安全措施,防范用户信息泄漏或被黑客攻击,包括数据加密、用户认证、审计等。
3. 可维护性:系统中应当考虑到技术的更新换代,因此在设计时需要进行规范化开发,模块化设计。
4. 兼容性:系统应能在多种操作系统和浏览器上运行,面向多个设备进行开发,以便让更多的用户能够使用该系统。
总之,飞机订票系统的课程设计需要考虑到各种实际因素,系统设计应具有安全性、可维护性、用户体验良好的特点,同时也需要在实际中寻找更好的完善方法。
飞机订票管理系统设计与实现开题报告
一、研究思路
1. 需求分析
首先,我们需要对飞机订票系统的需求进行深入的分析。包括用户需求、系统功能需求以及非功能需求等。通过与用户沟通、市场调研以及查阅相关文献,了解系统的实际需求和潜在需求。
2. 系统设计
根据需求分析的结果,进行系统的总体设计。包括系统架构设计、模块划分、数据库设计等。为了满足系统的各项功能和性能要求,我们将采用分层架构的设计思想,将系统分为表示层、业务逻辑层、数据访问层和接口层。
四、总结
本报告对飞机订票管理系统的国内外研究现状进行了综述,重点介绍了国内外的先进技术和应用情况。未来的研究方向包括:采用先进的软件架构和技术,如微服务架构、人工智能和大数据分析等,以提高系统的性能和可扩展性;关注用户体验和数据安全问题,为用户提供更好的订票体验和更安全的数据保护;以及个性化订票服务的研究,根据用户需求提供定制化的机票推荐和预订服务。
2. 提升服务质量:系统可以提供更加便捷、个性化的订票服务,提升航空公司的服务质量,提高用户满意度。
3. 促进信息共享:系统可以实现信息的集中管理和共享,方便航空公司之间的信息交流和合作,提高行业整体竞争力。
综上所述,飞机订票管理系统在技术、经济和社会方面都具有可行性,能够为用户和航空公司带来便利和效益。
研究思路
软件设计思路
一、模块设计
飞机订票管理系统主要分为以下几个模块:用户管理模块、机票查询模块、机票预订模块、订单管理模块。
1. 用户管理模块:负责管理用户的注册、登录、密码找回等功能。该模块需要实现用户信息的增删改查,以及用户权限的管理。
2. 机票查询模块:提供用户查询机票的功能,包括查询航班信息、价格、余票等。该模块需要实现航班信息的查询和展示。
二、角色设计
C语言课程设计报告飞机订票系统
C语言课程设计题目:飞机订票系统专业:。
学号:。
:。
任课教师:。
C语言课程设计报告一、课程设计报告正文(1)课程设计题目的原文;假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。
试设计一民航订票系统,使之能提供下列服务:航班信息录入功能(文件保存)完成航班信息浏览功能;查询航线(至少一种查询方式)。
(2)题目的分析(需求分析);任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中)浏览:航班信息浏览功能需要提供显示操作;查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。
要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。
可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、预售票总数、已售票数。
(3)整体设计与模块划分;根据需求分析,该程序可分为以下四大模块:(4)代码设计;包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析等等;二、航班基本信息输入模块航班信息录入函数:航班信息浏览函数:[流程图]显示信息查询模块:分析:基本信息的查询按查询可供选择的方式比较丰富,可按航班号查询。
在查询小模块中采用了直接查找的方法。
本模块可以通过多种查询方式进行完善。
这是本程序没有做的地方。
[流程图](一)核心源程序清单和执行结果:a)源程序清单:#include<stdio.h>#include<stdlib.h>#include<io.h>#include<math.h> //标准输入、输出头文件#include<string.h> //包含字符串函数处理头文件#include<process.h> //包含access函数的头文件#define N 1000 //定义最多的航班数#define PRINT "%d\t\t%s\t\t%s\t\t星期%s\t\t%d\n ",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count //宏定义输出格式struct air //定义结构体数组{int num; //定义航班号char start[20]; //航班起始站char over[20]; //终点站char time[10]; //飞行时间int count; //机票数量}s[N];int i,m=0; //定义全局变量char ii[10];void add(); //函数声明增加航班信息函数void print(); //显示航班信息void search(); //查找航班信息void read(); //读取文件void save(); //保存文件void output(); //输出格式void chushihua(); //系统初始化void build(); //建立数据文件void main() //主函数{int j;chushihua(); //系统初始化判断是否存在原始数据文件printf(" O(^_^)O欢迎使用飞机订票系统O(^_^)O \n"); //打印出系统主界面do{printf("===================================================================== =========== ");printf(" 1.增加航班信息\n"" 2.浏览航班信息\n"" 3.查找航班信息(按航班号)\t\t\n"" 0.退出\n");printf("================================================================================ ");printf("请在0-3中选择以回车键结束:");scanf("%d",&j);switch(j){case 1: add(); //调用增加航班函数break;case 2:print(); //调用显示模块break;case 3:search(); //调用查找模块break;case 0: //退出系统save();printf("使用,再见!( ^_^ )/~~ \n ");break;}}while(j!=0); //判断是否调用其他函数}void chushihua() //定义系统初始化函数{if(access("hangban.dat",0)){build();}elseread();}void build() //定义建立数据文件函数{FILE *fp; //定义文件指针if((fp=fopen("hangban.dat","wb"))==NULL) //打开文件并判定是否出错{printf("创建文件失败! "); //打印出错提示getchar();return;}printf("请依次输入航班信息(以回车键结束):\n"); //打印提示信息printf("-------------------------------------------------------------------------- \n");for(i=0;i<N;i++){printf("请输入航班号: ");scanf("%d",&s[i].num); //输入航班号printf("请输入起始站: ");scanf("%s",s[i].start); //输入起始站printf("请输入终点站: ");scanf("%s",s[i].over); //输入终点站printf("请输入时间(星期几): ");scanf("%s",s[i].time); //输入时间printf("请输入机票数: ");scanf("%d",&s[i].count); //输入机票数fwrite(&s[i],sizeof(struct air),1,fp);m++;printf("添加完毕,是否继续添加?请键入y或n以回车键结束:");scanf("%s",ii);if(strcmp(ii,"y")!=0) //判断是否继续添加航班信息{fclose(fp); //关闭文件return;}}}void read() //定义读取文件函数{FILE *fp;if((fp=fopen("hangban.dat","r"))==NULL){printf("创建文件失败! ");getchar();return;}i=0;while(!feof(fp)){fread(&s[i],sizeof(struct air),1,fp); //逐块读取数据i++;m++; //计算存在航班数}m--;fclose(fp);}void save() //定义保存函数{FILE *fp;if((fp=fopen("hangban.dat","wb"))==NULL){printf("创建文件失败! ");getchar();return;}for(i=0;i<m;i++) //逐块保存数据fwrite(&s[i],sizeof(struct air),1,fp);fclose(fp);}void add() //定义增加航班信息函数{do{printf("请依次输入您要增加的航班信息(以回车键结束): \n"); //打印提示信息printf("-------------------------------------------------------------------------- \n");printf("请输入航班号: ");scanf("%d",&s[m].num); //读取航班号printf("请输入起始站: ");scanf("%s",s[m].start); //读取起始站printf("请输入终点站: ");scanf("%s",s[m].over); //读取终点站printf("请输入时间: ");scanf("%s",s[m].time); //读取时间printf("请输入机票数: ");scanf("%d",&s[m].count); //读取机票数m++;printf("添加完毕,是否继续添加?请键入y或n以回车键结束:");scanf("%s",ii);}while(!strcmp(ii,"y")); //判断是否继续添加}void output() //定义输出格式函数{printf("航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n"); //信息标题for(i=0;i<m;i++)printf(PRINT);//打印出信息}void print() //定义显示航班信息函数{printf("\n目前我们有如下航班:\n");output(); //调用输出格式函数printf("\n请按回车键返回上层菜单");getchar();getchar();}void search() //定义查询函数{int n;do{printf("\n请输入航班号:");scanf("%d",&n); //输入查询的航班号for(i=0;i<m;i++){if(s[i].num==n) //按航班号判定输出条件{printf("\n您所查找的航班信息为:\n ");printf("航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n\n");printf(PRINT); //显示信息printf("\n查询完毕,按回车键继续");getchar();getchar();return;}}printf("\n对不起,没有您需要的信息!\n ");printf("是否重新查找?请键入y或n以回车键结束");scanf("%s",ii);}while(!strcmp(ii,"y"));//判定是否重新查找}1)第一次运行程序(输入初始数据)界面提示输入原始数据:请输入航班号→请输入起始站→请输入终点站→请输入飞行时间→请输入机票数。
机票预定系统课程设计报告
机票预定系统课程设计报告目录第1章概述 (2)1.1选题的背景与意义 (2)1.2相关技术分析 (2)第2章系统功能设计 (3)2.1系统总体结构设计图 (3)2.2系统功能模块 (3)2.2.1 飞机航班模块 (3)2.2.2 旅客功能模块 (3)2.2.3 机票预订模块 (3)第3章数据库设计 (4)3.1需求分析 (4)3.2概念结构设计 (6)3.3逻辑结构设计 (8)3.3.1 E-R图向关系模式转换原则 (8)3.3.2 范式的判断(3NF) (8)3.3.3具体的基本E-R图向关系模型的转化 (8)3.3.4模型优化 (8)3.3.5 子模式的设计(视图) (9)3.4物理结构设计 (10)3.4.1存储结构与存取方法 (10)3.4.2索引的建立 (10)3.4.3数据库、表建立的代码 (10)3.5数据库实施 (17)3.5.1 数据库、表截图 (17)3.5.2数据备份和还原策略: (18)第4章结束语 (19)参考文献 (19)第1章概述1.1 选题的背景与意义随着社会的发展和知识经济时代的到来,人类已进入信息化社会,信息增长的速度越来越快,人们希望利用先进的管理理论方法手段来处理越来越多的信息,以提高工作效率和管理水平。
由于信息资源对人们生活的重要性不断提高信息的收集,传输,加以利用等活动,日益成为人们社会生活的重要组成部分。
同时伴随着社会的不断进步,民航事业的壮大,人们消费水平的提高,乘坐名航的消费者也越来越多,旅游逐渐成为普通老百姓的生活组成部分,飞机票预订查询系统在各机票预订网点中的作用业越来越显重要。
然而,目前我国的一些旅行社和酒店的机票预订还停留在人工处理阶段,这已经严重制约了工作效率,,同事在当今社会因特网的大量实现,其自身所具有的开发性、全球性、低成本、高效率的特点,使得跨行业、跨地区、跨企业进行管理成为可能。
全球信息发展到世界的各个角落、各个领域。
通过企业间跨地区的合作,可以降低成本提高企业的竞争力。
机票预订系统-课程设计报告
姓名varchar(20)notnull
);
9.向退票信息表中插入数据
insert
into退票信息表(订单39;4536','412356199102304526','张华');
insert
into退票信息表(订单号,身份证号,姓名)
取票信息管理模块流程图,如图2-4所示。
图2-4取票信息管理模块流程图
5.退票信息管理模块
功能:主要用于退票信息的管理,包括对订单号、旅客姓名、联系方式、身份证号等的查询。
退票信息管理模块流程图,如图2-5所示。
图2-5退票信息管理模块流程图
第
3
1.数据流程图,如图3-1所示。
图3-1数据流程图
2.数据字典
values('刘晨','女','410323199202351478','13243184563');
insert
into旅客信息表(姓名,性别,身份证号,联系方式)
values('张华','男','412356199102304526','13243188452');
insert
into旅客信息表(姓名,性别,身份证号,联系方式)
函数依赖:
订单号—>航班编号订单号—>座位号订单号—>旅客姓名
④退票信息实体对应的关系模式:
退票信息(订单号,身份证号,旅客姓名)
函数依赖:
订单号—>身份证号订单号—>旅客姓名
⑤座位实体的关系模式:
航空订票系统设计报告
航空订票系统设计报告一绪论 1 课题背景及现状............................................................... ......1 开发工具介绍................................................................. ........1 二需求分析............................................................... ........................2 航空售票系统的数据需求数据字典(三) 主要数据流图三概要设计............................................................... ........................6 四逻辑设计............................................................... ........................7 五详细设计............................................................... ........................7 基本查询语句(二) 程序流图中某些加工实现采用IPO 图的方式描述数据库的逻辑结构设计六测试结果............................................................... ......................12 七小结............................................................... (17)(三) 主要数据流图如下:(1)功能模块设计4 主要层次结构图:旅客航班查询各项业务管理界面乘机资料人明细管理售票管理票务管理购送票管理定单信息管理退出点击乘客机组人员送票情况订票情况关闭该界面回到登陆界面客户购票统计航航班增加班删除航班修改查询业务订票业务退票业务售票业务取票业务机场航班查询 5 三概要设计航空订票系统E-R图如下:性别证件号电话旅客类型年龄姓名地址旅客 1 1 订票购买票价 1 n 1 型号姓名订票旅客 1 航班飞机证件号机型舱位n 目的地航班座位飞行航班类型舱位航班号起飞时间 1 座位飞机型号订票日期取票日期航班起飞时间航班号剩余票数目的地票价出发地起飞日期到达时间 6 四逻辑设计根据E-R图和相关要求,把ER模型图转换为关系表,进行数据模型转换,系统用到五个基本表:旅客表;购买表;航班表;飞行表;飞机表将E-R图转换成关系模型,关系的主码用横线标识:旅客购买(旅客证件号,航班,票价) 航班(航班,出发地,目的地,起飞时间,抵达时间,航班类型,剩余票数,票价,起飞日期) 飞行(航班,型号,航程,中转站) 飞机(型号,舱位,座位,航班) 五.详细设计基本查询语句订票业务: 每次当有旅客需要订票时,首先需要对机场的航班情况进行查询,当有符合旅客的航班的机票剩余时旅客可以订票,并记录下旅客的相关信息,用到的SQL 语句为:insert into passenger(姓名,证件号,年龄,性别,旅客类型,地址,电话);然后旅客的订票信息存入数据库,并分配相应的航班和取票信息;退票业务:当有旅客退票时,需要根据录入旅客相关的信息将数据库peopleorder表中相应的记录删除,所用SQL语句为:delete from peopleorder where 姓名=’旅客姓名’,证件号=’旅客证件号码’,状态= ‘买票’; 航班增加/删除/修改业务:当航空公司需要对机场航班情况进行调整时,如增加/删除/修改操作,通过以下SQL语句实现:增加:insert into flight values (‘航班号’,’出发地’,’目的地’,’起飞时间’,’抵达时间’,’航班类型’,’剩余票数’,’票价’,’起飞日期’) 删除:delete from flight where 航班号=’航班号码’; 修改:update flight set [任意属性列]=[修改值] where航班号=’航班号码’; 7 二) 程序流图中某些加工实现采用IPO图的方式描述:“收集旅客信息数据算法”IPO表系统:航空售票作者:孙启欢模块:收集数据算日期: 编号:被调用:取调用:数据模块输入:姓名、性输出:格式化之后别的数据处理:格式化后的各种数据= 格式化局部数据元素:注释:本加工仅采集数据,未进行实质性的数据变换8 (“收集航班信息数据算法”IPO表系统:航空售票作者:孙启欢模块:收集数据算日期:编号:被调用:取调用:数据模块输入:航班,出输出:格式化之后发地,目的地,的数据起飞时间,抵达时间,剩余票数,票价,起飞日期,处理:格式化后的各种数据= 格式化局部数据元素:注释:本加工仅采集数据,未进行实质性的数据变换9 “订票/售票/取票/退票相关数据算法”IPO表系统:航空售票作者:孙启欢模块:审核数据算日期:法编号:被调用:审调用:核数据模块输入:旅客的相输出:订单信息,关信息,飞机/航机票信息班的相关信息处理:订单信息=旅客信息+所购买航班信息+取票信息机票信息=旅客购买航班的详细信息局部数据元素:10 数据库的逻辑结构设计旅客购买(旅客证件号,航班,票价) 航班(航班,出发地,目的地,起飞时间,抵达时间,航班类型,剩余票数,票价,起飞日期) 飞行(航班,型号,航程,中转站) 11 飞机(型号,舱位,座位,航班) 七测试结果在航空售票系统的开发过程中,我完成的模块是需要系统实现如下功能:航班的调整,订票/售票,退票,取票,航班查询测试过程中有如下主要代表性功能界面主要功能界面如下:12 订票客户资料界面订单号创立成功13航班退票系统主界面点击退票当订单号不存在时14 点击查询可知道该订单号的详细信息管理主界面15 航班管理系统管理员可以更新数据库八小结数据库课程设计任务渐渐远去,通过这次课程设计积累的信心与斗志,我开始写这篇文章,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹。
(完整word版)飞机订票系统实验报告
(完整word版)飞机订票系统实验报告实验题目:订票系统实验目的:1.了解并掌握数据结构的设计方法,具备初步的独立分析和设计能力;2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
实验要求:●任务:通过此系统可以实现如下功能:●录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)●查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;●订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;●退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
●修改航班信息:当航班信息改变可以修改航班数据文件实验主要步骤:航班端(一)输入航班信息,add()增加航班信息,并保存到save().(二)修改信息,在xiugai()函数里,输入要修改的航班号,选择修改的内容,如修改时间,地点并保存。
客户端(一)输入起始站和终点站,在两者都符合的条件下在search ()函数里查找,并输出航班信息。
(二)订票:用search(),判断是否有符合的航班,有则输出并进行订票,还有输入客户信息。
(三)退票:调用search(),用它的返回值判断是否有符合的航班,有则输入,并删除客户信息。
1)在主函数里先了调用chushihua(),确定有hangban.dat 文件,并让客户或航班端选择相应的模块。
2)定义订票业务函数,在这个函数中首先调用了search 函数查找需要订票的航班,用search函数的返回值判断是否有该航班。
机票预订系统系统设计报告
机票预订系统系统设计报告1. 引言机票预订系统是现代航空业务中不可或缺的重要组成部分。
随着航空旅行的普及,人们对于机票预订系统的需求越来越多。
本报告旨在设计一个高效、可靠并且用户友好的机票预订系统。
2. 系统设计目标- 提供用户友好的界面:系统应该提供简洁明了、易于使用的界面,以方便用户进行机票查询、选择和预订操作。
- 快速响应及准确性:系统应能够在用户提交查询或预订请求后迅速返回结果,并保持数据的准确性。
- 灵活多样的功能:系统应提供灵活多样的功能,比如机票查询、价格比较、航班时间表、航空公司评价等。
- 高性能和扩展性:系统应具备高性能的特点,能够支持大量用户的并发访问;同时应能够方便地进行扩展,以适应不断增长的用户需求。
3. 系统设计架构3.1 前端设计机票预订系统的前端界面应该具备友好的用户体验,界面设计应简洁明了,符合用户习惯。
常见的前端技术如HTML、CSS和JavaScript等可以用来实现前端界面设计。
3.2 后端设计后端设计主要包括数据库设计和业务逻辑设计。
3.2.1 数据库设计数据库设计是机票预订系统的核心部分。
数据库应该包含必要的表以保存航班信息、用户信息、订单信息等。
可以使用关系型数据库如MySQL 或非关系型数据库如MongoDB等来存储数据。
3.2.2 业务逻辑设计业务逻辑设计应包括用户注册、登录、机票查询、价格比较、预订订单等基本功能的设计。
在设计过程中应考虑到用户需求的多样性和系统的可扩展性。
3.3 系统架构设计系统可以采用三层架构设计,将前端、后端和数据库相分离。
前端负责用户界面交互,后端处理业务逻辑,数据库存储数据。
采用这样的架构有利于系统的扩展和维护。
4. 系统功能实现在机票预订系统中应该实现以下功能:- 用户注册和登录功能:用户可以注册一个账号并进行登录以使用系统的各项功能。
- 机票查询功能:用户可以根据出发地、目的地和日期等条件进行机票查询。
- 价格比较功能:系统应能够自动比较不同航空公司的机票价格,并给出最低价格。
航空订票系统设计报告
购买(buy)(旅客证件号,航班,票价) 航班(flight)(航班,出发地,目的地,起飞时间,抵达时间,航班
类型,剩余票数,票价,起飞日期) 飞行(fly)(航班,型号,航程,中转站) 飞机(plane)(型号,舱位,座位,航班)
一 绪论
1.1 课题背景及现状
随着旅游业的逐渐的成熟发达,航空客运量大幅度的提高,国内国 际的旅游航班的增加,这些都对航空的信息管理系统提出了更高的要求, 所以要不断的完善更新航空售票系统,提高航空售票系统的工作效率。
航空公司为方便旅客,需开发一个订票系统。系统的操作者是有登录 密码和用户名的售票员。系统要实现的基本功能是航班的调整,售票,订 票,取票,退票,乘客信息的管理,乘客购票的统计;而系统在以后扩展 时还可以实现的功能有:对机组工作人员的管理,预定机票的送票情况管 理等。此系统的开发由我们分模块完成,而我所负责的模块是实现系统的 航班调整,售票,订票,退票,取票,航班查询功能。举一个旅客订票的 例子:预定机票的旅客信息,包括姓名、性别、地址、证件号、目的地, 输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服 务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票 通知和帐单交款后取票,系统校对无误后即印出机票给旅客。
(一)基本查询语句 (二) 程序流图中某些加工实现采用 IPO 图的方式描述 (三)数据库的逻辑结构设计 六 测试结果............................................................................................ 12 七 小结.................................................................................................... 17 参考文献.................................................................................................. 18 附录(主要源代码).............................................................................. 19
机票预订系统需求分析报告三篇
机票预订系统需求分析报告三篇篇一:机票预定系统需求分析报告1引言1.1编写目的在现今的社会是一个讲究效率和快节奏的社会,人们有很强的时间观念,如果仍使用手工操作或使用相当繁琐的软件,既浪费了人力,又浪费了物力,效率无法提高,为此开发机票预定系统软件,能够适应现今社会并提高生产效率。
使售票员和旅行社更加变得方便和有效率。
该系统软件非常容易被接受,他具有简单易学性,便于管理等功能。
1.2项目背景随着社会发展的不断进步,民航事业的壮大,人们消费水平的提高,乘坐民航的消费者也越来越多,机票预订系统也开始影响着人们日常生活和出行,并且变得越来越重要。
而原有的系统随着航空公司载客量的迅猛增长和人们对便捷性要求的提高,已经变得无法满足需求。
原有的系统不仅效率比较低下,而且在安全性、准确性等方面有很多不足。
为了实现航空公司以及旅游行业的现代化管理,进一步提高工作效率,方便旅客,需要开发一个机票预订系统。
该系统需要具有完整的存储,查询,核对,打印机票的功能。
在这个系统中,旅客或工作人员在网上或旅行社的机票预售代理点,通过计算机系统查询,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印机票给旅客。
1.3定义1.4参考资料1.《软件工程导论》2.《实用软件工程》2任务概述2.1目标机票预定系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。
总之,这个系统要求能够实现实时,高效,便捷,完善,安全性好等特点。
2.2运行环境1设备:奔腾133,16兆以上内存的pc机。
2支持软件:用java程序设计语言作为系统的支持软件。
3接口:本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:输入界面、输出界面)。
飞机订票系统课程设计报告
科技大学本科生课程设计说明书题目:C语言课程设计——飞机订票系统学生:XXX学号:XXXX专业:计算机科学与技术班级:计2014-2指导教师:XXXX日期:2015 年1 月9日科技大学课程设计任务书目录科技大学课程设计任务书 (I)目录 (II)第一章需求分析 (3)1.1引言 (3)1.2任务概述 (4)1.3数据描述 (4)1.4功能需求 (4)1.5性能需求 (4)1.6运行需求 (4)1.7任务计划 (5)第二章概要设计 (6)2.1总体设计 (6)2.2数据类型设计(或数据结构设计) (6)2.3接口设计 (7)2.4运行界面设计 (7)第三章详细设计 (10)3.1输入模块设计 (10)3.2输出模块设计 (11)3.3查找模块设计 (12)3.4排序模块设计 (14)3.5保存及读取模块设计 (15)第四章测试分析 (17)4.1测试程序执行情况 (17)4.2测试结果及出现的问题和解决的方法 (17)第五章课程设计总结 (22)附录:程序代码 (23)参考文献 (35)鸣·····························错误!未定义书签。
第一章需求分析1.1引言随着时代的进步社会分工的不断细化,各个行业联系的不断密切,人们出行越来越多,出行的方式也是百花齐放,作为空中重要的交通工具,飞机航空系统也在不断地得到优化,其中重要的一项就是飞机航空订票系统,因此好的订票系统关系着人们的日常出行方便与否,设计并编制出符合人们需要的航空订票系统是一项繁重而艰巨的任务。
订票系统在现实生活中应用很广泛,通过这个系统可以使订票、退票等变得简便。
机票预定系统总体设计报告
机票预定系统总体设计报告1. 引言机票预定系统是一种在线预定机票服务的应用程序,旨在为用户提供便捷、快速、可靠的机票预定体验。
本总体设计报告将介绍机票预定系统的系统架构、功能模块、技术选型、数据库设计以及基本流程等内容。
2. 系统架构机票预定系统采用客户-服务器(Client-Server)架构,将客户端和服务器端分离,提高系统的可维护性和可扩展性。
客户端通过与服务器进行通信来获取机票信息、进行预定操作,并将预定信息提交到服务器端进行处理。
3. 功能模块机票预定系统主要包括以下功能模块:3.1 用户管理模块用户管理模块用于注册用户、登录系统、管理用户个人信息等操作。
用户可以通过注册账号和登录系统来进行机票预定,同时可以管理个人信息如姓名、联系方式等。
3.2 机票查询模块机票查询模块用于提供机票的查询功能,用户可以根据起飞地、目的地、日期等条件进行机票查询。
系统会返回符合条件的机票信息,供用户选择。
3.3 机票预定模块机票预定模块用于实现用户对特定机票的预定功能。
用户可以选择心仪的机票,并提供乘客信息、座位选择等信息。
系统会进行相应的校验并保存用户的预定信息。
3.4 订单管理模块订单管理模块用于用户查看和管理已预定的机票订单。
用户可以查询订单状态、取消订单或申请退票等操作。
3.5 支付模块支付模块用于实现机票预定后的支付功能。
用户可以选择不同的支付方式进行支付操作,如银行卡、支付宝等。
4. 技术选型机票预定系统采用以下技术进行开发:4.1 前端技术- 使用HTML、CSS和JavaScript实现前端页面和交互逻辑。
- 使用JavaScript框架如React、Vue等提高开发效率。
4.2 后端技术- 使用Java作为主要开发语言,基于Spring Boot框架搭建后端应用程序。
- 使用Spring MVC实现业务逻辑的处理和请求的分发。
- 使用Spring Data JPA来与数据库进行交互,实现数据的持久化存储。
飞机订票系统课程设计报告
飞机订票系统课程设计报告指导老师:班级:学生姓名:学号:完成日期:计算机科学与技术系飞机订票系统课程设计报告一、系统分析。
1.1根据飞机订票系统的设计目的,设计内容和设计要求。
本团队对飞机订票系统这一基础管理系统的业务进行了细致的分析讨论。
最终我们决定将整个系统分成7个主要模块。
采用结构体这一数据结构来存放教师的信息。
首先是信息录入模块,接下来输出模块,即浏览,查询,排序信息三个模块,最后是订票,退票模块。
为降低操作难度,以与出错率,决定使用全局数组与变量进行操作。
1.2飞机订票系统简易图二、系统设计2.1总体设计(主要功能)本程序包含六大主要模块①添加信息模块;②浏览信息模块;③信息查询模块;④信息排序模块;⑤订票模块;⑥退票模块。
整体程序采用全局数组fj(飞机)进行存储,全局变量pd(判断)作为标识变量。
宏定义输出格式。
采用Y,N的方式进行操作回退或继续操作的选择。
航班信息包括:航班号,起点,终点,票价,数量与订票标志量(隐藏信息)。
输入模块,使用分条输入,以减少错误率并方便操作。
浏览,查询与排序模块,组合成输出模块。
多方式输出更便于观察并方便记录,同时为后续模块的执行提供操作基础。
订,退票模块调用查询模块实现其功能。
2.2 软件、硬件环境软件环境 VC2009硬件环境处理器 Intel(R) Core(TM) i5-3210M CPU @2.50GHz 2.50GHz;显卡 GTX650。
内存 4.0GB操作系统 Windows 72.3主要数据结构和程序的关系说明主要数据结构是结构体struct hbxx //定义结构体数组,航班信息{int hbh; //定义航班号char qd[20]; //起点站char zd[20]; //终点站float pj; //票价int sl; //机票数量int dcp; //订票标志量}fj[N];2.4界面设计本程序开始运行的界面,共7个选项,简洁而大方。
飞机订票系统设计报告
算法与数据结构程序设计题目:飞机订票系统学院:计算机科学与过程学院专业:信息安全姓名:学号:指导教师:***2011年9 月9 日目录引言 (1)1.系统概述 (1)2.课程设计的目的 (2)3.需求分析 (3)4.详细设计 (4)5.所遇到的问题和分析解决 (10)6.系统特色及关键技术 (10)7.结论 (10)引言:当今时代是飞速发展的信息时代,科技的日新月异的发展必然会给人们的生活带来一定的变化。
就数据处理方面来说,单纯的手工操作不仅工作量大、出错率高、更面临着修改难,时间成本过高的问题,寻求一种更为细致安全,高效率的数据管理方式成为人们日益探讨和追求的问题。
而现代计算机的出现使者些成为了现实。
从上世纪七十年代问世至今,计算机已经不是单纯的数据计算机器,它已经被广泛地应用于信息系统的环境。
尤其对于复杂的信息管理,计算机往往表现出极高的效率和安全性。
本文论述的飞机订票系统是为公司的管理者提供的一种集录入、删除、查询修改、排序、统计等于一体的便捷的飞机订票系统。
该系统主要使得顾客订票能够更方便快捷。
为此,本系统能够给他们带来一些较为方便快捷的导航帮助。
本系统论述了飞机订票系统的开发目标、实现过程,并着重介绍了系统设计、所遇到问题的分析和解决、系统特色及关键技术等方面。
本文共分为6章:1.系统概述2.课程设计的目的3.需求分析4.详细设计5.所遇到的问题和分析解决6.系统特色及关键技术7.结论(心得体会)1.系统概述数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合。
通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。
数据结构往往同高效的检索算法和索引技术有关。
关于数据结构在计算机学界至今还没有标准的定义:Sartaj Sahni 在他的《数据结构、算法与应用》一书中称:“数据结构是数据对象,以及存在于该对象的实例和组成实例的元素之间的各种联系。
机票预订系统的设计报告.doc
机票预订系统的设计一、“机票预订系统”的立项背景机票预订工作的记录、查询、核对等工作量十分庞大,同时,操作相对简单且重复率很高,因此,可以利用计算机的管理信息系统进行这些繁杂而又简单的工作,以提高机票预定的工作效率、准确性、管理水平和服务质量。
因此开发机票预订系统。
本机票预订系统是在现代社会生活节奏不断加快,对机票预订工作的自动化和准确化要求也日益强烈的背景下,为了实现机票预订工作的网络化,以及实现网络查询和统计一体化而开发的管理信息系统。
该系统为机票预订管理员提供了一个个性化的界面,并且机票预订管理员只需一次登录就可以使用所有服务;将订票旅客需要的各种服务集中起来,订票旅客可以很方便地进行自身信息和航班、票价情况查询。
总之,从基本订票信息的录入到订票信息的查询,再到最终的信息核准打印机票,都可以通过这个系统完成。
本系统采用最新的计算机技术,界面友好、操作方便,管理员可以针对不同需求分类、排序、查询、统计,方便订票旅客和其他部门根据自己的需求准确、快速地查询订票及航班信息。
二、“机票预订系统”的可行性研究在项目可性行研究阶段,分析人员应对机票预订部门工作环境进行实地调查。
同主要领导、管理人员和工作人员进行了交流,对原有工作情况、工作流程、所完成的任务及目前系统存在的问题、新系统要解决的主要问题等进行初步调查。
初步调查研究的结果成为可行性研究的前提。
本系统开发的目的,就是通过系统开发,实现机票预订有关部门的工作进行集成和重组,通过网络系统加强各机票预订下辖部门之间的业务联系,提高业务工作水平,进而全面提高工作效率和质量,更好地为订票旅客服务。
该机票预订管理信息系统的应用可大幅度提高机票预订工作的效率和质量。
三、“机票预订系统”的需求分析需求分析是开发软件系统的重要环节,是系统开发的第一步和基础环节。
通过需求分析充分认识系统的目标、系统的各个组成部分、各部分的任务职责、业务范畴、工作流程、工作中使用的各种数据及数据结构、各部门的业务关系和数据流程等,为系统设计打下基础。
机票设计系统实验报告(3篇)
第1篇一、实验背景与目的随着航空业的快速发展,机票预订系统的需求日益增长。
为了提高预订效率、优化用户体验,本实验旨在设计并实现一个功能完善、操作便捷的机票预订系统。
通过本次实验,我们希望掌握需求分析、系统设计、编码实现以及测试等软件工程的基本流程,并提高对机票预订系统结构和功能的理解。
二、实验内容与要求1. 需求分析(1)系统功能需求:- 用户注册与登录:用户可以通过注册账号进行登录,方便后续预订和查询。
- 搜索航班:用户可以根据出发地、目的地、出发时间等条件搜索航班。
- 航班详情:展示航班的具体信息,包括航班号、机型、起飞时间、降落时间等。
- 预订机票:用户可以选择座位、填写个人信息并完成支付。
- 查询订单:用户可以查看自己的预订记录,包括订单状态、航班信息等。
- 取消订单:用户可以取消已预订的机票。
- 评价与投诉:用户可以对航班和服务进行评价或投诉。
(2)性能需求:- 系统响应时间:用户操作后的响应时间应控制在2秒以内。
- 系统并发用户数:支持同时在线1000个用户。
- 数据存储容量:至少存储100万条航班数据。
2. 系统设计(1)总体结构设计:- 用户层:负责用户界面交互,包括注册、登录、搜索、预订、查询、取消、评价等。
- 业务逻辑层:负责处理业务逻辑,如航班查询、订单管理、支付等。
- 数据访问层:负责数据持久化,如数据库操作、数据缓存等。
- 数据库层:存储航班信息、用户信息、订单信息等。
(2)详细设计:- 用户层:采用MVC(Model-View-Controller)模式,分离数据模型、视图和控制器。
- 业务逻辑层:采用分层设计,包括服务层、业务处理层和接口层。
- 数据访问层:采用ORM(Object-Relational Mapping)技术,实现数据持久化。
- 数据库层:采用MySQL数据库,设计合理的表结构和索引。
3. 实现与测试(1)编码实现:- 采用Java语言和Spring Boot框架进行开发,利用HTML、CSS、JavaScript等技术实现用户界面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法与数据结构程序设计题目:飞机订票系统学院:计算机科学与过程学院专业:信息安全姓名:学号:指导教师:***2011年9 月9 日目录引言 (1)1.系统概述 (1)2.课程设计的目的 (2)3.需求分析 (3)4.详细设计 (4)5.所遇到的问题和分析解决 (10)6.系统特色及关键技术 (10)7.结论 (10)引言:当今时代是飞速发展的信息时代,科技的日新月异的发展必然会给人们的生活带来一定的变化。
就数据处理方面来说,单纯的手工操作不仅工作量大、出错率高、更面临着修改难,时间成本过高的问题,寻求一种更为细致安全,高效率的数据管理方式成为人们日益探讨和追求的问题。
而现代计算机的出现使者些成为了现实。
从上世纪七十年代问世至今,计算机已经不是单纯的数据计算机器,它已经被广泛地应用于信息系统的环境。
尤其对于复杂的信息管理,计算机往往表现出极高的效率和安全性。
本文论述的飞机订票系统是为公司的管理者提供的一种集录入、删除、查询修改、排序、统计等于一体的便捷的飞机订票系统。
该系统主要使得顾客订票能够更方便快捷。
为此,本系统能够给他们带来一些较为方便快捷的导航帮助。
本系统论述了飞机订票系统的开发目标、实现过程,并着重介绍了系统设计、所遇到问题的分析和解决、系统特色及关键技术等方面。
本文共分为6章:1.系统概述2.课程设计的目的3.需求分析4.详细设计5.所遇到的问题和分析解决6.系统特色及关键技术7.结论(心得体会)1.系统概述数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合。
通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。
数据结构往往同高效的检索算法和索引技术有关。
关于数据结构在计算机学界至今还没有标准的定义:Sartaj Sahni 在他的《数据结构、算法与应用》一书中称:“数据结构是数据对象,以及存在于该对象的实例和组成实例的元素之间的各种联系。
这些联系可以通过定义相关的函数来给出。
”他将数据对象定义为“一个数据对象是实例或值的集合”。
Clifford A.Shaffer 在《数据结构与算法分析》一书中的定义是:“数据结构是ADT(抽象数据类型Abstract Data Type)的物理实现。
”Lobert L.Kruse 在《数据结构与程序设计》一书中,将一个数据结构的设计过程分成抽象层、数据结构层和实现层。
其中,抽象层是指抽象数据类型层,它讨论数据的逻辑结构及其运算,数据结构层和实现层讨论一个数据结构的表示和在计算机内的存储细节以及运算的实现。
而本人的理解,数据结构通俗来讲就是将数据元素依据某种逻辑联系组织起来通过特定的算法将理论运用到生活中解决一些现实问题应用。
在这次课程设计中,正是基于这样一种理念,在经过需求分析将实际情况综合起来之后设计并开发出了这样一个飞机订票系统。
本系统的主要功能是通过接收顾客的输入建立航班信息、顾客信息、订票情况、退票信息等内容,在实际的生产生活中确保数据的可靠性和安全性。
2.课程设计的目的数据结构课程设计是综合运用数据结构课程中的几种典型数据结构,以及程序设计语言(c语言),自行实现一个较为完整的应用系统的设计和开发。
通过课程设计,自己通过系统分析、系统设计、编程调试、写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。
学会将知识应用于实际的方法。
提高分析和解决问题的能力,增强综合能力。
2.1 飞机订票系统:2.1.1 熟练掌握链表存储结构及其建立过程和常用操作;2.1.2 学会自己调试程序的方法并掌握一定的技巧。
2.2课程设计内容飞机订票系统(限1 人完成)任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:当航班信息改变可以修改航班数据文件要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能.3.需求分析无论是做任何开发或者设计,我想,这都是一个必不可少的至关重要的阶段,飞机订票系统也不例外。
首先,作为一个系统的管理者,需要高效细致地管理航班的相关资料,就必须得依据航班的实际情况对顾客的各个“板块”分门别类地建立适当的文件其次,一个顾客的流动要求本管理系统必须具备处理这些数据出入的能力。
而我们更希望通过这样一个系统对顾客的某些信息一目了然,以便于相关人员能及时地做一些航班上的调整。
使用范围方面,管理系统顾名思义就是飞机的一般的管理阶层了。
界面上为了尽量设计得人性化一些,采用了多分枝的SWITCH CASE 语句,并有询问用户继续操作或是退出的选择处理。
对于输出,要求格式清晰,让人一目了然。
如若出现无符合查询条件的员工信息,则系统会给出相应提示。
本次系统开发主要的开发环境是VC,但因为它可以在编辑的时候一边给予提示,避免了不少语法上的错误。
而此次开发所用的编程语言-----C语言是得到广泛应用的程序设计语言之一,不同于C++面向对象的设计理念,它属于结构化程序设计语言,由于既具备高级语言的特性,又具有直接操纵计算机硬件的能力因而更适合于底层的技术开发。
本次要求编制程序,实现航班信息,顾客信息的存储结构,完成信息的录入、顾客退票、顾客订票、航班信息的修改、查询航班信息五个功能。
1.每条航线所涉及的信息有航班号,起飞时间,抵达时间,始发地,目的地,票价,折扣情况,座位总数,剩余座位数3.1录入:可以录入航班情况:航班号,起飞时间,抵达时间,始发地,目的地,票价,折扣情况,座位总数,剩余座位数3.2航班信息修改:对要修改的航班信息重新输入3.3航班信息的查询:(航班信息改变则航班数据改变)可以查询某个航线的情况:如可以通过航班号查询有关航班的信息(航班号,起飞时间,抵达时间,始发地,目的地,票价,折扣情况,座位总数,剩余座位数)3.4订票:(订票情况可以存在一个数据文件中)可以订票,若已无票,可以重新选择再进行3.5退票:可退票,退票后修改相关数据文件客户资料有姓名,证件号,订购机票数量,航班号3.6在此程序设计中要求做到以下要求或者运用到以下知识点:3.6.1 熟练掌握根据问题需求抽象结构进而选择合适的物理结构的方法3.6.2 掌握设计和调试应用程序的方法级技巧3.6.3 掌握实用程序的开发与调试技术3.6.4 线性结构和非线性结构3.6.5 逻辑结构和物理结构3.6.6 各种物理存储结构实现方式下各种运算的实现4.详细设计本系统涉及到三个文件,所以为了保持数据的一致性,所用操作都必须在三个文件上同时进行。
下面对本管理系统的各模块及其功能作详细介绍。
本系统的主要流程图如下先说一下主函数吧,本系统作为一个关于飞机订票的管理系统,首先在界面上就要人性化一点。
为了能提供多选择的操作,主函数内部选用了多分枝的switch case 语句,用户一进入到该界面系统就会自动提示请选择相应的操作,当用户选定后便可使用由系统提供的各种功能函数。
而switch语句的外层是一个do-while循环,当用户按照提示输入时可以不断地操作,输入非法时则不予执行。
进入该系统,首先映入用户眼帘的是下面一个界面。
从下图我们可以看到,该界面是一个人性化的界面,当用户登陆后可以自主选择需要进行的各项操作,各项操作表面上是相互独立的,但实际上数据之间又相互关联。
下面是各部分的具体功能:在头文件中宏定义了三个变量P_S、P_P、C_S,在其后的各项输入、输出中可以直接由其代替各自所表示的内容,从而使得程序的明朗,清晰化,不必在输入冗杂的代码来引起不必要的杂乱。
此外还定义了航班和顾客两个结构体,其中航班结构体包含了航班号、起降时间、飞机的始发地和目的地以及飞机票价、折扣、座位总数和剩余机票输,二各科信息结构体中泽囊括了顾客姓名、证件号、所订机票数、所订航班号和订单号。
4.1飞机订票系统的初始选择主界面4.2录入航班信息选择1号功能,从主界面进入录入航班信息功能界面,输入航班的相关信息。
在录入函数中依次输入航班的相关信息,包括航班号、其得时间、抵达时间、飞机始发地、目的地、票价、折扣情况、座位总数以及剩余机票数。
在输入一个航班结束后再判断是否继续录入航班信息,选择继续是再次输入相关信息,否则直接回到主界面进行其他的操作。
4.3修改航班信息在主界面中选择修改航班信息选项后进入修改航班信息界面,进行各项的航班信息的修改和重新录入。
在修改函数中,定义了number 变量来输入要修改的航班号,定义plane_inf 的指针p和指向它的头结点的指针。
利用while来判断该航班是否为空或者存在,若存在则进入while内进一步查询,查到后则进行修改航班信息,完成后输出提示:您已成功修改ⅹⅹ号航班,否则输出提示信息:对不起,该航班不存在。
而后释放相关链表,单击任意键退出该修改界面回到主界面。
4.4查询航班信息在查询函数中,定义变量choice作switch 的选择输入,定义变量number 代表航班号,定义飞机起降时间的变量,定义相关指针指向飞机结构体,便于输出的相关运用。
用if判断该航班是否为空,若空,则单击任意键退出,否则进入do{}while循环体内进入查询选择界面:0:为返回主菜单界面;1:为用航班号查询航班信息2:为利用始发地来查询航班信息。
在选择1后输入航班号,按下回车键后即可输出要查询的航班信息,选择2后则要求输入始发地,按下回车键后也同样可以输出该航班的相关信息。
最后返回到主界面进行其他的操作。
4.5顾客订票功能在订票函数中定义变量length,定义指向航班结构体和顾客结构体的两个指针,定义fp为顾客的信息文件指针,接着读取航班信息文件并初始化链表,如果航班结构体为空,清屏后返回,再读取顾客信息文件并初始化链表,将顾客结构体的统计的赋值给指针变量p1,再打开顾客信息文件,否则如果顾客想结构体不空,则找出最后一个结点,清屏后输入订票者的信息,包括姓名、证件号、订购机票数量和航班号,然后调用xg_hb函数,实现对航班信息链表的修改,在此期间,完成订票功能是回有提示信息:提示:您已成功订票,订单号是:ⅹⅹ;否则,当条件不满足时,会有提示:继续订票请输入Y,否则返回上一级菜单,然后依照提示进行相关输入,最后将修改后的航班信息链表写入到航班信息文件中,并释放相关函数。