ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:1.37MB ,
资源ID:5340342      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5340342.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(民航机场售票管理系统.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

民航机场售票管理系统.docx

1、民航机场售票管理系统青岛理工大学数据库系统课程设计院(系): 计算机工程学院 专业: XXXXXXXXX 姓名: XXXXXXX 班级: XXXXXXXXX 学号: XXXXXXXXXX 题目: 民航机场售票管理系统 起迄日期: 2011.1.3 2011.1.14 设计地点: 2号实验楼402 指导教师: XXXXXX 第1章 前言1.1. 课题背景现在人们更多的使用飞机作为出行交通工具,因此机票票务市场也在快速发展。人们希望机票销售手段也能相应地有所调整,并对如何能经济、方便和及时地购买到自己所需要的机票表现出极大的关注。随着社会的不断进步,国内外航空事业的飞速发展,各航空公司对票务管理的

2、要求也在不断的提高,本系统就是针对这种日益增长的需求也进行开发的。随着旅游业的逐渐的成熟发达,航空客运量大幅度的提高,国内国际的旅游航班的增加,这些都对航空的信息管理系统提出了更高的要求,所以要不断地完善更新航空售票系统,提高航空售票系统的工作效率。航空系统中,售票系统是很重要的一个环节,要想提高整个航空公司的工作效率,就要先提高售票系统的工作效率和安全性,故而研发此系统,此系统能够为售票工作提供方便快捷的售票服务,广大的客户可以得到更高更好的票务服务。本系统实现一个单机版的机票售票管理系统,通过考察分析,构建出数据库,并且实现票务管理模块、客户信息管理模块和航班信息管理模块。本系统的开发严格

3、遵守软件工程开发的标准流程。通过对各个模块的实现来完成最后软件总体功能的实现。通过观察,进行需求分析,画出E-R图和功能模块结构图。在模块设计的同时进行单元测试,系统设计完成进行系统调试。设计完成后,编写完整的软件说明书和用户手册,最后写对自己所作设计的评价和总结。1.2. 开发工具1.2.1 Windows SDKSDK,Software Development Kit 的缩写,中文即“软件开发工具包”。广义上指辅助开发某一类软件的相关文档、范例和工具的集合。SDK是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发 Wind

4、ows 平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序接口 API 的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK 还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。本系统是用传统的WINDOWS SDK编程方式,通过调用ODBC API来实现C+与数据库之间的链接。1.2.2 SQL Server 2005数据库SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个

5、OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应SQL Server安装界面用。SQL Server 2005 通过在可伸缩性、数据集成、开发工具和强大的分析等方面的革新更好的确立了微软在BI领域的领导地位。SQL Server 2005 能够把关键的信息及时的传递到组织内员工的手中,从而实现了可伸缩的商

6、业智能。从CEO 到信息工作者,员工可以快速的、容易的处理数据,以更快更好的做出决策。SQL Server 2005全面的集成、分析和报表功能使企业能够提高他们已有应用的价值,即便这些应用是在不同的平台上。1.2.3 ODBC API数据库连接技术ODBC是一种使用SQL的程序设计接口。使用ODBC 让应用程序的编写者避免了与数据源相联的复杂性。这项技术目前已经得到了大多数DBMS 厂商们的广泛支持。ODBC 是一种使用SQL 的程序设计接口。使用ODBC 让应用程序的编写者避免了与数据源相联的复杂性。这项技术目前已经得到了大多数DBMS 厂商们的广泛支持。Microsoft Develope

7、r Studio 为大多数标准的数据库格式提供了32 位ODBC 驱动器。这些标准数据格式包括有:SQL Server,Access,Paradox,dBase,FoxPro,Excel,Oracle 以及Microsoft Text。如果用户希望使用其他数据格式,用户需要相应的ODBC 驱动器及DBMS。ODBC API 是一个内容丰富的数据库编程接口,包括60 多个函数、SQL 数据类型以及常量的声明。ODBCAPI 是独立于DBMS 和操作系统的,而且它与编程语言无关。ODBC API 以X/Open 和ISO/IEC 中的CLI规范为基础,ODBC 3.0 完全实现了这两种规范,并添加

8、了基于视图的数据库应用程序开发人员所需要的共同特性,例如可滚动光标。ODBC API 中的函数由特定DBMS 驱动程序的开发人员实现,应用程序用这些驱动程序调用函数,以独立于DBMS 的方式访问数据。ODBC API 涉及了数据源连接与管理、结果集检索、数据库管理、数据绑定、事务操作等内容,目前的最高版本是3.0。通常使用ODBC API 开发数据库应用程序需要经过如下步骤: 连接数据源。 分配语句句柄。 准备并执行SQL 语句。 获取结果集。 提交事务。 断开数据源连接并释放环境句柄。第2章 需求分析2.1. 任务概述2.1.1 系统目标本系统需要满足以下几个系统设计目标。1)实用性原则:真

9、正为用户的实际工作服务,给民航机场售票业务带来方便。 2)友好性原则:本民航机场售票管理系统的用户是各大机场的售票人员,所以系统操作上要求简单、方便、快捷,便于用户使用。2.1.2 用户特点本系统面向各大民航机场,因为在每年的寒假、暑假、重要的假期,会有大量的用户订购飞机票,所以会在节假日的开始与结束时,本系统会出现较大的负荷。其它时间符合比较均衡。2.2. 系统的功能需求2.2.1 系统角色功能需求本系统只有一种角色:管理员。管理员负责添加、删除客机信息、客户信息、航线信息、舱位信息以及票务信2.2.2 功能模块本系统主要负责管理模块,各个子模块功能需求如下:1)机票预订信息管理模块管理员可

10、以添加机票预订信息,并可以对添加的机票预订信息进行添加、查询、删除。2)客户信息管理模块管理员可以批量添加客户信息,并可以对添加的客户信息进行添加、删除。3)航线信息管理模块管理员可以批量添加航线信息,并可以对添加的航线信息进行添加、删除。4)客机信息管理模块管理员可以批量添加客机信息,并可以对添加的客机信息进行添加、删除。5)舱位信息管理模块管理员只可以修改飞机舱位信息。2.3. 系统的性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:1)系统的开放性和系统的可扩充性系统在开发过程中,应该充分考虑以后的可扩充性。例如飞机信息属性添加、修改;客户信息属性添

11、加、修改等模块也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。2)系统的易用性和易维护性系统是直接面对使用人员的,而有些使用人员往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。系统中涉及到的数据是高校实验室相当

12、重要的信息,因此系统为不同角色的用户提供了方便的管理后台进行数据管理,特别为系统管理员提供了数据备份,日常安全管理,防止系统意外崩溃等功能。3)系统的响应速度系统设计中摒弃大量数据冗余,提出了优化数据库的解决方案,大量使用存储过程,大大提高系统响应时间和速度。系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。严格保证操作人员不会因为速度问题而影响工作效率。2.4. 系统的数据需求通过对系统功能需求的分析,可以初步确定该系统的基本数据需求。由各个功能模块可以进一步确定具体的数据需求,具体数据需求如下:1)机票预订模块数据需求该模块主要管理客户订票,需要表示的数据有:订票数据:应包含

13、机票编号、机票价格客户数据:客户编号、客户姓名航线数据:航线编号、起始城市、终点城市、出发日期舱位数据:舱位类型编号2)客户信息管理模块该模块主要管理客户自身信息,需要表示的数据有:客户编号、客户姓名、客户性别、客户证件号、客户电话。3)航线信息管理模块该模块主要管理航线自身信息,需要表示的数据有:航线编号、起始城市、终点城市、出发时间、到达时间、飞机编号、经济舱价格、头等舱价格。4)客机信息管理模块该模块主要管理客机自身信息,需要表示的数据有:飞机编号、飞机类型、经济舱座位数、头等舱座位数。5)舱位信息管理模块该模块主要管理舱位自身信息,需要表示的数据有:舱位类型编号、舱位类型名称、是否有报

14、刊、是否有饮料、是否有食物、是否可取消、是否可打折第3章 系统总体设计3.1. 系统总体设计第4章 数据库设计4.1. 数据库概念设计4.1.1 订票信息实体E-R图4.1.2 客户信息实体E-R图4.1.3 航线信息实体E-R图4.1.4 客机信息实体E-R图4.1.5 舱位等级实体E-R图4.1.6 实体间关系E-R图4.2. 数据库逻辑设计现在需要将上面的数据库概念结构转化为SQL Server 2005数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。民航机场售票管理系统数据库中各个表格的设计结果如下面表格所示。每个表格表示在数据库中的一个表。4.2.1 AIR_BOOK_TAB

15、LE(订票管理表)列名数据类型可否为空说明TicketNoint否机票编号CustomerNoint否客户编号CustomerNamenvarchar(10)否客户姓名AirLineNoint否航线编号StartCitynvarchar(10)否出发城市EndCitynvarchar(50)否终点城市TicketDatenvarchar(50)否出发日期ServiceTypeint否舱位类型TicketPriceint否机票价格4.2.2 AIR_PLANE_TABLE(飞机管理表)列名数据类型可否为空说明PlaneNoint否飞机编号PlaneTypenvarchar(15)否飞机型号Com

16、monNoint否经济舱座位数FirstNoint否头等舱座位数4.2.3 AIR_SEAT_TABLE(舱位管理表)列名数据类型可否为空说明ServiceNoint否舱位类型编号ServiceNamenvarchar(15)否舱位类型名称IsNewsPapernvarchar(7)否是否有报纸IsDrinknvarchar(7)否是否有饮料IsFoodnvarchar(7)否是否有食物CanCancelnvarchar(7)否是否可取消CanDiscountnvarchar(7)否是否可打折4.2.4 AIR_GUEST_TABLE(客户管理表)列名数据类型可否为空说明GuestNoint否

17、客户编号GuestNamenvarchar(10)否客户姓名GuestSexnvarchar(4)否客户性别GuestIDnvarchar(20)否客户证件号GuestTelenvarchar(15)否客户电话4.2.5 AIR_LINE_TABLE(航线管理表)列名数据类型可否为空说明AirLineNoint否航线编号StartCitynchar(10)否起始城市EndCitynchar(10)否终点城市StartTimedatetime否出发时间EndTimedatetime否到达时间PlaneNoint否飞机编号CommonPriceint否经济舱价格FirstPriceint否头等舱价

18、格第5章 详细设计5.1. 页面设计5.1.1 “登陆”界面通过用户输入的用户名及密码,如果用户名/密码输入错误,则会提示是否重新输入,若放弃输入,则该系统会自动退出。 图表5-1 图表5-25.1.2 程序主界面系统登陆成功后,则会看到主界面,该系统的各功能可以从菜单栏中选择。图表5-35.1.3 “机票预订信息管理”界面图表5-45.1.4 “客户信息管理”界面图表5-55.1.5 “航线信息管理”界面图表5-65.1.6 “客机信息管理”界面图表5-75.1.7 “舱位信息管理”界面在菜单上按“舱位信息管理”按钮后,会弹出“舱位信息管理”对话框。管理者可以在这个管理界面中实现对飞机舱位信

19、息的修改。图表5-85.1.8 “关于”界面在菜单上按“关于”按钮后,会弹出“关于”对话框,它显示了作者的信息。图表5-95.2. 编码设计5.2.1 与数据库建立的链接用ODBC API与数据库建立连接需要经过如下几步:分配环境句柄-设置ODBC版本号-分配连接句柄-“用户名/密码”登陆数据库。我创建了函数ODBC_CONNECT来管理系统与数据库的链接,该函数会在主程序执行时被调用。BOOL ODBC_CONNECT(const char *DSN_NAME, const char *USER_NAME, const char *USER_PASSWORD) /分配环境句柄 nResult

20、=SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); if(nResult != SQL_SUCCESS) & (nResult != SQL_SUCCESS_WITH_INFO) return FALSE; /设置ODBC版本号 nResult=SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0); if(nResult != SQL_SUCCESS) & (nResult != SQL_SUCCESS_WITH_INFO) return FALSE;

21、/分配连接背景 nResult=SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc); if(nResult != SQL_SUCCESS) & (nResult != SQL_SUCCESS_WITH_INFO) return FALSE; /连接数据库 nResult=SQLConnect(hdbc, (SQLCHAR*)DSN_NAME, SQL_NTS, (SQLCHAR*)USER_NAME, SQL_NTS, (SQLCHAR*)USER_PASSWORD, SQL_NTS); if(nResult != SQL_SUCCESS) & (nResu

22、lt != SQL_SUCCESS_WITH_INFO) return FALSE; return TRUE;5.2.2 获取数据库中特定表的某元组是用ODBC API从数据库中取出特定表中的某一个元组,需要经过如下操作:分配句柄-执行SQL语句-获取语句执行后返回的数据的属性的个数-将每一个属性与本地变量绑定-循环取数据,每次一个元组,并做相应处理-释放语句执行句柄.为实现该功能,我编写了ODBC_DISPLAYLIST函数,它会在每次产生子对话框时被调用,它也会在每次用户更新数据库后被调用(因为显示在程序界面上的数据要和数据库中的数据同步)。BOOL ODBC_DISPLAYLIST(co

23、nst char *SQLSCENTENCE, HWND &hwndDlg, int ControlID) /分配句柄nResult=SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt); if(nResult != SQL_SUCCESS) & (nResult != SQL_SUCCESS_WITH_INFO) return FALSE; /执行SQL语句 nResult=SQLExecDirect(hstmt, (unsigned char*)SQLSCENTENCE, SQL_NTS); if(nResult != SQL_SUCCESS) & (

24、nResult != SQL_SUCCESS_WITH_INFO) return FALSE; /获取语句执行后返回的数据的属性的个数,保存在nCols变量中 SQLNumResultCols(hstmt, &nCols); /将每一个属性与本地变量绑定for(nCount=0; nCountnCols; nCount+) SQLBindCol(hstmt, (UWORD)(nCount+1), SQL_C_CHAR, datanCount, MAXDATALEN, (long *)&dwDataLennCount); /循环取数据,每次一个元组,并做相应处理(在此是用这些填充列表框) whi

25、le(SQL_SUCCESS=SQLFetch(hstmt) memset(DATA_TEMP, 0, sizeof(DATA_TEMP); for(nCount=0; nCount构造SQL语句-执行SQL语句-完毕。该函数将在每次用户向数据库中“插入”、“删除”数据时执行。BOOL ODBC_EXECSQLDIRT(const char *SQLSCENTENCE) nResult=SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt); if(nResult!=SQL_SUCCESS) & (nResult!=SQL_SUCCESS_WITH_INFO

26、) return FALSE; nResult=SQLExecDirect(hstmt, (unsigned char *)SQLSCENTENCE, SQL_NTS); if(nResult!=SQL_SUCCESS) & (nResult!=SQL_SUCCESS_WITH_INFO) & (nResult!=SQL_NO_DATA) SQLFreeHandle(SQL_HANDLE_STMT, hstmt); hstmt=NULL; return FALSE; SQLFreeHandle(SQL_HANDLE_STMT, hstmt); hstmt = NULL; return TRUE

27、;5.2.4 与数据库断开连接DBC API与数据库建立连接仅需要释放句柄即可,为此,我编写了ODBC_DISCONNECT函数来实现管理系统与数据库之间连接的断开。该函数将在程序退出之前被调用。void ODBC_DISCONNECT() SQLDisconnect(hdbc); SQLFreeHandle(SQL_HANDLE_DBC, hdbc); SQLFreeHandle(SQL_HANDLE_ENV, henv);第6章 结论与展望整个数据库课程设计过程中,使我的专业基础知识进一步的得到了提高,让我更深刻地认识了“数据库”、“SDK”等知识,虽然在课程设计过程中遇到了很多问题,但最

28、终在同学和网络的帮助下基本完成了预订的目标,学到了平时很难学到的专业和实践知识。在开本系统过程中,我感受最深的就是如何让自己在较短的时间内掌握一个自己并不熟悉的事物,因为之前开发带有可视化界面的程序都是用的SDK编程方式(都是些小程序),所以接到数据库课设题目时候我还是想采用SDK编程来实现“民航机场售票管理系统”,经过查阅资料,SDK编程只有通过调用ODBC API才能与数据库建立连接,凭借着以前写SDK程序的经验,参考了ODBC API REFERENCE手册,在多次试验中,成功实现了与数据库“建立连接”、“操作数据库”等功能。本系统界面比较简单,因为自己的SDK编程功力不足,以及对该系统的考虑不是很充分,导致了该管理系统功能比较单一,只是大体地实现了功能而已。比如像“列表控件”这种人机交互

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1