1、目录 一、设计题目 2 二、设计要求 2 三、设计作用与目的 2 四、所用软件 2 五、系统设计 3 1.系统总体设计 3 2.系统功能分析 3 3.目标系统应该达到以下要求 4 4.各子模块设计 4 ⑴用户权限管理模块设计 4 ⑵票务信息查询模块设计 5 ⑶车次管理模块设计 7 六、实验调试结果 8 1.售票员及系统管理员登录 8 2.列车信息的查询 9 3.系统管理员对车次的管理 10 七、设计中的问题及解决方法 11 铁路查询系统的设计与实现 一、设计题目 铁路查询系统的设计与实现
2、 二、设计要求 铁路查询系统是根据当前铁路日益繁忙的售票查询业务开发的。考虑了实际的情况的需要,它主要完成以下功能: (1) 操作员的访问权限控制。 (2) 车次的检索,包括察看车次的基本信息及售票信息。 (3) 新添加的车次检量,包括察看车次的基本信息及售票信息。 (4) 系统操作说明。 (5) 系统功能介绍。 三、设计作用与目的 铁路售票查询系统是铁路管理业务中的一个最基本的业务,铁路信息是供乘客查询的一个重要内容,也是一个信息量庞大的系统,是铁路部门进行数据管理的重要方面。通过设计一个查询系统,有利于数据共享,节省开发时间,增强可靠性与安全性,更有利于及时了解铁路动态信息
3、的变化。 本课程设计便是利用开发工具vc++开发的一个铁路售票查询系统,它能方便快捷地运用在铁路票务营运中。同时,也使我们更好的熟悉Vc++软件的使用。 此外,课程设计也是在我们学习计算机软件技术基础上,对所学的内容的综合。设计中包括了函数的调用,将要实现的功能用函数来实现;以及指针对对象的定义与调用。让我们学会如何编写单一模块功能函数,也使我们更加清楚一个完整的程序一般都包含一个主函数和若干子函数。根据铁路信息的特点,系统设计查询分为车次查询和目的站查询。 四、所用软件 • 操作系统:Windows 2000/XP • 开发平台:Microsoft Visual C++ 6.0
4、 • 服务器设备需求: • 具有 Pentium III 处理器且满足以下要求的计算机: • 最低512 内存 • 最小 8 GB 硬盘 五、系统设计 1.系统总体设计 铁路售票管理系统主要负责列车信息及车票信息的查询,登录系统及信息管理,火车及车票的管理。铁路售票管理系统的主要用户是:系统管理员以及游客。 因此,此次设计,火车站售票管理系统主要设有三个主要功能模块:用户权限管理模块设计、管理员车次管理模块设计,票务信息查询模块设计。 以下为系统设计功能图: 操作者权限 铁路查询系统 权限管理 查询管理 车次管理 车次信息查询 车票信息查询 车次信息添加
5、 图1.系统设计功能图 2.系统功能分析 根据需求分析,本系统要实现以下的基本功能。 ①.权限功能:火车站系统管理员权限登陆。当游客身份登陆时,无需输入密码. ②.车票信息查询功能:管理员通过不同的检索入口,查询车票信息。游客可以查询车次信息 ③.车次管理功能:只有管理人员能够修改车次信息,如车次信息的添加 3.目标系统应该达到以下要求: (1)系统应具有开放性:考虑到铁路部门的运行不仅与各区域相关,受区域管辖,调配,而且它必须受国家铁路中心集中管辖,在特定的时期国家需采取特殊措施,对整个国家内的各子区域进行宏观调控,对整个铁路运输进行合理调度,尽量使旅客达到满意程度。本系
6、统必须具有良好的开放性,既要满足现有集成需求,又要为将来系统的扩展预留接口。 (2)应随着铁路售票部门业务的不断完善,系统的更新势在难免,因此系统应该具有很好的跨平台性、可维护性、可扩充性、易使用性。当用户需求,如操作方式、运行环境、数据结构以及其他软件接口等发生变化时,设计的软件要求能做适当的调整。 (3)系统应具有高可靠性:系统在功能完整的同时,应具有良好的可靠性。作为支持铁路售票部门的工作,有效调度区域的铁路客运,系统必须具有高效可靠性,以保证数据的安全和系统的稳定运行。 (4)系统对用户操作的相应时间应小于1 秒,最终用户对时间具有较高的要求,如查询列车信息及车票信息时,需要较快
7、的查询速度,否则会给最终用户带来不便。 (5)系统应易于操作和维护:系统应面向用户进行设计。系统的使用者对计算机了解程度不同,因此系统的操作应该尽量简单、方便,用户界面友好,使用户能够易学易用。 (6)系统应具有较强的安全保密性:系统应提供安全可靠的数据存储服务,拒绝未被授权的人员访问、篡改数据信息的企图,而只向被授权的用户提供与其权限一致的数据服务。 4.各子模块设计 ⑴用户权限管理模块设计 用户权限管理模块设计,为对系统设置登陆密码,并且分为管理员登陆和游客登陆。其中管理员登陆需要密码,而游客登陆则不需密码。当使用管理员登陆时,需输入密码,可进行对系统的所有操作,当使用游客身份登
8、陆时,无需输入密码,但只能浏览和查询车票信息。 流程图如下: 是否为管理员 输 入 密 码 密 码 是 否 正 确 是 否 是 否 享有浏览查询功能 选择系统菜单中的功能 可对系统进行所有操作 开 始 图2.用户权限模块流程图 用户权限管理模块主要是为了限制不同用户的使用权限器程序,其中设置password决定用户身份,password为1,表明用户为管理者,password为2,身份为游客,管理者需要密码才能访问。其中调用了函数Train_link::input(),对输入的数据进行判断。 ⑵票务信息查询模块设计 查询票务信息模块是用户和管理员共用
9、的模块,主要是为用户和管理员提供实时票务信息。查询方式是登录系统后,选票务查询选项,键入车次或者是终点站即可得到查询结果 车次查询: 一个车次是能够唯一标识一列列车的唯一标识。通过列车的车次查询,只能得到一列列车的基本信息。列车的基本信息中包含的是列车的一些静态信息。比如,列车的途经站,列车的载客量,列车始发时间,用时多少等等。这样系统才能够根据访问者提交系统的一个条件(车次)显示出车票所有信息。目的站查询: 通过目的站的查询相对于通过车次查询要复杂一些。因为车次就能够唯一的标识一列列车了。而目的站不能,到同一个目的站的车会有很多。所以当用户告诉系统他想到哪一站的时候,系统应该先将满足到该目
10、的站停车的所有车次查询到。然后列出这些列车的信息给用户。这个步骤就是通过目的站查询比通过车次查询所多出的一个步骤。之后每一个列车都有一条信息的记录,就好像是在通过车次查询出来的结果一样。 流程图如下 输 入 车 次 是否为车次查询 输 入 目 的 站 系统是否有该站 系统是否有该车次 显示该目的站所有车次信息 显示车次所有信息 返 回 主 菜 单 是 是 是 否 否 否 进 入 查 询 系 统 图3.查询模块流程图 车次查询系统,对查询方式进行字符串比较,判断输入的数据格式是否正确。调用了Train_link
11、found()查询函数,Train_link::find(Train_infor **p1,int num,char *pn)函数搜索查询的信息,并显示查询结果的函数Train_link::show() ,同时对输入的数据判断正误。 ⑶车次管理模块设计 管理员登录系统后可以更新系统票务信息,添加车次。车次信息包括:班次、车的额定座位数、行车时间、起点站、终点站一系列信息。 流程图如下: 添加新的车次的所有信息 系统是否有该车次信息 存 入 系 统 返 回 主 菜 单 是 否 管理员进入录入系统 图4.车
12、次管理模块 车次模块通过,前面的登陆设置,只有管理员才能进行新的车次信息的添加,并通过对输入数据的比较,判断输入是否正确。函数设计中,通过调用 Train_infor::input(),将车次的所有信息都存入系统里。 六、实验调试结果 1.售票员及系统管理员登录 用户权限,通过设置密码来实现,系统中的登陆密码为123.管理员需用密码登陆系统,游客无需密码登陆系统。. 图5.管理者登陆系统 图6.游客登陆系统 2.列车信息的查询 选择查询的方式:按车次查询、按目的地查询。其中按车次查询为输入要查找的车次,然后系统显示查询结果;按目的站查询为,输入目的站,系
13、统显示查询结果。 图7.车次查询 按目的站查询 图8.按目的站查询 3.系统管理员对车次的管理 管理员添加新的车次信息,包括车次、座位数、始发时间、行车时间、起始站与终点站。 图9.新添加的车次信息 七、设计中的问题及解决方法 设计过程中出现了种种问题,其中有最开始的操作者权限控制的问题,因为对c++,比较陌生,所以一时半会儿不知道怎么弄,然后向网络高手请教,他给我提供的方法就是用字符串比较法,来设置一个登陆密码。其实虽然学了c语言,我对这些知识的运用,特别是综合运用,还达不到课程设计要求。从资料中,可以找到一些用数据库编写的,但由于对数据库,没有什么研究,也就放弃了,最后还是选择了c++。其次,就是画流程图,由于以前学的知识都忘了,不知道怎么去设计,就给编程带了一定的麻烦。不知道该怎么合理根据流程,写出源程序,后来花了一定的时间复习,计算机软件书,又到图书馆借阅相资料,总算知道去安排,流程图的发展了。






