机票预定信息系统
- 格式:doc
- 大小:300.00 KB
- 文档页数:15
《可视化建模与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决定可行性的主要因素成本/效益分析结果,效益〉成本.技术可行,现有技术可完全承担开发任务。
《机票预订系统详细设计说明书》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课题简介随着时代的发展,计算系软件和系统的成熟,机票如果简单方面预定成为一个影响多数人生活的问题。
长沙学院课程设计说明书题目机票预定管理系统系(部) 计算机科学与技术系专业(班级)姓名学号 2010021110 指导教师起止日期 2012.06.11-2012.06.22课程设计任务书课程名称:数据库系统原理设计题目:机票预定管理系统1、某航空公司机票预订管理系统需要如下信息:航班:航班编号、出发地、目的地、出发时间、飞行时间、飞机型号等。
飞机:飞机型号、座位数。
机票:航班编号、客户编号、价格、折扣、当前预售状态等。
客户:姓名、联系电话、身份证号码等。
业务员:姓名、工号。
2、系统功能的基本要求:按照一定条件查询、统计符合条件的航班、机票、客户信息等。
例如航班剩余舱位数目、同一航线可选航班信息、客户购买历史等,能够模拟完成机票预订业务。
各阶段具体要求:1、需求分析阶段二、定义数据项的含义和取值三、定义目标系统的数据流2、概念结构设计阶段●画出实体模型E-R图3、逻辑结构设计阶段●将实体模型转化为关系模型●给出每个关系的主关键字和函数依赖集●分析你所设计的关系数据库模式是否属于3NF4、物理设计阶段●确定所有字段的名称、类型、宽度、小数位数及完整性约束●确定数据库及表的名称及其组成●确定索引文件和索引关键字5、数据库安全及维护设计阶段5.1设计一个适合的数据库安全策略(用户身份认证、访问权限、视图)5.2为了实现复杂的数据完整性约束,设计适当的触发器5.3设计一个适合的数据库备份策略6、实施阶段●要求所有操作必须在查询分析器中用SQL语句或系统存储过程完成。
设计工作量:(1)软件设计:完成问题陈述中所提到的所有需求功能。
工作计划:安排两周时间进行课程设计,软件开发步骤如下,第一周完成1~4,第二周完成5~8,论文同步进行;1) 选定题目2) 需求分析3) 概念结构设计4) 逻辑结构设计5) 物理设计6) 数据库安全及维护设计7) 数据库上机实现8) 答辩设计工作量:40课时工作计划:班级日期节次教室内容指导教师10计科1班15周周一1-4 致远楼1413 布置任务潘怡15周周一5-6节涵虚楼B2103 答疑15周周二1-2 致远楼1401 上机15周周二3-4节涵虚楼B2103 答疑15周周二5-6节涵虚楼B2103 答疑15周周五1-4 致远楼1413 上机15周周五5-8节涵虚楼B2103 答疑16周周一1-4 致远楼1413 上机16周周一5-8节涵虚楼B2103 答疑16周周二1-2 致远楼1401 上机16周周二3-4节涵虚楼B2103 答疑16周周五1-4 致远楼1413 答辩16周周五5-8节涵虚楼B2103 答辩指导教师签名:日期:教研室主任签名:日期:系主任签名:日期:长沙学院课程设计鉴定表姓名学号专业计算机科学与班级技术设计题目机票预定管理系统指导教师指导教师意见:评定等级:教师签名:日期:答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名:日期:系(部)意见:系主任签名:日期:说明课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;目录1 引言 (1)1.1编写目的 (1)1.2 参考资料 (1)2 需求规约 (2)2.1业务描述 (2)2.2需求分析 (2)2.2.1统功能分析 (2)2.2.2统功模块图 (3)3 概念结构设计 (5)4 物理结构设计 (6)4.1E_R图向关系模型的转变 (6)4.2数据模型的优化 (6)5 物理设计 (7)5.1 表汇总 (7)5.2 各表的详细信息及其创建 (7)5.3 视图的设计 (14)5.4 存储过程、函数及触发器的设计 (14)6 安全性设计 (20)6.1 防止用户直接操作数据库的方法 (20)6.2 角色与权限 (20)7 数据库管理与维护说明 (21)7.1 数据库的完全备份 (21)7.2 数据库的差异备份 (21)7.2 数据库的日志备份 (21)8 总结 (22)1 引言1.1 编写目的本文档是数据库管理系统设计文档的组成部分,编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循《数据库设计和开发规范》。
中航信的ICS、CRS和DCS系统什么是GDS,全称是Glo bal Distri butio n System,即全球分销系统,是基于计算机技术支持下的大规模销售网络。
目前国际上的GDS分二类:1.既可以销售航空公司的产品(机票)也可以销售酒店的产品(客房),如SABRE、GALILE O、AMADEU S、WORLDS PAN和中国民航GD S系统(中航信Tra velsk y)。
2.只可以销售酒店产品,如:UTELL、ACCOR和一些酒店集团自己的销售网络,如:假日集团、喜来登、希尔顿。
中航信GDS系统的运行方式说明CRS全称是Compu ter Reserv ation System,即计算机分销系统。
CRS主要功能是为代理人提供航班可利用情况查询、航段销售、订座记录、电子客票预订,旅游产品等服务。
ICS全称是Inven toryContro l System,即航空公司人员使用的航空公司订座系统。
ICS是一个集中式、多航空公司的系统。
每个航空公司享有自己独立的数据库、独立的用户群、独立的控制和管理方式,各种操作均可以加以个性化,包括航班班期、座位控制、运价及收益管理、航空联盟、销售控制参数等信息和一整套完备的订座功能引擎。
DCS全称是Depar tureContro l System,即机场人员使用的离港控制系统。
DCS 是为机场提供旅客值机、配载平衡、航班数据控制、登机控制联程值机等信息服务,可以满足值机控制、装载控制、登机控制以及信息交换等机场旅客服务所需的全部功能。
根据上面图示,一名旅客来代理处购机票。
1.此时机票代理处首先要做的就是在C RS系统为旅客查询航班信息,那么CRS系统的航班信息是从何而来的呢。
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 主码