机票预定信息系统

合集下载

UML可视化建模(航空订票系统)

UML可视化建模(航空订票系统)

《可视化建模与UML》课程结业报告课题名称: 航空客运订票系统建模姓名: ***学号: *******班级:****: ***完成日期: 2013.06.16目录第一章概述 (3)1.1系统开发的摸底和开发背景 (3)1.2系统功能 (3)1.3系统结构框架 (4)1.4开发环境 (5)第二章用例模型 (6)2.1用例模型简介 (6)2.2用例图的的含义及其作用 (6)2.3用例图及用例描述 (7)第三章类模型 (10)3.1类模型简介 (10)3.2类图的作用 (10)3.3类图 (11)第四章交互模型 (13)4.1交互模型简介 (13)4.2序列图简介 (13)4.3序列图的作用 (13)4.4序列图描述及其序列图 (14)第五章行为模型 (20)5.1行为模型简介 (20)5.1.1活动图简介 (20)5.1.2活动图的作用 (20)5.1.3状态图简介 (21)5.1.4状态图的作用 (21)5.2行为模型图 (21)5.2.1活动图及其描述 (21)5.2.2状态图及其描述 (23)第六章构件图和部署图 (25)6.1构件图简介 (25)6.2部署图简介 (25)第七章课程学习小结 (27)7.1课程小结 (27)7.2学习心得 (27)参考文献 (28)第一章概述1.1系统开发的摸底和开发背景随着科技与经济的发展,越来越多的人选择乘飞机,这跟我国的经济增长有很大关系,人们在追求快节奏的生活方式,所以做飞机无疑成了首选。

而且随着网络的盛行,航空订票系统就显得尤为重要,我们开发这个系统主要是为了方便大家,让大家能够快速、清晰、准确地了解航班信息,而不至于像以前那样排队等候,从而避免耽搁乘客大量的等待时间。

航空客运业务诞生已有进一个世纪了,作为现有交通工具中最方便快捷的一种,它确实地给大家的生活、出行带来了极大的方便。

随着航空客运业务多年来的发展,其售票业务也同样不断地发展。

1.2系统功能机票预订系统是在现代社会生活节奏不断加快,对机票预订工作的自动化和准确化要求也日益强烈的背景下,为了实现机票预订工作的网络化,以及实现网络查询和统计一体化而开发的管理信息系统。

机票订购系统

机票订购系统

数据结构课程项目实施方案一、项目名称: 机票订购系统二、项目要求及系统基本功能•利用数据结构的知识独立完成一个应用系统设计•程序正常运行,能够实现基本的数据增加、删除、修改、查询等功能•体现程序实现算法复杂度优化•体现程序的健壮性系统预期实现基本功能:(结合本系统预期具体实现,描述出对应基本要求(增、删、改、查等)的具体功能)1.增加航班信息2.修改航班信息3.查询航班信息4.订购机票5.退订机票6.备份恢复航班信息7.进入系统需要密码,并且密码可修改8.分为Admin和Client用户,不同用户权限不同,并且可修改三、项目组成员及任务分配(基本分为组织实施组织、程序功能模块编写、系统说明撰写等。

其中程序功能子模块实现每一个成员都要分配)组长:许峥10160400113主要任务:排序账户信息的修改修改和删除航班信息主程序调试项目报告制作组员:高家乐10160400109主要任务:程序的主题框架增加航班信息查找航班信息主程序调试源代码编写组员:杨柳10160400102主要任务:数据的备份与恢复LOGO制作菜单的制作以及主程序调试流程图制作四、系统设计算法描述(用文字结合框图描述系统功能主要实现算法思路等,即使用自然语言描述系统实现)1、修改航班信息:可以用来修改航班的具体信息,可以按照航班号来查询航班的主要信息以便修改。

2、查询航班信息:可以用来查询航班的具体信息,可以按照航班号来查询具体信息。

3、增加航班信息:可以选择在任何一个航班的后面插入该航班的信息,同样可以按照航班号来插入。

4、删除航班信息:可以按照航班号来删除航班的信息。

5、顶退票功能:可以订购和退订机票。

6、系统登录及密码管理:本程序分为Admin和Client两个账户,不同账户不同功能,而且账户名,密码以及权限都可以修改。

7、保存及备份:本程序可以保存和备份航班信息,而且可以指定路径,所保存的信息包括航班的各项信息。

五、系统实现程序程序流程图(主要以程序流程图的形式体现各函数之间的运行调用关系)程序源代码/*程序名称:飞机订票系统*//*团队成员:组长:许铮*//* 组员: 欧阳益*//*完成时间:2011年6月3日*/#include<stdio.h>#include<conio.h>#include<windows.h>#include<string.h>#include<stdlib.h>#define ACCOUNTS 2#define MAX 20typedef struct{char name[20];double id;}guestinf;typedef struct{char PlaneID[5];char PlantUp[5];char PlaneDown[5];double value;int chair;char start[MAX];char end[MAX];guestinf gueinf[MAX];}plane;typedef struct{char name[20];char password[10];int type;}account;void welcome(){printf("\t\t\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");printf("\t\t\t ☆☆☆☆☆☆\n");printf("\t\t\t ☆☆☆☆☆\n");printf("\t\t\t ☆☆☆☆☆☆☆☆\n");printf("\t\t\t ☆☆☆☆☆\n");printf("\t\t\t ☆☆☆\n");printf("\t\t\t ☆☆☆☆☆☆\n");printf("\t\t\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");system("color 48");Sleep(300);system("color 48");Sleep(300);system("color 7C");Sleep(300);system("color 0F");}int password(){system("color 0c");FILE *pw;account accounts[ACCOUNTS];/*存储账户信息*/account pwtry;/*存储用户输入的账户信息*/strcpy(accounts[0].name,"Admin");strcpy(accounts[0].password,"neusoft");accounts[0].type=1;strcpy(accounts[1].name,"Client");strcpy(accounts[1].password,"ese10001");accounts[1].type=2;int i;pw=fopen("password.txt","r");if(NULL==pw){printf("本程序的Admin的初始密码为neusoft,Client初始密码为ese10001\n");pw=fopen("password.txt","w");fprintf(pw,"%10s %10s %1d",accounts[0].name,accounts[0].password,accounts[0 ].type);fprintf(pw,"%10s %10s %1d",accounts[1].name,accounts[1].password,accounts[1 ].type);fclose(pw);Sleep(3000);return 1;}else{for(i=0;i<ACCOUNTS;i++){if(feof(pw)){printf("load error");break;}else{fscanf(pw,"%10s %10s %1d",accounts[i].name,accounts[i].password,&accounts[i] .type);}}int repeat=max(strlen(accounts[0].password),strlen(accounts[1].password));printf("\n\n\n\n\n\n\n\n\n\n\n\n");printf("\t\t\t\t请输入用户名");scanf("%s",);printf("\t\t\t\t请输入密码");for(i=0;i<repeat;i++){pwtry.password[i]=getch();printf("*");if('\13'==pwtry.password[i])break;}printf("\n");for(i=0;i<ACCOUNTS;i++){if(0==(strncmp(accounts[i].password,pwtry.password,strlen(accounts[i].passwor d)))&&(0==strncmp(,accounts[i].name,strlen(accounts[i].name)))){system("cls");printf("\t\t\t\t密码正确,欢迎进入本系统!\n");fclose(pw);Sleep(300);system("color c0");Sleep(300);system("color 0c");Sleep(300);system("color c0");Sleep(300);return accounts[i].type;}}printf("\a\t\t\t\t用户名或者密码错误!即将退出!");fclose(pw);Sleep(1000);exit(1);}}int changeuserfile(){char password1[10],password2[10];account pwtry;int i,n;FILE *pw;account accounts[MAX];pw=fopen("password.txt","r");for(i=0;i<MAX;i++){if(feof(pw))break;else{fscanf(pw,"%10s %10s %1d",accounts[i].name,accounts[i].password,&accounts[i] .type);}}printf("请输入用户名");scanf("%s",);printf("请输入密码");for(i=0;i<10;i++){pwtry.password[i]=getch();printf("*");if(pwtry.password[i]=='\13')break;}for(i=0;i<MAX;i++){if(!((strncmp(accounts[i].name,pwtry.password,strlen(accounts[i].password)))&& (strncmp(,accounts[i].name,strlen(accounts[i].password))))){printf("\n请输入新的账户名");scanf("%s",accounts[i].name);printf("请输入新密码");scanf("%s",password1);printf("请再次输入");scanf("%s",password2);while(1){printf("请输入账户类型(1 admin,2 client");scanf("%d",&accounts[i].type);if(accounts[i].type!=1&&accounts[i].type!=2)printf("输入错误,请重新输入");elsebreak;}if(0==strcmp(password1,password2)){strcpy(accounts[i].password,password1);pw=fopen("password.txt","w");for(i=0;i<MAX;i++){fprintf(pw,"%10s %10s %d",accounts[i].name,accounts[i].password,accounts[i].ty pe);}fclose(pw);printf("修改成功!\n");return 1;}else{printf("两次输入的密码不一致,修改错误!\n");return 0;}}}}int AddInf(plane *p){int i=0;while(p[i].chair!=0&&i<10)i++;printf("请输入航班号\n");scanf("%s",p[i].PlaneID);printf("请输入起飞时间");scanf("%s",&p[i].PlantUp);printf("请输入降落时间");scanf("%s",&p[i].PlaneDown);printf("请输入票价");scanf("%lf",&p[i].value);printf("请输入座位数");scanf("%d",&p[i].chair);printf("请输入起飞地点\n");scanf("%s",p[i].start);printf("请输入降落地点\n");scanf("%s",p[i].end);return 0;}int Num(plane *p){int i,j=0;for(i=0;i<10;i++){if(0!=strcmp(p->PlaneID,"NULL"))j++;}return j;}int All(plane *p){int i,j;j=Num(p);for(i=0;i<j;i++){printf("\t航班号\t起飞时间\t降落时间\t起飞地点\t降落地点\t票价\t 剩余座位数\n");printf("\t%s\t%s\t%s\t%20s\t%20s\t%lf\t%d",p[i].PlaneID,p[i].PlantUp,p[i].Plane Down,p[i].start,p[i].end,p[i].value,p[i].chair);}return 1;}int IDtoNum(plane *p,char *q){int i;for(i=0;i<MAX;i++){if(0==strcmp(p[i].PlaneID,q))return i;}return -1;}int RepairInf(plane *p){char PlaneID[5];char *q;q=PlaneID;printf("请输入航班号");scanf("%s",&PlaneID);int i=IDtoNum(p,q);printf("请输入新的航班号\n");scanf("%s",p[i].PlaneID);printf("请输入新的起飞时间");scanf("%s",&p[i].PlantUp);printf("请输入新的降落时间");scanf("%s",&p[i].PlaneDown);printf("请输入新的票价");scanf("%lf",&p[i].value);printf("请输入新的座位数");scanf("%d",&p[i].chair);printf("请输入起飞地点\n");scanf("%s",p[i].start);printf("请输入降落地点\n");scanf("%s",p[i].end);return 0;}int FindInf(plane *p){char PlaneID[5];char *q;q=PlaneID;printf("请输入要查询的航班号");scanf("%s",PlaneID);int i=IDtoNum(p,q);if(i==-1){printf("没有这个航班");return 0;}else{printf("\t航班号\t起飞时间\t降落时间\t起飞地点\t降落地点\t票价\t 剩余座位数\n");printf("\t%s\t%s\t%s\t%20s\t%20s\t%lf\t%d",p[i].PlaneID,p[i].PlantUp,p[i].Plane Down,p[i].start,p[i].end,p[i].value,p[i].chair);return 1;}}int Buyticks(plane *p){char PlaneID[5];char *q;q=PlaneID;printf("请输入要购票的航班号");scanf("%s",PlaneID);int i=IDtoNum(p,q);if(i==-1){printf("没有这个航班");return 0;}else if(p[i].chair==0){printf("这架飞机已经没有座位了!");return 0;}else{printf("请输入您的姓名");scanf("%s",p->gueinf->name);printf("请输入您的身份证号");scanf("%lf",&p->gueinf->id);p->chair--;return 1;}}int Sellticks(plane *p){int k,j;char PlaneID[5];char *q;q=PlaneID;char name[MAX];double id;printf("请输入要购票的航班号");scanf("%s",PlaneID);int i=IDtoNum(p,q);if(i==-1){printf("没有这个航班");return 0;}else{printf("请输入您的姓名");scanf("%s",name);printf("请输入您的身份证号");scanf("%lf",&id);for(k=0;k<10;k++)for(j=0;j<MAX;j++){if(0==strcmp(name,p[k].gueinf[j].name)&&(id==p[k].gueinf[j].id)){p[i].chair++;printf("退票成功!");return 1;}}printf("查无该乘客信息,退票失败!");return 0;}}int cancleInf(plane *p){char PlaneID[5];char *q;q=PlaneID;printf("请输入要取消的航班号");scanf("%s",PlaneID);int i=IDtoNum(p,q);strcpy(p->PlaneID,"NULL");printf("取消成功!\n");return 0;}int recovery(plane *p){return 0;}int backup(plane *p){FILE *bac;char back[20];printf("请输入要保存的文件名");scanf("%s",back);bac=fopen(back,"w");int i;fprintf(bac,"\t航班号\t起飞时间\t降落时间\t起飞地点\t降落地点\t票价\t 剩余座位数\n");for(i=0;i<10;i++){if(0==strcmp(p[i].PlaneID,"NULL")){fprintf(bac,"\n\nend");break;}fprintf(bac,"\t%s\t%s\t%s\t%20s\t%20s\t%lf\t%d",p[i].PlaneID,p[i].PlantUp,p[i]. PlaneDown,p[i].start,p[i].end,p[i].value,p[i].chair);fclose(bac);printf("备份成功!");return 1;}}void about(){printf("程序名称:飞机票订票系统\n");printf("制作团队:嵌入1班\n");printf("组长:许铮\n");printf("组员:欧阳益\n");}void menu(plane *p){int choice;while(1){printf("\n========================================================== =====================\n");printf("尊敬的Admin,欢迎使用本系统!\n");printf(" 1 ******* 新增航班\t");printf(" 2 ******* 修改航班\n");printf(" 3 ******* 查询航班\t");printf(" 4 ******* 订购机票\n");printf(" 5 ******* 退订机票\t");printf(" 6 ******* 取消航班\n");printf(" 7 ******* 恢复航班信息\t");printf(" 8 ******* 备份航班信息\n");printf(" 9 ******* 用户管理\t");printf(" 10 ******* 关于\n");printf(" 0 ******* 退出\n");printf("============================================================ ====================\n");printf("请输入您所需要的服务");scanf("%d",&choice);switch(choice){case 1:AddInf(p);break;case 2:RepairInf(p);break;case 3:FindInf(p);break;case 4:Buyticks(p);break;case 5:Sellticks(p);break;case 6:cancleInf(p);break;case 7:recovery(p);break;case 8:backup(p);break;case 9:changeuserfile();break;case 10:about();break;case 0:exit(1);break;default:printf("输入错误,请重新输入!");fflush;}}}void menuC(plane *p){int choice;while(1){printf("\n========================================================== =====================\n");printf("尊敬的Client,欢迎使用本系统!\n");printf(" 1 ******* 订购机票\n");printf(" 2 ******* 退订机票\t");printf(" 3 ******* 显示所有航班信息\n");printf(" 4 ******* 查询航班信息\t");printf(" 5 ******* 用户管理\t");printf(" 6 ******* 关于\n");printf(" 0 ******* 退出\n");printf("============================================================ ====================\n");printf("请输入您所需要的服务");scanf("%d",&choice);switch(choice){case 1:Buyticks(p);break;case 2:Sellticks(p);break;case 3:All(p);break;case 4:FindInf(p);break;case 5:changeuserfile();break;case 6:about();break;case 0:exit(1);break;default:printf("输入错误,请重新输入!");fflush;}}}void main(){int i,j;plane PlaneInf[10];plane *p;p=PlaneInf;for(i=0;i<10;i++){PlaneInf[i].chair=MAX;strcpy(p[i].PlaneID,"NULL");}int n=password();welcome();if(n==1)while(1)menu(p);else if(n==2)while(1)menuC(p);else{printf("\a非法的客户端!");Sleep(3000);exit(1);}}六、系统使用说明当第一次打开学生成绩管理系统时,系统会提示用户默认账户名和默认密码当以后打开时,系统会要求用户输入用户名以及密码输入用户名和密码之后,会进入功能界面此时已经可以使用增删改查等功能。

案例:机票预定系统

案例:机票预定系统

案例:机票预定系统一、可行性分析1 引言1。

1 编写目的:可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。

明确开发风险及其所带来的经济效益。

本报告经审核后,交软件经理审查。

1。

2 项目背景:开发软件名称:机票预订系统.项目任务提出者:中国民航及中国国际旅游开发公司。

项目开发者:浙江大学IMK开发小组。

用户:中国民航及中国国际旅游开发公司.实现软件单位:中国国际旅游开发公司及浙江大学项目与其他软件,系统的关系:本项目采用客户机/服务器原理,客户端的程序是建立在Windows NT 系统上以Microsoft Visual C++为开发软件的应用程序,服务器端采用Linux 为操作系统的工作站,是采用Oracle 8的为开发软件的数据库服务程序.2.可行性研究的前提2。

1要求主要功能:为游客提供机票预定服务,方便旅游局的售票工作,提高旅游局的服务质量和服务效率性能要求:机场提供的信息必须及时的反映在旅游局的工作平台上。

售票系统的定单必须无差错的存储在机场的主服务器上。

对服务器上的数据必须进行及时正确的刷新.输出要求:数据完整,详实。

输出要求:简捷,快速,实时.安全与保密要求:服务器的管理员享有对机场航班信息库及机票信息库和定票信息库的管理与修改。

售票员只享有对订票信息库的部分修改(写入与读出)。

完成期限:预计六个月,即截止2000年2月8日。

2.2目标:系统实现后,大大提高旅游局的机票预定服务效率。

降低售票服务中的错误发生率,减少信息交流的烦琐过程及其带来的开销.2.3条件,假定和限制建议软件寿命:5年。

经费来源:中国国际旅游开发公司。

硬件条件:服务器sun工作站,终端为pc机。

运行环境:Linux数据库:Oracle8投入运行最迟时间:2000/04/042.4可行性研究方法2.5决定可行性的主要因素成本/效益分析结果,效益〉成本.技术可行,现有技术可完全承担开发任务。

网上机票预订系统

网上机票预订系统
2.7 数据需求(ER 图表示)
管理员信息实体 E-R 图如图 2-1 所示。 管理员信息实体
管理员编号
管理员用户名
舱位等级信息实体 E-R 图如图 2-2 所示。
管理员密码
管理员电话
图 2-2 舱位等级信息实体 E-R 图
客机信息实体 E-R 图如图 2-3 所示。
图 2-3 客机信息实体 E-R 图
航线信息实体 E-R 图如图 2-4 所示。
图 2-4 航线信息实体 E-R 图
客户类型信息实体 E-R 图如图 2-5 所示。
图 2-5 客户类型信息实体 E-R 图
客户信息实体 E-R 图如图 2-6 所示。
图 2-6 客户信息实体 E-R 图
订票信息实体 E-R 图如图 2-7 所示。
图 2-7 订票信息实体 E-R 图
登陆界面
l 新用户注册,新用户可以注册,注册时输入用户名可以查询用户可不可用,可用就 可以注册,注册时可以判断用户输入的密码和验证密码是否相同,相同才给以注册, 如果满意可以点注册,注册成功后用户可以选择不用在回到登陆界面,可以直接 陆到用户主界面,以后就可以用这个用户登录了,如果不满意,点取消,所有信息 清空,重新输入。
机机 票票 清信 单息 D机 票信 息清
D2 机 票 信
2.5 外部接口需求
在用户界面方面要求错误信息格式均以弹出提示框的形式出现,硬软件接口方面没有特 别的需求,一般用户都可以直接使用。
2.5 性能需求
因为系统本身较小,并不投入实际应用,因此响应时间、结果精度方面可能会比较差, 数据量大小方面能够处理较大的数据量。
2.2 软件主要组成及功能
要完成功能主要有: l 新用户注册,新用户可以注册,注册时输入用户名可以查询用户可不可用,可用就 可以注册,注册时可以判断用户输入的密码和验证密码是否相同,相同才给以注册, 如果满意可以点注册,注册成功后用户可以选择不用在回到登陆界面,可以直接 陆到用户主界面,以后就可以用这个用户登录了,如果不满意,点取消,所有信息 清空,重新输入。 l 验证登陆名密码,正确进入主菜单,根据登录时所选的登录方式(客户、管理员) 的不同分别对用户设定不同的访问权限(如果是输入的客户用户名和密码正确,选 择以客户方式登陆则主界面里面的管理员界面不能用,如果输入的是管理员的相应 用户密码正确,以管理员的方式登陆则管理员界面可用)不正确则清空登录框,最 多可以输入三次,三次不正确系统会自动关闭。 l 主窗体的用户信息界面,用户点击个人查询按钮,可以把自己的个人信息显示到界 面上,还可以对自己的信息进行相应的修改(用户编号和用户名不能修改),还可 以点击我的机票查询,查询该用户的订票记录。 l 主窗体的订票界面,你可以点击你想查询的有关机票的信息的按钮(舱位信息查询, 客机信息查询,航线查询,客户类型信息查询)获得相关信息的表,根据表的内容, 你可以在下面的下拉框中选择你要定的票信息,点确定后在下面会显示你的机票的

机票预订系统《详细设计》.

机票预订系统《详细设计》.

《机票预订系统详细设计说明书》1、编写目的在前一阶段(总体设计说明书)中,已解决了实现该系统需求的程序模块设计问题。

包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。

在以下的详细设计报告中将对在本阶段对系统所做的所有详细设计进行说明。

在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序。

主要的工作有:根据在《需求分析说明书》中所描述的数据、功能、运行、性能需求,并依照《总体设计说明书》所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等)。

1.接受:旅客信息及取票通知和账单;2.输出:取票通知和账单和机票;3.网络输出和加密,输入和解密;4.分辨信息的种类并采取相应的处理步骤;5.判断信息的正误并采取相应的处理步骤;6.进行数据库的查询、修改工作;7.接受并判断错误,输出相应的出错信息。

我们将机票预订系统分为五个主要模块,分别为:订票模块,用户注册登录管理模块,航空管理系统,数据库模块,取票模块。

以下我为大家介绍以下数据库模块的详细设计。

2、数据库模块详细设计2.1数据库设计(1)概述数据库设计就是要根据数据的不同用途、使用要求、统计渠道、安全保密性等,来决定数据的整体存储形式,即决定数据的结构、类别、载体、组织方式、保密等级等一系列的问题。

本系统的数据库表设计如表2-7和表a、表b、表c、表d所示。

(2)功能本系统的数据库表设计如表2-1和表a、表b、表c、表d所示。

表2-1 数据库概况表a 航班班次表表b 定位信息表表c 帐单信息/旅客资料表号号 工作单位String20可工作单位表d 机位信息表字段名 数据类型 长度 可否空 注含意 班机号 String 6 不可 外部主键为班机号 班机号 机位信息String20不可机位信息2.2编码设计编码就是以数后字符来代表各种客观实体。

订机票短信——精选推荐

订机票短信——精选推荐

订机票短信篇一:机票预定信息系统数据库大作业1.要求:1) 需求分析。

2) 数据库设计。

2.1概念结构设计(E-R图)2.2逻辑结构设计(E-R模型转换为关系模式,指明所满足的范式并给出理由)。

2.3物理结构设计3) 数据库实现。

(录入数据,每个表应不少于10条数据)4) 数据库运行。

(不少于30条sql 语句,其中包括查询、更新、删除、插入、创建触发器等sql语句)5) 18周之前交。

2.可选题目:1.机票预定信息系统系统功能的基本要求:航班基本信息的录入,包括航班的编号、飞机名称、机舱等级等。

机票信息,包括票价、折扣、当前预售状态及经手业务员等。

客户基本信息,包括姓名、联系方式、证件及号码、付款情况等。

按照一定条件查询、统计符合条件的航班、机票等;对结果打印输出。

(1)、.机票预定信息系统1) 机票信息信息包括航班号、飞机名、目的地、起航时间、票价、折扣。

假设现在有3条航线, 目的地分别是北京, 上海, 广州, 飞机上可乘坐100人( 即初始订票数为0, 余票数为100) , 将这3条航线信息存入表“airline”中。

2) 客户基本信息客户信息包括姓名,性别,订票数,联系方式, 证件及号码, 假设已有3个客户信息存入表“customer”中。

有新客户订票时, 先输入客户的姓名和他提出的航班号, 查询该航线的订票情况, 若有余票, 则为客户办理订票手续, 分配给客户一个座位号, 然后将新客户的信息添加到文件“customer.dat”中, 并修改文件“airline.dat”中该航线的订票数和余票数。

若无余票, 则输出客满信息。

进一步可实现如果该航班已经无票,可以提供相关可选择航班信息。

3)航班航班号, 飞机名称,机舱等级, 座位号(初始为0)3) 退票业务根据客户提出的航班号, 办理退票, 从表“customer”中删除该客户的信息, 并修改表“airline”中相应航线的订票数和余票数。

航空公司机票预订系统开发需求文档

航空公司机票预订系统开发需求文档

航空公司机票预订系统开发需求文档1. 引言本文档旨在定义航空公司机票预订系统的开发需求。

通过该系统,用户可以方便地浏览、选择和预订机票,提高预订过程的效率和用户体验。

2. 功能需求2.1 用户注册和登录- 系统应提供用户注册界面,允许用户创建个人账户。

- 用户登录后可以访问个人信息和进行机票预订。

2.2 机票查询- 系统应提供机票查询功能,用户可以根据出发地、目的地、出发时间等条件进行机票搜索。

- 查询结果应包括航班号、起降时间、价格等信息。

2.3 机票预订- 用户可以选择心仪的机票并进行预订。

- 预订过程中,用户应输入旅行日期和旅客信息。

- 系统应验证用户输入,确保预订数据的准确性。

2.4 机票支付- 系统应提供多种支付方式,如信用卡、支付宝等,方便用户支付机票费用。

- 支付过程应保证用户信息的安全性和支付流程的可靠性。

2.5 订单管理- 用户可以查看个人订单,并进行订单取消、改签等操作。

- 系统应能够实时更新订单状态和相应的航班信息。

3. 非功能需求3.1 用户界面- 系统界面应简洁、直观,使用户能够方便地进行操作。

- 界面设计应符合现代化的界面风格和用户惯。

3.2 性能和可靠性- 系统在高并发情况下应保持良好的性能,保证用户能够快速进行机票查询和预订。

- 系统应具备高可靠性,防止关键数据丢失或损坏。

3.3 安全性- 用户个人信息和支付数据应进行加密处理,确保数据的安全性。

- 系统应采取必要措施防止恶意攻击和非法访问。

4. 开发和测试环境- 开发语言:Java- 开发框架:Spring Boot- 数据库:MySQL- 测试工具:JUnit5. 发布计划- 开发团队将按照敏捷开发的原则进行迭代式开发,每个迭代周期为两周。

- 预计系统开发完成后,进行用户测试和Bug修复,整个发布周期约为两个月。

以上为航空公司机票预订系统的开发需求文档,供开发团队参考。

如有任何疑问或变更,随时与我联系。

机票预订系统数据库案例

机票预订系统数据库案例

摘要摘要为了更好的巩固和加强书本所学的知识,把所学的东西转化为实际应用。

我们学习了IBM DB2应用程序的使用。

并应用了SQL语言。

对数据库的创建、修改、删除方法有了一定的了解。

通过导入表和删除表、更改表学会了对于表的一些操作。

为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。

当人们收集了大量的数据后,应该把它们保存起来进入近一步的处理,进一步的抽取有用的信息。

当年人们把数据存放在文件柜中,可现在随着社会的发展,数据量急剧增长,现在人们就借助计算机和数据库技术科学的保存大量的数据,以便能更好的利用这些数据资源。

通过机票预定系统的构造以及购票人的信息还有机票的相关信息制成表格,输入到数据库中,使之能够进行查询、修改、删除并且与机票预定系统执行相同的操作。

需求分析阶段就是要研究我所作的机票预定系统的具体分类和实施过程流图。

概念设计阶段要完成数据抽象与局部视图设计还有视图的集成。

逻辑结构设计阶段要把E-R图转化为关系模式并且把我输入的五张表结合在一起完成一个总关系表。

最后就是要运行和实施数据库。

要把查询结果与过程抓几张图关键词:SQL语言;IBM DB2;数据库设计;机票预定系统I大连交通大学数据库课程设计目录第一章绪论 (1)1.1课题简介 (1)1.2设计目的 (1)1.3设计内容 (1)第二章需求分析 (2)2.1需求分析的任务 (2)2.2需求分析的过程 (2)2.3数据字典 (2)第三章概念结构设计 (8)3.1概念结构设计的方法与步骤 (8)3.1.1概念结构设计的方法 (8)3.1.3概念结构设计的步骤 (8)3.2数据抽象与局部视图设计 (8)3.3视图的集成 (9)第四章逻辑结构设计 (11)4.1E-R图向关系模型的转换 (11)4.2数据模型的优化 (11)4.3数据库的结构 (12)第五章数据库的实施与运行 (15)5.1数据的载入 (15)5.2数据库的运行 (18)总结 (21)参考文献 (22)II第三章概念结构设计第一章绪论1.1课题简介随着时代的发展,计算系软件和系统的成熟,机票如果简单方面预定成为一个影响多数人生活的问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 数据库大作业 1.要求: 1) 需求分析。 2) 数据库设计。 2.1概念结构设计(E-R图) 2.2逻辑结构设计(E-R模型转换为关系模式,指明所满足的范式并给出理由)。 2.3物理结构设计 3) 数据库实现。(录入数据,每个表应不少于10条数据) 4) 数据库运行。(不少于30条sql语句,其中包括查询、更新、删除、插入、创建触发器等sql语句) 5) 18周之前交。

2.可选题目: 1.机票预定信息系统 系统功能的基本要求:

航班基本信息的录入,包括航班的编号、飞机名称、机舱等级等。机票信息,包括票价、折扣、当前预售状态及经手业务员等。客户基本信息,包括姓名、联系方式、证件及号码、付款情况等。按照一定条件查询、统计符合条件的航班、机票等;对结果打印输出。

(1)、.机票预定信息系统 通过此系统可以实现如下功能: 1) 机票信息 信息包括航班号、飞机名、目的地、起航时间、 票价、 折扣。

假设现在有3条航线, 目的地分别是北京, 上海, 广州, 飞机上可乘坐100人( 即初始订票数为0, 余票数为100) , 将这3条航线信息存入表“airline” 中。 2) 客户基本信息 客户信息包括姓名,性别,订票数, 联系方式 , 证件及号码, 假设已有3个客户信息存入表“customer”中。 有新客户订票时, 先输入客户的姓名和他提出的航班号, 查询该航线的订票情况, 若有余票, 则为客户办理订票手续, 分配给客户一个座位号, 然后将新客户的信息添加到文件“customer.dat”中, 并修改文件“airline.dat”中该航线的订票数和余票数。若无余票, 则输出客满信息。进一步可实现如果该航班已经无票,可以提供相关可选择航班信息。 3)航班 航班号, 飞机名称,机舱等级, 座位号(初始为0) 3) 退票业务 根据客户提出的航班号, 办理退票, 从表“customer”中删除该客户的信息, 并修改表“airline”中相应航线的订票数和 2

余票数。 4) 修改航班信息:当航班信息改变可以修改航班数据文件。 5) 输出全部航线信息和全部客户信息。 6) 退出系统。

1)、航空订票系统: 通过此系统可以实现如下功能: 1) 录入航线信息 每条航线信息包括航班号、飞机号、目的地、订票数、余票数共5项。假设现在有3条航线, 目的地分别是北京, 上海, 广州, 飞机上可乘坐100人( 即初始订票数为0, 余票数为100) , 将这3条航线信息存入文件“airline.dat” 中。 2) 订票业务 客户信息包括姓名, 航班号, 座位号(初始为0), 假设已有3个客户信息存入文件“customer.dat”中。 有新客户订票时, 先输入客户的姓名和他提出的航班号, 查询该航线的订票情况, 若有余票, 则为客户办理订票手续, 分配给客户一个座位号, 然后将新客户的信息添加到文件“customer.dat”中, 并修改文件“airline.dat”中该航线的订票数和余票数。若无余票, 则输出客满信息。进一步可实现如果该航班已经无票,可以提供相关可选择航班信息。 3) 退票业务 根据客户提出的航班号, 办理退票, 从文件“customer.dat”中删除该客户的信息, 并修改文件“airline.dat”中相应航线的订票数和余票数。 4) 修改航班信息:当航班信息改变可以修改航班数据文件。 5) 输出全部航线信息和全部客户信息。 6) 退出系统。

3.报告格式模版: 3

机票预定信息系统 1.需求分析 人们在网上预订机票越来越普遍,能提供网上预订服务的网站也越来越多,如:携程旅行网等,但这些网站提供的服务并非实时的,而是在人工干预的基础上完成的。为了提升企业效益,特开发此网上预订机票系统。

系统的功能要求: 机票订购子系统 (1)审查旅客信息的有效性 旅客将自己的个人信息提供给业务员,业务员通过计算机验证是否真实并允许该乘客购买机票。 (2)开发票 如果允许旅客买机票,则业务员将查阅机票储量,如果有票足够旅客购买,则开交款发票,否则不开发票。 (3) 签名并交款 当旅客拿到发票后查看无错,则签名并交款(可以现金,刷卡等形式交款),然后旅客就可以拿到机票了。 机票退票子系统 (1) 退票业务 根据旅客提出的航班号, 办理退票,并 从表“customer”中删除该客户的信息, 并修改表“airline”中相应航线的订票数和余票数。 (2) 修改航班信息: 当航班信息改变可以修改航班数据文件,然后输出全部航线信息和全部客户信息。

4

业务员检查是否能购票旅客不开发票业务员查看票存量开发票输入信息填写信息否是够不够 2系统设计 2.1 概念结构设计 E-R图是分为两部分实体和属性,每个实体可以有多个属性,这些属性用来表示实体的性质。不同实体之间可以用关系进行连接,表明各个实体之间的内在联系。实体和实体之间的关系有一对一的关系(1:1),一对多的关系(1:N)和多对多的关系(N:M)。 各个实体分E-R图如下图所示

实体:航班,航线,机票,旅客 5

航班航班号飞机名机舱等级

容客量

航线航班号起点目的地票价

机票机舱等级座位号票价预售状态业务员

折扣

航班号起飞时间 6

旅客姓名性别身份证号付款情况

联系方式

总体E-R图及各个实体之间的关系如下图所示 业务员输入旅客信息旅客购买缴纳票费机票对应航班1

nmnn

1 7

2.2 逻辑结构设计 E-R图向关系模型的转换 关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体,实体的属性和实体间的联系三个要素组成。所以将E-R图转换为关系模型实际上就是要将实体,实体的属性和实体间的联系转换为关系模式。转换原则如下。 1. 实体类型的转换:一个实体型转换成一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。 2.联系类型的转换,根据不同的情况做不同的处理。 ⑴ 一个1:1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。 ⑵ 一个1:N的联系可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为N端实体的码。 ⑶ 一个M:N联系转换为一个关系模式。与该联系相连的各实体的码为各实体码的组合。 ⑷ 三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。 ⑸ 具有相同码的关系模式可合并。 3. 根据销售信息管理系统的E-R图转换为关系模型如下。 将每一个实体转换成一个关系(关系就是给出关系名,属性就是实体属性,并标明该 8

关系的主键用下划线来表示) 关系模式: 航班(航班编号,飞机名,机舱数量,容客量),主码为航班号,符合三范式。 航线(航班号,起点,目的地,票价),主码航班号符合三范式。 机票(航班号,起飞时间,机舱等级,座位号,票价,折扣,预售状态,业务员),主码座位号,符合三范式。 旅客(姓名,性别,身份证号,付款情况,联系方式),主码为身份证号,符合三范式。 2.3 物理结构设计 表3-1 旅客表

字段名 中文名称 类型长度 取值范围 是否非空 主关键字 备注 Pname 姓名 Char 10 N N Psex 性别 Char 2 男、女 N N ID 身份证号 Char 10 00000~99999 N Y 主码

Pment 付款情况 Cahr 10 N N Pphone 联系方式 Cahr 10 N N

表3 -2 航班表 字段名 中文名称 类型长度 取值范围 是否非空 主关键字 备注 Pno 航班号 Char 10 0000~9999 N Y 主码 Aname 飞机名 Char 10 N N N Clevel 机舱等级 Char 10 N N N Ac 容客量 Int N N N

表3 -3 航线表 字段名 中文名称 类型长度 取值范围 是否非空 主关键字 备注 Pno 航班号 Char 10 0000~9999 N Y 主码 Spoint 起点 Char 10 N N Dt 目的地 Cahr 10 N N Fare 票价 int N N

表3 -4 机票表 字段名 中文名称 类型长度 取值范围 是否非空 主关键字 备注 Pno 航班号 Char 10 0000~9999 N Y 主码 Ptime 起飞时间 Char 10 00:00 N N Clevel 机舱等级 Char 10 N N Sno 座位号 Int 001~999 N Y 主码

相关文档
最新文档