民航订票系统开发.doc

上传人:wj 文档编号:4874307 上传时间:2023-05-07 格式:DOC 页数:22 大小:495KB
下载 相关 举报
民航订票系统开发.doc_第1页
第1页 / 共22页
民航订票系统开发.doc_第2页
第2页 / 共22页
民航订票系统开发.doc_第3页
第3页 / 共22页
民航订票系统开发.doc_第4页
第4页 / 共22页
民航订票系统开发.doc_第5页
第5页 / 共22页
民航订票系统开发.doc_第6页
第6页 / 共22页
民航订票系统开发.doc_第7页
第7页 / 共22页
民航订票系统开发.doc_第8页
第8页 / 共22页
民航订票系统开发.doc_第9页
第9页 / 共22页
民航订票系统开发.doc_第10页
第10页 / 共22页
民航订票系统开发.doc_第11页
第11页 / 共22页
民航订票系统开发.doc_第12页
第12页 / 共22页
民航订票系统开发.doc_第13页
第13页 / 共22页
民航订票系统开发.doc_第14页
第14页 / 共22页
民航订票系统开发.doc_第15页
第15页 / 共22页
民航订票系统开发.doc_第16页
第16页 / 共22页
民航订票系统开发.doc_第17页
第17页 / 共22页
民航订票系统开发.doc_第18页
第18页 / 共22页
民航订票系统开发.doc_第19页
第19页 / 共22页
民航订票系统开发.doc_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

民航订票系统开发.doc

《民航订票系统开发.doc》由会员分享,可在线阅读,更多相关《民航订票系统开发.doc(22页珍藏版)》请在冰点文库上搜索。

民航订票系统开发.doc

摘要

目前,国内航空公司的数量和规模都在扩大,国外航空公司也纷纷着陆中国,这些航空公司之间的竞争可谓日益激烈。

配备一个安全、高效、灵活、可靠的航空订票管理系统对于航空公司加强客户服务质量,提高客户服务水平,扩展业务途径,维护公众形象,提高工作效率必将发挥重要作用。

随着随着计算机的发展和普及,人们的生活方式发生了巨大的改变,计算机在代替和延伸脑力劳动方面发挥着越来越重要的作用。

在交通系统中,有大量的数据需要被处理,而这些工作有人来完成几乎是不可能的,而交给计算机处理,就可以很好地满足我们的需求。

航空售票管理系统可以根据乘客和管理人员的要求,进行方便快速的查询、购票、退票和管理等工作。

本文介绍了简易航空售票管理系统的实现过程。

关键词:

航空订票系统;国内航空;飞机航班;查询;购票;退票

目录

摘要 I

1前言 1

2需求分析 2

2.1需求概述 2

2.2需求环境 2

3.3功能概述 2

3概要设计 3

3.1程序功能模块结构设计 3

3.2系统的数据处理流程图 3

3.3数据库概要设计 4

4详细设计 6

4.1各功能的程序流程设计 6

4.2数据库逻辑结构设计 6

4.3系统功能模块设计图 8

5系统实现 9

5.1数据库及表的创建 9

5.2功能实现(及主要代码) 12

6系统运行 17

7总结 19

参考文献 20

1前言

随着科技的发展和人们生活水平的日益提高,人们在不断追求更加快捷的交通方式以满足人们快节奏的生活方式,航空系统在交通系统中已扮演着一个越来越重要的角色。

然而,交通的快捷离不开信息的快捷。

随着随着计算机的发展和普及,人们的生活方式发生了巨大的改变,计算机在代替和延伸脑力劳动方面发挥着越来越重要的作用。

在交通系统中,有大量的数据需要被处理,而这些工作有人来完成几乎是不可能的,而交给计算机处理,就可以很好地满足我们的需求。

航空售票管理系统可以根据乘客和管理人员的要求,进行方便快速的查询、购票、退票和管理等工作。

本文介绍了简易航空售票管理系统的实现过程。

航空票务管理系统中主要包括了用户的基本信息(用户名、密码、权限),客户信息(姓名、性别、身份证号、联系电话、备注等),航班信息(航班编号、出发城市、到达城市等)。

可以添加、查询、修改、删除各表的基本信息,满足客户购买机票、退票等多种需求。

一切的统计和计算都计算机代为管理了,航空票务管理系统对企业的合理化管理起到了很大的作用,它为企业信息化的建设打响了头炮,企业的信息化建设已成为现代各个企业发展的需要。

20

2需求分析

2.1需求概述

由于现在航空业的快速发展,飞机使人们现在常用的交通工具。

所以在机票的信息管理和销售上要做到简单快捷。

而本航空订票系统则基本实现了要求的功能。

航空售票管理系统可以根据乘客和管理人员的要求,进行方便快速的查询、购票、退票和管理等工作。

本文介绍了简易航空售票管理系统的实现过程。

2.2需求环境

本课程设计需要的设备为硬件要求和软件配置要求具体要求如下:

Windows7、SQLserver2008、visualC++

3.3功能概述

航空票务管理系统中主要要解决的是:

1、用户在登录应用程序界面时,检查用户的合法性,并根据用户的权限为其分配功能。

2、本系统可以由售票员、经理、总经理几个身份进入,不同身份拥有不同权限。

例如,只有总经理可以在航班管理中修改和撤销航班,只有经理以上才能退票。

而售票员只能售票。

3、 系统管理员可以通过应用程序对用户信息进行统一管理,进行各种信息的修改与操作。

4、 应用程序内部要可以通过SQL语句对数据库内的数据进行更新、插入(增加)、修改和删除等操作。

5、 当系统管理员对相关信息进行操作时,系统要自动检测输入的数据是否合理,并弹出相应的提示信息。

6、 应用程序中要有该程序的相关简介和使用说明,帮助系统管理员和用户更好地使用该程序。

3概要设计

3.1程序功能模块结构设计

本次课程设计分为几大功能模块:

主界面模块,通过目的地查询航班模块,通过航班号查询航班信息模块,订票模块,退票模块,航班查询模块,添加航班信息模块,删除航班信息模块。

前面五大模块是我的伙伴完成,而我则主要负责后面的几个模块。

3.2系统的数据处理流程图

航班查询

修改航班

撤销航班

航班管理

新增航班

退票管理

修改航班

订单查询

订单管理

购票

购票管理

用户查询

修改密码

用户权限

民航订票系统

图3.1系统数据流

上图就是整个系统的系统数据流,分别给出了各个模块和所需的功能。

该图则是系统的数据流程图:

无 有

结束

是否还有命令

查询机票结果

查询航班结果

查询飞机结果

查询航班信息

查询机票信息

查询飞机信息信息

客户命令

1

图3.2

上图就是客户进行查询时系统根据发出的指令进行操作的步骤。

3.3数据库概要设计

一个成功的管理系统,是由:

[50%的业务+50%的软件]所组成,而50%的成功软件又有[25%的数据库+25%的程序]所组成,数据库设计的好坏是一个关键。

如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。

基于上述原因,系统的数据库采用熟悉的MSSQL2008,并以简单、高效为基本原则对系统数据库进行了分析和设计。

由于E-R模型与人们认识现实世界的相似形,因此在描述数据库的概念结构或全局逻辑结构时,采用E-R图这种图形化的表示有非常大的好处,一是图形化表示的简单性;二是图形化表示的清晰性。

通过详细的研究和分析,按照企业的一般的要求和运作程序,得到基本的实体关系图如图所示.

姓名

余票量

日期

目的地

航班号

航班信息

图3.3

该图是航班信息的ER图有关系模式:

航班信息(航班号,目的地,姓名,日期,余票量);

日期

目的地

订票量

航班号

姓名

已订票人信息

图3.4

该图是退票的ER图,存在关系模式:

退票(姓名,航班号,日期,订票量,目的地)

下图则是描述的几个模块的ER航班号

删除

添加

管理

管理员

查询

乘客

余票量

日期

飞机号

目的地

航班信息

4详细设计

4.1各功能的程序流程设计

基于上面的分析,按照软件工程的思想,对航空票务管理系统进行功能分析下面是我需要实现的功能,剩下的有我的伙伴完成:

(1)查询航班信息

(2)添加删除航班信息

(3)查看已订票人信息

(4)查看预订票人信息

图3.3表示航空公司主要对飞机和航线信息做出更新操作后进入系统对航班的信息进行查询。

结束

是否还有命令

查询机票结果

查询航班结果

查询飞机结果

查询航班信息

查询机票信息

查询飞机信息信息

客户命令

图4.3

4.2数据库逻辑结构设计

数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据名称、数据类型、长度、取之能否为空。

利用SQLServer2008建立test1表,表清单如下:

数据库中用到的表:

表4.2.1数据库表

数据库表名

关系模式名称

备注

Meseger

乘客

乘客基本信息表

Flight

航班

航班基本信息表

Seat

座位

座位基本信息表

Bookinfo

订票

乘客订票信息表

useraccount

管理员

管理员信息表

Ticket

退票

乘客退票信息表

Info

查询

查询此航班信息表

表4.2.2管理员信息数据表

字段名

字段类型

约束控制

说明

Username

Varchar

主键

帐号

Userpassword

Varchar

Notnull

密码

Locked

Int

锁定

表4.2.3乘客信息表

字段名

字段类型

约束控制

说明

Pname

Varchar

主键

姓名

pos

Char

Notnull

身份证号

tel

Char

Notnull

电话号码

表4.2.4航班信息表

字段名

字段类型

约束控制

说明

Fno

Char

主键

航班号

lbA

Varchar

Notnull

始发地

lbB

Varchar

Notnull

目的地

timeA

Varchar

Notnull

出发时间

timeB

Varchar

Notnull

抵达时间

price

Char

Notnull

票价

表4.2.5订票信息表

字段名

字段类型

约束控制

说明

Fno

Char

主键

航班号

stno

Char

Notnull

座位号

Pname

Varchar

主键

姓名

pos

Char

Notnull

身份证号

tel

Char

Notnull

电话号码

表4.2.6退票信息管理表

字段名

字段类型

约束控制

说明

Fno

Char

主键

航班号

stno

Char

Notnull

座位号

Pname

Varchar

主键

姓名

pos

Char

Notnull

身份证号

tel

Char

Notnull

电话号码

4.3系统功能模块设计图

通过各种系统的分析,得到了航空票务管理系统的主要功能模块及其关系,如图3.1所示:

航空票务管理系统

退票信息管理

客户基本信息

订单购买信息

关于版权模块

相关查询模块

系统信息

图4.4系统功能模块设计图

5系统实现

在本模块中主要是系统的实现,包括了数据库的创建和系统能够实现的基本功能。

5.1数据库及表的创建

创建订票表

CREATETABLE[dbo].[Bookinfo](

[Fno][char](10)NOTNULL,

[stno][char](10)NULL,

[Pname][varchar](50)NOTNULL,

[pos][char](10)NULL,

[tel][char](10)NULL,

CONSTRAINT[PK_Bookinfo]PRIMARYKEYCLUSTERED

[Fno]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

SETANSI_PADDINGOFF

GO

SETANSI_NULLSON

GO

航班表

SETQUOTED_IDENTIFIERON

GO

SETANSI_PADDINGON

GO

CREATETABLE[dbo].[Flight](

[Fno][char](10)NOTNULL,

[lbA][varchar](50)NULL,

[lbB][varchar](50)NULL,

[timeA][varchar](50)NULL,

[timeB][varchar](50)NULL,

[price][char](10)NULL,

CONSTRAINT[PK_Flight]PRIMARYKEYCLUSTERED

[Fno]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

SETANSI_PADDINGOFF

GO

乘客表

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

SETANSI_PADDINGON

GO

CREATETABLE[dbo].[Meseger](

[Pname][varchar](50)NOTNULL,

[pos][char](10)NULL,

[tel][char](10)NULL,

CONSTRAINT[PK_Meseger]PRIMARYKEYCLUSTERED

[Pname]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

SETANSI_PADDINGOFF

GO

退票表

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

SETANSI_PADDINGON

GO

CREATETABLE[dbo].[Ticket](

[Fno][char](10)NOTNULL,

[stno][char](10)NULL,

[Pname][varchar](50)NULL,

[pos][char](10)NULL,

[tel][char](10)NULL,

CONSTRAINT[PK_Ticket]PRIMARYKEYCLUSTERED

[Fno]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

SETANSI_PADDINGOFF

GO

管理员表

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

SETANSI_PADDINGON

GO

CREATETABLE[dbo].[useraccount](

[Username][varchar](50)NOTNULL,

[Userpassword][varchar](50)NOTNULL,

[Locked][int]NULL,

CONSTRAINT[PK_useraccount]PRIMARYKEYCLUSTERED

[Username]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

SETANSI_PADDINGOFF

GO

5.2功能实现(及主要代码)

增加航班信息模块

intaddflight(air&plane)//增加航班信息,对应按键6

{

charpassword[20]="123456";

charps[20];

printf("相关操作需要密码,请输入以确定您的信息\n");

scanf("%s",ps);

if(strcmp(ps,password)==0)

{

printf("密码正确\n");

createlistcorrect(plane);

returnOK;

}

else

{

printf("密码错误,系统将要退出\n");

returnERROR;

}

删除航班信息模块

intdeleteflight(air&plane)//删除航班信息,对应按键7

{

charpassword[20]="123456";

charps[20];

printf("相关操作需要密码,请输入以确定您的信息\n");

scanf("%s",ps);

if(strcmp(ps,password)==0)

{

printf("密码正确n");

charbanci[10];

airfrontp,delep;

printf("请输入要删除的航班号:

");

scanf("%s",banci);

delep=plane->next;

frontp=plane;

for(;delep;)

{

if(strcmp(delep->flightno,banci)==0)

{

frontp->next=delep->next;free(delep);

printf("删除成功!

\n");

break;

}

else

{

frontp=delep;delep=delep->next;

}

}

if(!

delep)

{

printf("无此航班信息!

请再次输入确定\n");

}

returnOK;

}

else

{

printf("密码错误,系统将要退出\n");

returnERROR;

}

}//deleteflight()

查询航班情况模块

voidPrint(airplane)//实现显示全部航班信息,对应按键5

{

airp;

p=plane->next;

if(!

p)printf("对不起,本航空公司无航线信息\n");

for(;p;p=p->next)

{

printf("降落城市:

%s航班号:

%s飞机号:

%s飞行时间:

%s余票量:

%dn",

p->terminusname,p->flightno,p->planeno,p->flytime,p->unsellno);

}

}//Print()

显示订票人信息模块

voidPrintal(albookb)//实现显示全部订票人信息,对应按键8

{

charpassword[20]="123456";

charps[20];

printf("相关操作需要密码,请输入以确定您的信息\n");

scanf("%s",ps);

if(strcmp(ps,password)==0)

{

printf("密码正确\n");

albookp;

p=b->next;

if(!

p)printf("对不起,暂无已订票人信息\n");

for(;p;p=p->next)

{

printf("订票人姓名:

%s定票量:

%dn",

p->albookname,p->albookno);

}

}

elseprintf("密码错误,系统将要退出\n");

}//Printal()

显示预订票人信息

voidPrintun(linkqueueun&Q)//实现显示全部预订票人信息,对应按键9

{

charpassword[20]="gaoyunqiang";

charps[20];

printf("相关操作需要密码,请输入以确定您的信息\n");

scanf("%s",ps);

if(strcmp(ps,password)==0)

{

printf("密码正确\n");

unbookp;

p=Q.front->next;

if(!

p)printf("对不起,暂无等候排队订票人信息\n");

for(;p;p=p->next)

{

printf("等候人姓名:

%s所需票量:

%dn",

p->unbookname,p->unbookno);

}

}

elseprintf("密码错误,系统将要退出\n");

}//Printun()

6系统运行

以下是程序运行时的部分功能实现的截图:

图6.1

上图是航班信息添加,基本实现了航班信息添加模块要求的功能。

图6.2

上图是该系统的航班查询功能,能够查询在系统中的航班的信息。

包括了降落城市,航班号,飞机号,飞行时间和余票量。

图6.4

以上两图实现了系统的航班信息删除功能。

图6.5

上图实现了查看已订票人的信息的功能。

7总结

本次课程设计是民航订票系统的开发。

最大的问题就是没能链接上数据库。

在网上查找了很多资料还是不行。

总的来说这次课程设计还有不足的地方就是运用的编写语言编写的程序的可观赏性不高,整个界面做的很简略,不过,要求的功能还是基本实现了。

这次课程设计暴露了我在进行语言连接数据库上的不足,还需要多多加强这方面的训练。

参考文献

[1]张莉.SQLServer数据库原理与应用教程(第3版)[M].北京:

清华大学出版社.2012

[2]王成良.数据库技术及应用[M].北京:

清华大学出版社.2011

[3]刘金岭,冯万利.数据库系统及应用教程—SQLServer2008[M].北京:

清华大学出版社.2013

[4]杨学全等.SQLSERVER实例教程(第2版)[M].北京:

电子工业出版社,2008

2009

[5][美]KarliWatsonChristianNagel等.C#入门经典(第3版).北京:

清华大学出版社,2006

[6][美]SimonRobinson/ChristianNagel著,李敏波译《C#高级编程(第3版)》.北京:

清华大学出版社,2013

[7]江红,余表松.C#程序设计教程[M].北京:

清华大学出版社

[8]张雨.VisualC++工程应用与项目实践[M].机械工业出版社,2005年1月

[9]王珊

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2