1、 随着时代的开展,计算系软件和系统的成熟,火车票的正当管理成为一个影响铁路部门正常运营的因素之一,而建立火车票订票管理系统是一个很好的解决方法。作为计算机应用的一局部,使用计算机对火车票信息进行管理,具有手工管理所无法比较的优点,例如检索迅速、查找方便、可靠性高、存储量大、保密性好等,这些优点能够极大的提高火车票信息管理的效率,也正体现了火车票的科学化正规化管理现在随着社会的开展,数据量急剧增长,现在人们就借助计算机和数据库技术科学的保存大量的数据,以便能更好的利用这些数据资源。本论文就是通过MFC的整体设计把数据库与应用程序相连接,做成一个火车票的订票管理系统,使得火车票管理员能够有效的管理
2、车次信息、旅客信息、退票信息等。同时用户可以通过查询到相关的火车票信息,选择是否适合自己,也可以在网上直接订票、退票,省时省力 。关键字: SQL2023,MFC,数据库设计,火车票订票系统目录第一章 概述1.1项目开发背景1.2系统开发目的1.3技术可行性研究第二章 开发平台介绍2.1 系统的架构2.2系统运行环境操作系统2.3系统开发环境2.4开发工具第三章 数据库设计3.1系统详细调查3.2数据流图3.3数据库设计第四章系统的界面设计 4.1主窗口界面 4.2旅客信息窗口 4.3车次信息窗口 4.4取票及退票窗口第五章 系统的实现 总结与展望致谢参考文献需求分析需求分析的任务调查机票预定
3、系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。最重要的是调查、收集信息、分析购票人信息和火车预定流程。处理要求、数据的安全性与完整性要求。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,效劳器程序利于维护。需求分析的过程火车站为方便旅客,需开发一个火车票预定系统。为便于旅客由网上定票,把预定火车票的旅客信息,包括姓名、性别、工作单位、身份证号码、出发时间、目的地,输入火车票订票系统的客户端程序,系统经过查询火车站内的列车车次数据效劳器后,为旅客安排列车,印出取票通知。旅客在火车出发前一天凭取票通
4、知和帐单交款后取票,系统校对无误后即印出火车票给旅客。如果某方面出现问题,旅客可以持有效证件去火车站退票。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,效劳器程序便于维护。数据字典与流程图经过可行性分析和初步需求调查,抽象出该系统业务流程图,结合该实例具体情况,给出旅客信息、订票信息和取票通知的具体需求。去火车站购票售票处核查相关信息去售票处购票打印火车票确认列车车次检查个人身份图2.1 旅客购票流程图 调查用户需求 售票处需求l 功能:旅客持个人证件去火车站购置火车票。希望能通过旅客姓名查到该旅客的列车车次并记录旅客根本信息。l 统计功能:u
5、按火车票统计买票人数u 按姓名统计火车票数旅客购票需求l 交费功能:u 交费u 退费 取票需求l 通知功能:u 通知旅客取票l 统计功能:u 统计通过验证的人数u 统计可以取票的人u 统计未通过验证的人数l 查询功能:u 购票旅客查询 购票旅客姓名 购票旅客身份证号 购票旅客订单号 列车车次信息需求l 查询功能:u 车次u 始发站u 终点站u 始发时间系统框架在调查完了用户需求之后,就要开始分析用户需求。在此,我们们采用自顶向下的结构化分析方法SA方法。首先,定义全局概念结构的框架,如图2.2所示。火车票订票系统旅客信息系统退票信息系统取票通知系统列车车次信息系统图2.2火车票预定系统总框架图
6、各子系统需要进一步细化。旅客信息系统为例进一步细化,如图2.3所示。旅客信息系统查询旅客信息统计人数图2.3旅客信息系统细化以其中的查询旅客信息功能为例进一步细化,如图2.4所示。查询旅客信息旅客订单号身份证号旅客 号旅客姓名图2.4查询旅客信息功能列车车次信息系统列车车次号始发时间终点站始发站图2.5列车车次信息系统细化 取票通知系统火车票信息系统旅客信息系统 图2.6取票通知系统细化旅客信息系统取票时间旅客姓名图2.7旅客信息系统能查询到的内容 火车票信息系统火车票类型座位号列车车次图2.8火车票信息系统能查询到的内容退票信息系统订单号身份证号旅客 号码旅客姓名图2.9退票信息系统细化将所
7、有子系统全部细化。将所有用户需求分析完毕之后,就要开始构造数据字典了。经分析之后,本系统要用到五个根本表:退票信息表,旅客信息表,列车车次信息表,取票通知信息系统,列车座位信息表。数据结构定义如表2.1所示。表2.1 数据结构定义数据结构名含义说明组成退票信息定义了退票旅客的有关信息旅客姓名,身份证号,订单号, 号旅客定义了旅客有关信息旅客姓名,身份证号,性别,工作单位, 号列车车次信息表定义了车次的有关信息车次号,始发地,目的地,始发时间取票通知单定义了取票通知相关有关信息旅客姓名,取票时间,列车车次,座位号,火车票类型列车座位信息表定义了列车座位有关信息列车号,座位号,座位信息,火车票类型
8、概念结构设计概念结构设计的方法与步骤概念结构设计的方法概念设计阶段我们采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。概念结构设计的步骤第一步是进行局部视图的设计:由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成。因此我们们先逐一的设计分E-R图。第二步是进行视图的集成:各子系统的E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次集成两个分E-R图。我们想采用一次集成两个分E-R
9、图的方式。数据抽象与局部视图设计按照图2.2机票预定系统总框架图,设计实体属性图以及局部E-R图。退票系统订单号 号身份证号旅客姓名图3.1退票信息系统旅客信息工作单位 号身份证号旅客姓名性别图3.2旅客信息系统 列车车次信息终点站始发时间始发站车次号 图3.3列车车次信息取票通知单火车票类型座位号旅客姓名取票时间列车车次图3.4取票通知信息列车座位信息表火车票类型座位信息列车车次座位号图3.5列车座位信息表 旅客登记购置车票登记并缴费图3.6旅客购票局部E-R视图的集成经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图3.4总体概念结构E-R图 号旅客姓名退票信息旅客取票通知车次
10、信息列车座位信息退票取票包含购置订单号身份证始发站间性别旅客姓名 号身份证始发时间终点站车票类型车次旅客姓名座位号车次座位号息座位信息车票类型车次号取票时间订单号图3.4系统总体结构E-R图逻辑结构设计E-R图向关系模型的转换将图3.4总体概念结构E-R图转化成关系模型。 退票信息订单号,旅客姓名, 号,身份证号旅客旅客姓名,身份证号, 号,性别,工作单位) 车次信息表车次号,始发站,终点站,始发时间 取票通知单旅客姓名,取票时间,车次号,座位号,车票类型 列车座位信息表座位号,车次号,座位信息,车票类型数据模型的优化将转化的关系模式进行优化,最终到达第三范式。1、确定数据依赖退票信息订单号,
11、旅客姓名, 号,身份证号根据这个关系写出数据依赖订单号旅客姓名,订单号 号,订单号身份证号旅客旅客姓名,身份证号, 号,性别,工作单位)旅客姓名身份证号,旅客姓名 号,旅客姓名性别,旅客姓名工作单位 车次信息表车次号,始发地,目的地,始发时间列车车次始发站,列车车次终点站,车次始发时间取票通知单旅客姓名,取票时间,车次号,座位号,机票类型旅客姓名取票时间,旅客姓名车次号,旅客姓名座位号,旅客姓名车票类型火车座位信息表座位号,车次号,座位信息,车票类型座位号,车次号座位信息,座位号,车次号,座位信息车票类型2、 对各关系模式间数据依赖进行极小化处理,消除冗余 订单号旅客姓名,订单号 号,订单号身份证号,旅客姓名性别旅客姓名工作单位,旅客姓名取票时间,旅客姓名车次号旅客姓名座位号,旅客姓名车票类型,车次号始发站,列车号终点站车次号始发时间,座位号,车次号座位信息3、 看这些模式是否符合要求,确定是否要对某些模式进行合并或者分解 最终分解成第三范式: 订单号, 号,身份证号订单号,旅客姓名旅客姓名,取票时间,性别,工作单位,车票类型旅客姓名,车次号旅客姓名,座位号车次号,座位号,车票类型车次号,始发站,终点站,始发时间