
课题
| 名称 | 民航票务管理系统 | |
| 设计 目的 | 本课程设计的目的是通过实践使学生经历一个数据库系统开发的全过程并受到一次综合的训练,以便能较全面地理解、掌握和综合运用所学的知识去分析、解决实际问题。 | |
| 实验 环境 | 1、Windows2000及以上 2、SQL Server2000 3、ASP.NET 2005 | |
| 任务 要求 | 任务: 完成《民航票务管理系统分析和设计》系统的分析设计工作,并选用适当的开发工具完成系统的开发。 要求: 1、完成需求分析; 2、进行数据库的概念设计; 3、进行数据库的逻辑设计; 4、进行数据库的物理设计; 5、进行应用程序设计; 6、编程实现。 | |
| 工作进度计划 | ||
| 序号 | 起止日期 | 工 作 内 容 |
| 1 | 2007.12.10-2007.12.15 | 需求分析 |
| 2 | 2007.12.16-2007.12.22 | 概念设计 |
| 3 | 2007.12.23-2007.12.28 | 逻辑设计 |
| 4 | 2007.12.29-2008.01.02 | 系统设计 |
| 5 | 2008.01.03-2008.01.05 | 课程设计报告纂写 |
| 指导教师(签章): | ||
| 2008 年 1 月 3 日 | ||
数据库原理及应用
课程设计报告
选题名称: 民航票务管理系统
系(院): 计 算 机 工 程 系
专 业: 计算机科学与技术(信息安全方向)
班 级: 信 息 1 0 5 1
姓 名: 高 博 学 号: **********
指导教师: 冯万利 王红艳
学年学期: 2007 ~ 2008 学年 第 1 学期
2008 年 1 月 3 日
摘要:
随着信息技术在管理上越来越深入而广泛的应用以及信息的不断海量化,在很多行业对信息的管理不得不依赖计算机,而不是使用比较原始的纯人力管理方法。在当今,各行各业都有很多计算机管理的系统,特别是民航方面,每天,有上千万的人次订票、买票或者乘坐飞机,如果采取传统的人工售票或登记的方式会大大影响机场运作的效率,并且也无法避免一些人为的错误。所以一个好的票务管理系统由为重要,特别是现在很多人喜欢提前订票或上网订票,自然,好的票务管理系统不仅需要快捷方便的操作、优秀的保存和统计功能、还要应付大容量数据的快速查找和保存及应付长时间的工作需要,必须保证系统的稳定性和安全性,更重要的是,安全的票务管理系统不仅需要有能够防护各种病毒和黑客恶意攻击的能,还需要有能够应付突发状况的能力,比如突然断电之后,系统的售票信息和当前正在进行的进程、操作应该怎么处理,或者,系统突然死机之后,所有数据又应该怎样处理等等。这些问题都是我们在实际生活中经常会遇到的,所以,能不能解决上述问题就成了评价一个好的票务管理系统的主要依据。而这次的课程设计则是根据票务管理系统中的最主要的功能,结合数据库中所学的知识,来实现一个简单的民航票务管理系统,供学习和研究之用!
关键词:民航票务管理系统;数据库;查询;修改;ASP.NET
数据库原理及应用课程设计报告
1 需求分析
1系统目标:实现一个计算机民航票务系统,完成对航班的管理、机票管理以及登机牌的管理等功能。
2系统功能需求:本系统的用户分为管理员和普通用户两类,管理员主要负责对航班进行管理,包括航班的增加、修改和删除。主要为管理者增添航线时使用。而普通用户既机场前台系统,主要进行机票的购买和退换,登机牌的发放以及航班信息的查询等功能。
(1) 功能划分:用户通过身份验证之后分别进入管理员或普通用户的主接口。在管理员页面中,主要进行航班管理,有增加航班、修改航班和删除航班三种功能。而普通用户的页面中主要有航班查询、订票、退票、机票查询、换登机牌和航班信息查询6种主要功能。
(2) 功能描述:
航班管理
在航班管理中,管理员可以对现有的所有航线的所有航班进行修改操作,同时也可以增加新的航线,或者删除已有的旧的航线,相应的操作会影响航班查询的结果。同时在删除航班的操作中应注意,如果需要删除的航班已经有票售出便无法删除。
航班查询
航班查询是普通用户可以进行的操作。在航班查询中,分为两种查询方式:按航空公司查询和按目的地查询。顾名思义,在按航空公司查询的方式中,只要在下拉列表框中选择你需要查询的航空公司名即可查询到该航空公司的所有航线,在按目的地查询的查询方式中,只要输入目的地名称,即可查询到在一天中所有飞往该目的地的航班信息。
订票
订票功能是普通用户可以进行的操作。在订票功能中,用户只要输入目的地然后选择需要乘作的航班就可以完成订票了。在订票的过程中,需要输入旅客的个人数据,这些数据将存入数据库中,方便以后的查询以及登机牌的发放。
退票
退票功能是普通用户可以进行的操作。在退票功能中,需要输入机票上的四位由系统产生的验证码验证之后才能进行操作。
机票查询
机票查询是普通用户可以进行的操作。机票查询可以查询到该机票的所有信息,方便旅客在购票后及时核对自己的机票。
换登机牌
换登机牌是普通用户可以进行的操作。在换登机牌的过程中,需要核对机票,然后进行座位的选择,一旦换了登机牌之后就不可以再进行退票的操作了。换了登机牌之后,旅客就可以凭登机牌登机了。
航班信息查询
航班信息查询是普通用户可以进行的操作。航班信息查询分为两种查询,航班详细信息查询和旅客名单查询。这里的航班详细信息查询跟航班查询是有区别的。在详细的航班信息查询中,可以查询到包括该航班的所有机组人员的信息的航班全部信息。在旅客名单查询中可以查询到某架次航班所有实际登机的旅客名单。
2 数据库的概念设计
1系统的概念模型
图1
图1:民航票务系统概念模型的E/R图
图1是民航票务管理系统的概念模型的E/R图,该系统涉及的实体集有:
员工实体集:具有属性员工编号、员工姓名、员工性别和员工职务。
班组实体集:具有属性班组编号、班组名称、机长、副驾驶、乘务长、乘务员1、乘务员2、乘务员3、乘务员4、乘务员5和备注。
航空公司实体集:具有属性航空公司ID号和航空公司名。
飞机实体集:具有属性飞机ID号、飞机型号、头等舱座位数、商务舱座位数和经济舱座位数。
航班实体集:具有属性航班编号、航空公司ID号、起始地、目的地、时间、中转标志、中转地、头等舱价格、商务舱价格、经济舱价格、飞机ID号、班组号和登机口。
机票实体集:具有属性机票编号、验证码、日期、舱位、票价、签转标志、保险标志、旅客ID、登机牌编号、航班编号。
登机牌实体集:具有属性登机牌编号、座位号、座位编号、托运标志。
乘客实体集:具有属性乘客ID、乘客姓名、乘客性别。
一个班组中的一个岗位只有一个员工,而一个员工只能在一个班组里面,所以员工和班组之间的联系为1:1的联系。
一个航班只有一个班组工作,而一个班组可以工作于多个不同的航班中,所以班组和航班之间的联系是1:M的联系。
一个航空公司底下可以有多个航班,而一个航班只属于一个航空公司,所以航空公司和航班之间的联系是1:M的联系。
一个航班只有一架飞机,而一架飞机一次只能执行一个航班的飞行任务,所以飞机和航班之间的联系是1:1的联系。
一个登机牌只能由一张机票换到,而一张机票也只能换到一个登机牌,所以登机牌和机票之间的联系是1:1的联系。
一个航班可以形成许多张机票,而一张机票只能对应于一个航班,所以航班与机票之间的联系是1:M的联系。
一个乘客可以买许多张机票,而一张机票只属于一位乘客,所以乘客与机票之间的联系是1:M的联系。
3 数据库的逻辑设计
1将概念模型转换成关系模型
将E/R模型转换为关系模式
(1) 员工实体集可以转换为关系:
STAFFINF(STAID,STANAME,STASEX,STADUTY)
STAID表示员工编号,STANAME表示员工姓名,STASEX表示员工性别,STADUTY表示员工职务。
(2) 班组实体集可以转换为关系:
GROUNP(GROID,GRONAME,REMARK)
GROID表示班组编号,GRONAME表示班组名称,REMARK表示备注。
(3) 航空公司实体集可以转换为关系:
COMPANY(COMPANYID,COMPANYNAME)
COMPANYID表示航空公司编号,COMPANYNAME表示航空公司名称。
(4) 飞机实体集可以转换为关系:
PLANEINF(PLANEID,PLANETYPE,F_CLASS,B_CLASS,E_CLASS)
PLANEID表示飞机ID号,PLANETYPE表示飞机机型,F_CLASS表示头等舱座位数,B_CLASS表示商务舱座位数,E_CLASS表示经济舱座位数。
(5) 航班实体集可以转换为关系:
FLIGHTINF(FLIGHTID,START,DESTINATION,F_TIME,TRANSFERTAG,TRANSFERPLACE,F_PRICE,B_PRICE,E_PRICE,BOARDINGGATE)
FLIGHTID表示航班号,START表示起始地,DESTINATION表示目的地,F_TIME表示起飞时间,TRANSFERTAG表示中转标志,TRANSFERPLACE标号中转地,F_PRICE表示头等舱价格,B_PRICE表示商务舱价格,E_PRICE表示经济舱价格,BOARDINGGATE表示登机门。
(6) 机票实体集可以转换为关系:
TICKETS(TICKETID,VALIDATECODE,FDATE,CLASS,FEE,CEK_TRF_MARK,INSURANCEMARK)
TICKETID表示机票编号,VALIDATECODE表示验证码,FDATE表示航班日期,CLASS表示舱位,FEE,表示价格,CEK_TRF_MARK表示签转标志,INSURANCEMARK表示保险标志。
(7) 登机牌实体集可以转换为关系:
BOARDINGPASS(BOARDINGPASSID,SEATNUM,SNO,CONSIGNMARK)
BOARDINGPASSID表示登机牌编号,SEATNUM表示座位号,SNO表示座位编号,CONSIGNMARK表示托运标志。
(8) 乘客实体集可以转换为关系:
PASID(PASID,PASNAME,PASSEX)
PASID表示乘客身份证字号即乘客ID号,PASNAME表示乘客姓名,PASSEX表示乘客性别。
(9) 员工和班组之间的联系是1:1的联系,所以没有必要为其建立一个关系,可以通过扩展班组关系来表示:
GROUNP(GROID,GRONAME,CAPTAIN,VCAPTAIN,STEWARDCP,STEWARD1,STEWARD2,STEWARD3,STEWARD4,STEWARD5,REMARK)
CAPTAIN表示机长,VCAPTAIN表示副驾驶,STEWARDCP表示乘务长,STEWARD1表示乘务员1,STEWARD2表示乘务员2,STEWARD3表示乘务员3,STEWARD4表示乘务员4,STEWARD5表示乘务员5。
(10) 班组和航班之间的联系是1:M的联系,所以没有必要为其建立一个关系,可以通过扩展航班关系来表示:
FLIGHTINF(FLIGHTID,START,DESTINATION,F_TIME,TRANSFERTAG,TRANSFERPLACE,F_PRICE,B_PRICE,E_PRICE,GROID,BOARDINGGATE)
GROID表示班组编号。
(11) 航空公司和航班之间的联系是1:M的联系,所以没有必要为其建立一个关系,可以通过扩展航班关系来表示:
FLIGHTINF(FLIGHTID,FCOMPANYID,START,DESTINATION,F_TIME,TRANSFERTAG,TRANSFERPLACE,F_PRICE,B_PRICE,E_PRICE,GROID,BOARDINGGATE)
FCOMPANYID表示航空公司ID号。
(12) 飞机和航班之间的联系是1:M的联系,所以没有必要为其建立一个关系,可以通过扩展航班关系来表示:
FLIGHTINF(FLIGHTID,FCOMPANYID,START,DESTINATION,F_TIME,TRANSFERTAG,TRANSFERPLACE,F_PRICE,B_PRICE,E_PRICE,PLANEID,GROID,BOARDINGGATE)
PLANEID表示飞机ID号。
(13) 机票和登机牌之间的联系是1:1的联系,所以没有必要为其建立一个关系,可以通过扩展机票关系来表示:
TICKETS(TICKETID,VALIDATECODE,FDATE,CLASS,FEE,CEK_TRF_MARK,INSURANCEMARK,BOARDINGPASSID)
BOARDINGPASSID表示登机牌编号。
(14) 航班和机票之间的联系是1:M的联系,所以没有必要为其建立一个关系,可以通过扩展机票关系来表示:
TICKETS(TICKETID,VALIDATECODE,FDATE,CLASS,FEE,CEK_TRF_MARK,INSURANCEMARK,BOARDINGPASSID,FLIGHTID)
FLIGHTID表示航班编号。
(15) 乘客和机票之间的联系是1:M的联系,所以没有必要为其建立一个关系,可以通过扩展机票关系来表示:
TICKETS(TICKETID,VALIDATECODE,FDATE,CLASS,FEE,CEK_TRF_MARK,INSURANCEMARK,PASSID,BOARDINGPASSID,FLIGHTID)
PASSID表示旅客ID号。
4 数据库的物理设计
1把关系模型转换为表结构:
员工信息表(StaffInf):包含所有的员工信息,定义如下:
| 域名 | 含义 | 数据类型 | 例子 | 备注 |
| STAID | 员工编号 | 字符类型 | 3001 | 主键 |
| STANAME | 员工姓名 | 字符类型 | 王剑 | |
| STASEX | 员工性别 | 字符类型 | 男 | |
| STADUTY | 员工职务 | 字符类型 | 机长 |
| 域名 | 含义 | 数据类型 | 例子 | 备注 |
| GROID | 班组编号 | 数值类型 | 1031 | 主键 |
| GRONAME | 班组名称 | 字符类型 | 新青年 | |
| CAPTAIN | 机长 | 字符类型 | 3002 | 员工编号 |
| VCAPTAIN | 副驾驶 | 字符类型 | 3004 | 员工编号 |
| STEWARDCP | 乘务长 | 字符类型 | 4007 | 员工编号 |
| STEWARD1 | 乘务员1 | 字符类型 | 4008 | 员工编号 |
| STEWARD2 | 乘务员2 | 字符类型 | 4009 | 员工编号 |
| STEWARD3 | 乘务员3 | 字符类型 | 4005 | 员工编号 |
| STEWARD4 | 乘务员4 | 字符类型 | 0000 | 员工编号 |
| STEWARD5 | 乘务员5 | 字符类型 | 0000 | 员工编号 |
| REMARK | 备注 | 字符类型 | 无 |
| 域名 | 含义 | 数据类型 | 例子 | 备注 |
| COMPANYID | 航空公司编号 | 字符类型 | KA | 主键 |
| COMPANYNAME | 航空公司名称 | 字符类型 | 港龙航空 |
| 域名 | 含义 | 数据类型 | 例子 | 备注 |
| PLANEID | 飞机编号 | 字符类型 | A3010 | 主键 |
| PLANETYPE | 飞机机型 | 字符类型 | A340-300 | |
| F_CLASS | 头等舱座位数 | 数值类型 | 12 | |
| B_CLASS | 商务舱座位数 | 数值类型 | 18 | |
| E_CLASS | 经济舱座位数 | 数值类型 | 252 |
| 域名 | 含义 | 数据类型 | 例子 | 备注 |
| FLIGHTID | 航班号 | 字符类型 | CA3031 | 主键 |
| FCOMPANYID | 航空公司编号 | 字符类型 | CA | 外键 |
| START | 起始地 | 字符类型 | 南京 | |
| DESTINATION | 目的地 | 字符类型 | 北京 | |
| F_TIME | 起飞时间 | 字符类型 | 13:50 | |
| TRANSFERTAG | 中转标志 | 数值类型 | 0 | 1表示需要转机 |
| TRANSFERPLACE | 中转地 | 字符类型 | ||
| F_PRICE | 头等舱价格 | 数值类型 | 0 | |
| B_PRICE | 商务舱价格 | 数值类型 | 1900 | |
| E_PRICE | 经济舱价格 | 数值类型 | 1500 | |
| PLANEID | 飞机编号 | 字符类型 | A3040 | 外键 |
| GROID | 班组编号 | 数值类型 | 1032 | 外键 |
| BOARDINGGATE | 登机口 | 字符类型 | B1 |
| 域名 | 含义 | 数据类型 | 例子 | 备注 |
| TICKETID | 机票编号 | 数值类型 | 10000 | 主键 |
| VALIDATECODE | 验证码 | 数值类型 | 1303 | |
| FDATE | 日期 | 字符类型 | 01/10 | |
| CLASS | 舱位 | 字符类型 | B | |
| FEE | 票价 | 数值类型 | 558 | |
| CEK_TRF_MARK | 签转标志 | 数值类型 | 0 | 1为可签转 |
| INSURANCEMARK | 保险标志 | 数值类型 | 1 | 1为已保险 |
| PASSID | 乘客ID | 字符类型 | 320112************ | 外键 |
| BOARDINGPASSID | 登机牌编号 | 数值类型 | 1008 | 外键 |
| FLIGHTID | 航班号 | 字符类型 | ZH9877 | 外键 |
| 域名 | 含义 | 数据类型 | 例子 | 备注 |
| BOARDINGPASSID | 登机牌编号 | 数值类型 | 1008 | 主键 |
| SEATNUM | 座位号 | 字符类型 | 23C | |
| SNO | 座位编号 | 数值类型 | 133 | |
| CONSIGNMARK | 托运标志 | 数值类型 | 1 | 1为有行李托运 |
| 域名 | 含义 | 数据类型 | 例子 | 备注 |
| PASID | 身份证字号 | 字符类型 | 320112************ | 主键 |
| PASNAME | 姓名 | 字符类型 | 张成 | |
| PASSEX | 性别 | 字符类型 | 男 |
| 域名 | 含义 | 数据类型 | 例子 | 备注 |
| USERID | 用户ID号 | 字符类型 | 1001 | 主键 |
| USERNAME | 用户姓名 | 字符类型 | Benny | |
| PASSWORD | 用户密码 | 字符类型 | 123 | |
| PURVIEW | 用户权限 | 数值类型 | 1 | 0为管理员 |
通过各种约束,缺省实现数据的完整性。由于航空票务管理系统的重要性和各个数据之间的复杂相关性,保证数据的完整性显得更为重要。不能让用户随意的删除,修改数据。
(1) 各种外键约束保证数据的完整性,不能随意删除。外键的设置在上面数据库建表时已经提到。
(2) 主键约束保证实体的完整性,主键的设置在上面的数据库建表的时候也已经提到了。
(3) 创建存储过程,保证在换登机牌的同时能将登机牌的编号更新至机票表中的相关字段,确保数据的完整性。
5 应用程序设计
1航空管理系统的处理流程图
2 总体结构和外部模块设计
6 编程实现
1 Login.aspx
这是系统登陆接口,系统根据账号自动选择进入管理员或普通用户页面。
2 Index.aspx
这是普通用户登陆成功的接口,在上侧有一条功能选择菜单,通过此菜单,用户可以实现各种操作。
(1) 按下航班查询,页面加载FlightSearch.ascx,进行航班查询的一些相关操作。
(2) 按下订票,页面载入Book.ascx,进行订票的相关操作。
(3) 按下退票,页面载入ReturnTic.ascx,进行退票的相关操作。
(4) 按下机票查询,页面加载TicketInfl.ascx,进行机票查询的相关操作。
(5) 按下换登机牌,页面载入BoardingPass.ascx,进行换登机牌的相关操作。
(6) 按下航班信息,页面加载FlightInfButton.ascx,进行航班信息查询的相关操作。
(7) 按下退出系统,退出系统。
3 FlightSearch.ascx
在航班查询的功能页面中,有两种查询方式,第一是按目的地查询,第二是按航空公司查询。上面两张图片分别是按目的地查询的查询过程(上图)和按航空公司查询的查询过程(下图)。
(1) 按目的地查询:在这种查询方式下,只要在搜索栏中用汉字输入需要前往的城市名,然后点击查询按钮后,就可以在列表中出现在一天中所有飞往该城市的航班信息。显示的航班信息包括:航班号,航空公司,起始地,目的地,时间,是否需要中转以及飞机型号。需要注意的是,起始地为南京。
(2) 按航空公司查询:在这种查询方式下,只要从下拉列表中选择你所需要查询的航空公司,然后点击查询按钮后,所有该航空公司拥有的全部航线都会显示在列表中。显示的航班信息包括:航班号,航空公司,起始地,目的地,时间,是否需要中转以及飞机型号。需要注意的是,起始地为南京。
4 Book.ascx
在订票的功能页面中,用户只需要输入目的地及日期,点击提交按钮之后,页面中会显示出所有当天匹配的所有航班信息。接下来,在出现的页面中填写所需要订购的航班的航班号等其他信息后,然后再在旅客信息资料中填写购票人的姓名,身份证字号等信息后按提交按钮后就可以完成订票的操作了。
5 ReturnTic.ascx
在此退票的功能页面中,用户首先需要输入机票上的流水号,点击提交按钮之后,系统会显示出该机票的详细信息,包括航班号、出发地、目的地、日期、时间、舱位、中转地和旅客姓名。在核对机票信息后,如果确定退票,在输入框中输入机票上的四位验证码,点击提交按钮之后既完成退票的操作。
6 TicketInfl.ascx
在机票查询的功能页面中,用户可以对自己所购买的机票的航班信息进行查询。在输入机票流水号和机票上面的四位验证码并提交之后,系统就会显示出本张机票的所有信息,包括:航班号、航空公司名称、机型、出发地、目的地、日期、时间、舱位、中转地、旅客姓名、保险状态、签转状态和票价。
7 BoardingPass.ascx
在换登机牌的功能页面中,用户可以完成登机牌的更换的操作。当旅客到达机场后,需要进行登机牌的更换,此时,只要输入机票流水号和机票上的四位验证码,在系统出现该张机票的详细信息后,旅客可以选择自己所需要的座位,在选择座位的时候,系统会显示出当前航班的所有座位被选择的情况,红色方块表示该座位已经被选择了,而绿色的方块则表示此座位可以被选,当选择好座位后再选择是否需要托运行李就完成了登机牌的更换的操作,此时系统会打印出乘客的登机牌。
8 FlightInfButton.ascx
在航班信息查询的功能页面中,有两种查询方式,分别是查询航班详细信息和查询航班旅客名单。
(1) 查询航班详细信息:在查询航班详细信息的功能页面中,用户只要在页面中输入所要查询的航班的航班号以及日期,就可以将次航班的所有信息查询到,并显示出来。航班的详细信息包括:航班号、航空公司名称、出发地、目的地、时间、日期、飞机型号、头等舱票数、商务舱票数和经济舱票数以及对应的此航班的的飞航小组的信息,包括乘务组名称、机长姓名、副机长姓名、乘务长姓名、乘务员1姓名、乘务员2姓名、乘务员3姓名、乘务员4姓名、乘务员5姓名和备注。
(2) 查询旅客详细名单:在查询旅客相信名单的功能页面中,用户只要在页面中输入所要查询的航班的航班号以及日期,就可以查询出乘坐此次航班的所有旅客的信息,包括:姓名、身份证号码、性别以及座位号。
9 AdminIndex.aspx
这是系统管理员登陆成功的接口,在左侧有一条功能选择菜单,通过此菜单,用户可以实现各种与航班管理相关的操作。
(1) 按下增加航班,页面加载InsertFlight.ascx,进行航班查询的一些相关操作。
(2) 按下修改航班,页面载入UpdateFlight.ascx,进行订票的相关操作。
(3) 按下删除航班,页面载入DeleteFlight.ascx,进行退票的相关操作。
10 InsertFlight.ascx
在航班管理的增加航班功能页面中,用户可以对系统进行飞机航班的增加操作。用户只需根据页面中的提示,按要求输入相应航班的信息,点击提交按钮后就可以完成航班的增加操作了。
11 InsertFlight.ascx
在航班管理的修改航班的页面中,用户可以对已有的航班信息进行修改。在输入航班号,点击确认按钮之后,用户所需要修改的航班的所有信息会全部显示在页面中,此时,用户只需要对该航班需要修改的地方进行修改就可以了。在更改班组的时候,如果不知道班组的号码,则可以点击名为:这里的按钮,系统会根据用户输入的班组名称,进行模糊查询,将所有匹配的班组显示出来。
在完成所有的修改操作后,用户可以点击提交按钮,完成对航班信息修改的操作。所有新的航班信息会存入数据库中。
12 DeleteFlight.ascx
在航班管理的增加航班功能页面中,用户可以对系统进行飞机航班的删除操作。用户只需在页面中输入需要删除的航班的航班号,点击确认按钮后就可以完成航班的删除操作了。需要注意的是,如果需要删除的航班目前有飞航任务是无法删除的。
总结与体会
经过将近一周的忙碌,这个课程设计终于快结束了。在这一个星期的程序设计中,我遇到了很多问题,但最后都得以解决了。
比如在一开始的设计阶段,光是数据库的设计就耗费了许多时间,平常很多看似很平常的事情,如果需要用计算机去实现的时候都很困难。我最初设计数据库的时候是凭着自己的生活经验和感觉去设计表,然后根据表去画E/R图,结果导致数据库的逻辑性一点都不正确,很多查询的功能无法或者很不方便实现,后来,我查看了些资料,觉得还是应该先设计出E/R图,再转换为关系表才行。于是,我重新整理了自己的思路,根据自己平时的经验和上网查询到的资料,先画出了数据库的E/R图,然后,根据E/R图,按照转换标准,设计出了数据库中的表,大大简化了查询语句的编写难度,同时也使得数据库设计的更加合理和规范。
当然,还有很多技术上的问题出现在编写的过程中,但最后都在我查资料或调试的过程中解决了,这大大的提高了我自学的能力,在遇到问题之后,如何利用手边现有的资源去解决问题,对我帮助很大。比如在编写机票换登机牌的程序的时候,因为每架航班的座位数和座位类型都不一样,而且,在换登机牌的操作时,还需要显示出该航班所有的座位情况并且标记出所有已经被登记过的座位。这让我停顿了很久,想了很久都不知道如何解决这个问题,后来,我看了之前的一个程序,无意中想到了用Pannel控件,再加上自定义用户控件并且使用动态的空间添加和修改的方法可以实现以上的功能,于是经过我长达2小时的测试终于实现了我需要的功能。这让我有了很大的体会,那就是做程序也是需要灵感的,而灵感的来源就是长期的积累,以后就算是自己会编的东西,也需要去看看别人是怎么编写的,每个人思维方式不一样,自然实现的方式也不一样,这可以大大的提高自己的见识。
经过这次的课程设计,我真的收获颇多,学到了很多书本上没有的知识。
致 谢
在这次的课程设计中,我首先要感谢我的同学们,谢谢他们的支持,我才能在这么短的时间把系统做出来。一个人的知识是有限的,如果不是大家讨论的结果,我想我的进度也不会这么快的。
其次,我也要感谢各老师的督促,以促进我们按时完成这次的课程设计。数据库的任课老师冯万利老师,他对我们进行了一个学期的数据库知识的教授,虽然在他的课堂上我有好多东西没有搞明白,但是在最后的课程设计过程中,他还是给予了我们很多的帮助和鼓励,所以,还是要谢谢冯老师。
其次要感谢的是我们淮阴工学院计算机工程系提供的实践机会、实验室人员提供的实验环境,指导教师的辛勤指导,同组同学的互帮互助,没有他们,我们的实验不会这么顺利地进行!在此我尤其要感谢的是这次课程设计的几位辅导老师和我同组的组员及其他同学,在设计过程中,我及我的小组遇到了很多问题,而辅导老师能给我们及时地指导和帮助,同组同学也能够对知识互补有无,最终完成设计,非常感谢。
参考文献
1 邹建峰,李律松,李晓栓.ASP.NET.第1版.北京:人民邮电出版社,2005
2 施伯乐,丁宝康,汪卫.数据库系统教程. 第6版.北京:高等教育出版社,2005
3 James Foxall.Visual C# 2005入门经典.第一版.北京:高等教育出版社,2007
4 Russ Basiura Richard Conway.ASP.NET 安全性高级编程.第一版.北京:清华大学出版社,2003
5 王晓娜,黄开枝.ASP.NET 编程. 第一版.北京:清华大学出版社,2005
6 华罗庚,王元.论一致分布与近似分析.中国科学,1973
7 张筑生.微分半动力系统的不变集研究[学位论文].北京:数学系统学研究所,1983
8 Borko H,Bernier C L.Indexing concepts and methods .New York:Academic Pr,1978
指导教师评语
| 学号 | 1051303116 | 姓名 | 高博 | 班级 | 信息1051 | ||
| 选题 名称 | 民航票务系统 | ||||||
| 序号 | 评价内容 | 权重(%) | 得分 | ||||
| 1 | 考勤记录、学习态度、工作作风与表现。 | 5 | |||||
| 2 | 自学情况: 上网检索机时数、文献阅读情况(笔记)。 | 10 | |||||
| 3 | 论文选题是否先进,是否具有前沿性或前瞻性。 | 5 | |||||
| 4 | 成果验收: 是否完成设计任务;能否运行、可操作性如何等。 | 20 | |||||
| 5 | 报告的格式规范程度、是否图文并茂、语言规范及流畅程度;主题是否鲜明、重心是否突出、论述是否充分、结论是否正确;是否提出了自己的独到见解。 | 30 | |||||
| 6 | 文献引用是否合理、充分、真实。 | 5 | |||||
| 7 | 答辩情况: 自我陈述、回答问题的正确性、用语准确性、逻辑思维、是否具有独到见解等。 | 25 | |||||
| 合计 | |||||||
| 指导教师(签章): 年 月 日 | |||||||
