民航售票系统课程设计报告.docx
《民航售票系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《民航售票系统课程设计报告.docx(27页珍藏版)》请在冰豆网上搜索。
![民航售票系统课程设计报告.docx](https://file1.bdocx.com/fileroot1/2023-4/17/e14bc1f8-75d6-4525-a035-5d9ad26275eb/e14bc1f8-75d6-4525-a035-5d9ad26275eb1.gif)
民航售票系统课程设计报告
民航售票系统课程设计报告
数学与计算机学院
课程设计说明书
课程名称:
软件工程与数据库课程设计
课程代码:
6014419
题目:
民航售票系统
年级/专业/班:
学生姓名:
学 号:
开始时间:
2012年6月5日
完成时间:
2012年6月20日
课程设计成绩:
学习态度及平时成绩(30)
技术水平与实际能力(20)
创新(5)
说明书(计算书、图纸、分析报告)撰写质量(45)
总分(100)
指导教师签名:
年月日
摘要
随着计算机的普及,计算机应用已深入到人类社会的各个领域,计算机应用早已不限于科学计算,而更多地应用在信息处理方面。
计算机可以存储的数据对象不再是单纯的数值,而扩展到了字符、声音、图像、表格等各种各样的信息。
对于信息的处理也不再是单纯的计算,而是一些如信息存储、信息检索等非数值的计算。
那么,现实世界的各种各样的数据信息怎样才能够存储到计算机的内存中,对存入计算机的数据信息怎样进行科学处理,这涉及计算机科学的信息表示和数据库的设计问题。
数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效的运行坏境,按照规范化设计的方法,设计的步骤一般是:
需求分析、概念结构设计、逻辑结构设计、物理结构设计、编码、反复调试得到正确的结果。
关键词:
数据模型;计算机;数据库设计
引言
随着计算机的普及,人们每天使用计算机中的各种软件,然而许多软件都要结合数据库才能正确和方便储取数据,数据库能保证数据的正确性、安全性、完整性,所以各种软件离不开数据库,数据库在计算机领域中占有很大的地位,正因为数据库如此重要,所以对设计数据库时要正确、效率高。
而软件工程与数据库课程设计的目的和意义就是为了使我们熟练地掌握软件工程中数据库设计的方法,并用它来解决实际生活中的问题,进一步理解和掌握课堂上所学的各种数据库设计所使用的概念模型和数据库设计的流程及通用方法,掌握软件设计的基本内容和设计方法,并培养进行规范化软件设计的能力,掌握使用各种计算机资料和有关参考资料,提高进行程序设计的基本能力。
本次课程设计的题目是送水管理系统,要求自来水公司或者水站对其客户信息进行详细的管理,对客户的使用情况进行详细记录,并实现客户信息录入、查询、修改、删除的基本功能。
我所采用的设计工具为VS2010和SQL2008。
1需求分析
本系统是民航管理系统,此系统主要分为机场、航空公司和客户三方的服务。
航空公司提供航线和飞机的资料,机场则对在本机场起飞和降落的航班和机票进行管理,而客户能得到的服务应该有航班线路和剩余票数的查询,以及网上订票等功能。
客户又可以分为两类,一类是普通客户,对于普通客户只有普通的查询功能和订票功能,没有相应的机票优惠,另一种是经常旅客,需要办理注册手续,但增加了里程积分功能和积分优惠政策。
机场还要有紧急应对措施,在航班出现延误时,要发送相应的信息。
1.1系统分析
本系统分为三类用户、航空公司、普通用户、经常用户,系统功能的基本要求:
1)每个航班信息的输入。
2)每个航班的坐位信息的输入。
3)当旅客进行机票预定时,输入旅客基本信息,系统为旅客安排航班,打印取票通知和帐单。
4)旅客在飞机起飞前一天凭取票通知交款取票。
5)旅客能够退订机票。
6)能够查询每个航班的预定情况、计算航班的满座率。
1.2用户需求
本系统分为三类用户:
航空公司需要软件能够实现航班信息录入、座位信息录入、航班信息删除等,普通用户能够订票、退票、取票、查询航班信息、余票查询、注册成为经常用户,经常用户能够订票、退票、取票、余票查询、查询航班信息、使用积分打折、查询积分等功能
2概要设计
2.1系统流程图
图2-1系统流程图
2.2系统功能模块设计
系统主要功能如下图2-2所示:
图2-2系统功能模块图
2.3系统总体设计
本系统使用登录区分三种用户、对登录成功的用户实现不同的权限和功能和对数据库的存取控制,当普用户登录后只能实现订票、退票、取票、查询航班信息、余票查询、注册成为经常用户,经常用户登录后能够订票、退票、取票、余票查询、查询航班信息、使用积分打折、查询积分,航空公司登录后能够录入航班信息、删除韩版信息、录入座位信息。
3数据库设计
3.1概念模型设计
3.1.1设计原理
概念模型能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型。
3.1.2概念模型
经过对民航管理系统所涉及的数据进行分析,得到如下实体:
1)航空公司:
属性有用户名,密码。
2)经常用户:
属性有用户名,密码,积分。
3)航班:
属性有航班编号,起点,终点,起飞时间,到达时间。
4)座位信息:
属性有航班编号,座位数,票价,余票。
5)旅客信息:
属性有座位号,航班编号,用户名,性别,年龄,账单号,取票通知号。
6)取票通知:
属性有取票通知号,取票时间。
7)账单:
属性有账单号,票价。
所设计的概念模型(E-R图)如下
图3-1系统E-R模型图
图3-2航空公司实体局部E-R图
图3-3经常用户实体局部E-R图
图3-4账单实体局部E-R图
图3-4取票通知实体局部E-R图
图3-5座位信息实体局部E-R图
图3-6航班实体局部E-R图
图3-7旅客信息实体局部E-R图
3.2逻辑结构设计
3.2.1将实体转换为关系模式
1)航空公司(用户名,密码)
2)经常用户(用户名,密码,积分)
3)航班(航班编号,起点,终点,起飞时间,到达时间)
4)座位信息(航班编号,座位数,票价,余票)
5)旅客信息(座位号,航班编号,用户名,性别,年龄,账单号,取票通知号)
6)取票通知(取票通知号,取票时间)
7)账单(账单号,票价)
3.3物理结构设计
3.3.1基本表设计
航空公司基本信息表
表3-1客户基本信息表
字段名
字段描述
字段类型
备注
用户名
主键,唯一区别一个用户的身份
varchar(50)
非空、唯一
密码
储存用户登录口令
varchar(50)
非空、不唯一
经常用户基本信息表
表3-2经常用户基本信息表
字段名
字段描述
字段类型
备注
用户名
主键,唯一区别一个用户的身份
varchar(50)
非空、唯一
密码
储存用户登录口令
varchar(50)
非空、不唯一
积分
储存客户积分
Int
可以空、不唯一
航班信息表
表3-3航班基本信息表
字段名
字段描述
字段类型
备注
航班编号
主键,唯一区别一趟航班
varchar(50)
非空、唯一
起点
储存航班起点
varchar(50)
可以空、不唯一
终点
储存航班终点
varchar(50)
可以空、不唯一
起飞时间
航班起飞时间
datetime
可以空、不唯一
到达时间
航班到达时间
datetime
可以空、不唯一
座位信息表
表3-4座位信息表
字段名
字段描述
字段类型
备注
航班编号
主键,唯一区别一趟航班
varchar(50)
非空、唯一
座位数
航班总座位数
int
可以空、不唯一
票价
机票价格
float
可以空、不唯一
余票
剩余的机票
Int
可以空、不唯一
旅客信息表
表3-5旅客基本信息表
字段名
字段描述
字段类型
备注
航班编号
唯一区别一趟航班
varchar(50)
非空、唯一
座位号
旅客座位号
int
非空、唯一
用户名
储存旅客用户名
varchar(50)
非空、唯一
性别
用于储存用户性别
varchar(50)
非空、不唯一
年龄
用于储存旅客年龄
int
非空、不唯一
账单号
用于储存账单编号
int
非空、唯一
取票通知号
用于储存取票通知编号
int
非空、唯一
取票通知表
表3-6取票通知信息表
字段名
字段描述
字段类型
备注
取票通知号
主键,唯一区别一张通知
varchar(50)
非空、唯一
取票时间
用于储存取票时间
datetime
非空、不唯一
账单表
表3-7账单信息表
字段名
字段描述
字段类型
备注
取账单号
主键,唯一区别一张账单
varchar(50)
非空、唯一
票价
用于储存票价
float
非空、不唯一
4程序模块设计
4.1开发环境及数据库连接
Microsoftvisualc++2010与SQLserver2008
Stringstr=@"DataSource=(local);InitialCatalog=MHGL;IntegratedSecurity=True";
SqlCommandcmd=newSqlCommand();
SqlConnectionconn=newSqlConnection();
conn.ConnectionString=str;
4.2登录模块设计
4.2.1设计思路
该模块需要根据权限登录系统,通过去用户的判定来给以一定的功能和权限,涉及对数据库中的经常用户表、航空公司表的操作,所以,当登录时就连接数据库,判断是否登录成功。
4.2.2实现方法
程序流程图
图4-1登录流程图
4.3航空公司模块设计
4.3.1设计思路
该模块需要对航班信息的录入、删除、座位信息录入,涉及对数据库中的航班信息表和座位信息表的操作,所以需要连接数据库进行增加、删除信息。
4.3.2实现方法
程序流程图
图4-2航空公司流程图
4.4普通用户模块设计
4.4.1设计思路
该模块需要对航班信息查询、订票、退票、取票、余票查询、注册涉及对数据库中的航班座位表和航班表、账单、取票通知、旅客表、VIP表的操作,所以需要连接数据库进行增加、删除信息。
4.4.2实现方法
程序流程图
图4-3普通用户流程图
4.5经常用户模块设计
4.5.1设计思路
该模块需要对航班信息查询、订票、退票、取票、余票查询、积分查询涉及对数据库中的航班座位表和航班表、账单、取票通知、旅客表、VIP表的操作,所以需要连接数据库进行增加、删除信息。
4.5.2实现方法
程序流程图
图4-4经常用户流程图
5 系统测试
5.1测试环境
本系统测试的时候主要是黑盒测试,进行功能的验证。
测试环境:
Windows2007
工具:
Microsoftvisualc++2010、SqlServer2008
5.2测试用例及结果
5.2.1界面测试
界面测试结果,界面整洁美观,界面风格一致,无错别字,控件按钮位置合适易于操作,输入框、下拉列表等显示正确。
5.2.2功能测试
1、航空公司登录测试用例
表5-1航空公司登录测试表
测试用列编号
用户名
登录密码
是否成功
1
航空公司(正确)
123(正确)
登录成功
2
航空公司(正确)
111(错误)
登录失败
3
航空(错误)
123(正确)
登录失败
4
航空公司(正确)
空
登录失败
5
空
123(正确)
登录失败
用例2、3、4、5的实际结果,如图所示:
图5-1航空公司登录失败图
用例1的实际结果
图5-2航空公司登录成功图
2、经常用户登录测试用例
表5-2经常用户登录测试表
测试用列编号
用户名
登录密码
是否成功
1
张三(正确)
123(正确)
登录成功
2
张三(正确)
111(错误)
登录失败
3
李四(错误)
123(正确)
登录失败
4
李四(正确)
空
登录失败
5
空
123(正确)
登录失败
用例2、3、4、5的实际结果,如图所示:
图5-3经常用户登录失败图
用例1的实际结果
图5-4经常用户登录成功图
3、普通用户登录测试用例
普通用户直接登录,进行订票、退票等。
界面如图所示:
图5-5普通用户登录图
4、航空公司模块功能界面
图5-6航空公司信息录入界面
图5-7航空公司删除航班界面
5、普通客户和经常客户功能界面
图5-8航班查询界面
图5-9余票信息查询界面
图5-10退票功能界面
图5-11取票功能界面
图5-12注册界面
结论
通过本次软件工程与数据库课程设计的实验,我进一步理解和掌握课堂上所学的各种数据库设计所使用的概念模型和数据库设计的流程及通用方法,掌握了软件设计的基本内容和设计方法,并有了一定的进行规范化软件设计的能力,掌握了使用各种计算机资料和有关参考资料,一定程度上提高了进行程序设计的基本能力。
尤其是对数据库设计流程的理解进一步的加深了,对于面向对象的程序设计思想和设计方法有了更加深刻的理解。
本次课程设计的任务已经基本完成,当然还可以在此基础上添加一些新的功能,完成的情况不是特别理想,这需要以后更加努力地学习数据库设计方面的相关知识。
致谢
在本次课程设计过程中,首先感谢我的软件工程与数据库课程设计的指导老师,老师,在忙碌的时候抽出时间来指导我,如果没有他的帮助和指导,我不可能在如此短的时间内基本完成这个课程设计的任务。
我还要感谢给过我帮助和鼓励的同学们,谢谢大家在我完成课程设计任务遇到困难时,给予我的鼓励,让我有了完成任务的信心和勇气。
谢谢大家!
参考文献
[1]王珊,萨师煊.数据库系统概论(第4版).高等教育出版社。
[2]严蔚敏,吴伟民.数据库理论题集.清华大学出版社.2003年5月。
[3]唐策善,李龙澎.C#程序设计基础.高等教育出版社.2001年9月
[4]朱战立.SQL设计实例教程.高等出版社出版.2004年4月
[5]胡学钢.数据库课程设计指导.高等教育出版社.2004年8月
[6]徐孝凯等著.软件工程课程实践.清华大学出版社.2004