民航售票系统数据库课程设计报告Word文件下载.docx
《民航售票系统数据库课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《民航售票系统数据库课程设计报告Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
6)能够查询每个航班的预定情况、计算航班的满座率。
1.2用户需求
本系统分为三类用户:
航空公司需要软件能够实现航班信息录入、座位信息录入、航班信息删除等,普通用户能够订票、退票、取票、查询航班信息、余票查询、注册成为经常用户,经常用户能够订票、退票、取票、余票查询、查询航班信息、使用积分打折、查询积分等功能
2软件总体设计
2.1系统流程图
图2-1系统流程图
2.2系统功能模块设计
系统主要功能如下图2-2所示:
图2-2系统功能模块图
2.3系统总体设计
本系统使用登录区分三种用户、对登录成功的用户实现不同的权限和功能和对数据库的存取控制,当普用户登录后只能实现订票、退票、取票、查询航班信息、余票查询、注册成为经常用户,经常用户登录后能够订票、退票、取票、余票查询、查询航班信息、使用积分打折、查询积分,航空公司登录后能够录入航班信息、删除韩版信息、录入座位信息。
3软件详细设计
3.1开发环境及数据库连接
Microsoftvisualc++2010与SQLserver2008
Stringstr=@"
DataSource=(local);
InitialCatalog=MHGL;
IntegratedSecurity=True"
;
SqlCommandcmd=newSqlCommand();
SqlConnectionconn=newSqlConnection();
conn.ConnectionString=str;
3.2登录模块设计
3.2.1设计思路
该模块需要根据权限登录系统,通过去用户的判定来给以一定的功能和权限,涉及对数据库中的经常用户表、航空公司表的操作,所以,当登录时就连接数据库,判断是否登录成功。
3.2.2实现方法
程序流程图
图3-1登录流程图
3.3航空公司模块设计
3.3.1设计思路
该模块需要对航班信息的录入、删除、座位信息录入,涉及对数据库中的航班信息表和座位信息表的操作,所以需要连接数据库进行增加、删除信息。
3.3.2实现方法
图3-2航空公司流程图
3.4普通用户模块设计
3.4.1设计思路
该模块需要对航班信息查询、订票、退票、取票、余票查询、注册涉及对数据库中的航班座位表和航班表、账单、取票通知、旅客表、VIP表的操作,所以需要连接数据库进行增加、删除信息。
3.4.2实现方法
程序流程图图3-3普通用户流程图
3.5经常用户模块设计
3.5.1设计思路
该模块需要对航班信息查询、订票、退票、取票、余票查询、积分查询涉及对数据库中的航班座位表和航班表、账单、取票通知、旅客表、VIP表的操作,所以需要连接数据库进行增加、删除信息。
3.5.2实现方法
图3-4经常用户流程图
4数据库设计
4.1概念模型设计
4.1.1设计原理
概念模型能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型。
4.1.2概念模型
经过对民航管理系统所涉及的数据进行分析,得到如下实体:
1)航空公司:
属性有用户名,密码。
2)经常用户:
属性有用户名,密码,积分。
3)航班:
属性有航班编号,起点,终点,起飞时间,到达时间。
4)座位信息:
属性有航班编号,座位数,票价,余票。
5)旅客信息:
属性有座位号,航班编号,用户名,性别,年龄,账单号,取票通知号。
6)取票通知:
属性有取票通知号,取票时间。
7)账单:
属性有账单号,票价。
所设计的概念模型(E-R图)如下
图4-1系统E-R模型图
图4-2航空公司实体局部E-R图
图4-3经常用户实体局部E-R图
图4-4账单实体局部E-R图
图4-5取票通知实体局部E-R图
图4-6座位信息实体局部E-R图
图4-7航班实体局部E-R图
图4-8旅客信息实体局部E-R图
4.2逻辑结构设计
4.2.1将实体转换为关系模式
1)航空公司(用户名,密码)
2)经常用户(用户名,密码,积分)
3)航班(航班编号,起点,终点,起飞时间,到达时间)
4)座位信息(航班编号,座位数,票价,余票)
5)旅客信息(座位号,航班编号,用户名,性别,年龄,账单号,取票通知号)
6)取票通知(取票通知号,取票时间)
7)账单(账单号,票价)
4.3物理结构设计
4.3.1基本表设计
航空公司基本信息表
表4-1客户基本信息表
字段名
字段描述
字段类型
备注
用户名
主键,唯一区别一个用户的身份
varchar(50)
非空、唯一
密码
储存用户登录口令
非空、不唯一
经常用户基本信息表
表4-2经常用户基本信息表
积分
储存客户积分
Int
可以空、不唯一
航班信息表
表4-3航班基本信息表
航班编号
主键,唯一区别一趟航班
起点
储存航班起点
终点
储存航班终点
起飞时间
航班起飞时间
datetime
到达时间
航班到达时间
座位信息表
表4-4座位信息表
座位数
航班总座位数
int
票价
机票价格
float
余票
剩余的机票
旅客信息表
表4-5旅客基本信息表
唯一区别一趟航班
座位号
旅客座位号
储存旅客用户名
性别
用于储存用户性别
年龄
用于储存旅客年龄
账单号
用于储存账单编号
取票通知号
用于储存取票通知编号
取票通知表
表4-6取票通知信息表
主键,唯一区别一张通知
取票时间
用于储存取票时间
账单表
表4-7账单信息表
取账单号
主键,唯一区别一张账单
用于储存票价
5 系统编码、测试
5.1测试环境
本系统测试的时候主要是黑盒测试,进行功能的验证。
测试环境:
Windows2007
工具:
Microsoftvisualc++2010、SqlServer2008
5.2测试用例及结果
5.2.1界面测试
界面测试结果,界面整洁美观,界面风格一致,无错别字,控件按钮位置合适易于操作,输入框、下拉列表等显示正确。
5.2.2功能测试
1、航空公司登录测试用例
表5-1航空公司登录测试表
测试用列编号
登录密码
是否成功
1
航空公司(正确)
123(正确)
登录成功
2
111(错误)
登录失败
3
航空(错误)
4
空
5
用例2、3、4、5的实际结果,如图所示:
图5-1航空公司登录失败图
用例1的实际结果
图5-2航空公司登录成功图
2、经常用户登录测试用例
表5-2经常用户登录测试表
张三(正确)
李四(错误)
李四(正确)
图5-3经常用户登录失败图
图5-4经常用户登录成功图
3、普通用户登录测试用例
普通用户直接登录,进行订票、退票等。
界面如图所示:
图5-5普通用户登录图
4、航空公司模块功能界面
图5-6航空公司信息录入界面
图5-7航空公司删除航班界面
5、普通客户和经常客户功能界面
图5-8航班查询界面
图5-9余票信息查询界面
图5-10退票功能界面
图5-11取票功能界面
图5-12注册界面
6总结
通过本次实验,我进一步理解和掌握课堂上所学的各种数据库设计所使用的概念模型和数据库设计的流程及通用方法,掌握了软件设计的基本内容和设计方法,并有了一定的进行规范化软件设计的能力,掌握了使用各种计算机资料和有关参考资料,一定程度上提高了进行程序设计的基本能力。
尤其是对数据库设计流程的理解进一步的加深了,对于面向对象的程序设计思想和设计方法有了更加深刻的理解。
通过本次实验我知道设计一个数据库是很不容易的,虽然遇到了很多困难,但经过自己的努力,问题还是可以克服的。
实验结果出来后的那份喜悦是无法用语言描述的。
只要自己有耐心总会获得成功的。