《毕业论文公交线路查询系统设计与实现.ppt》由会员分享,可在线阅读,更多相关《毕业论文公交线路查询系统设计与实现.ppt(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、公交线路查询系统设计与实现指导教师 耿聪指导方向 软件工程理论与实践职称/学历 工程师/研究生学生姓名 xx学号 06999291目录v第一章 绪论 v第二章 技术介绍 v第三章 需求分析v第四章 系统设计 v第五章 系统实现v第六章 测试v结论 v致谢 v参考文献 第一章 背景知识 v1.1课题编写背景v(1)城市道路繁多,很多时候会有塞车和改道路的问题。因此最大限度地提高道路使用效率就显得尤其重要,尤其是缩短到达目的地的路径的方法。这种方法的采取将会对城市的公路交通流动有很大帮助,能减少塞车状况和多余的等待时间。v(2)道路的优化选择可有利于提高资源利用效率和节约资源,包括减少道路资源和交
2、通资源的消耗,减少尾气排放量。v1.2国内外的研究状况v国内的研究状况v现阶段在国内,乘客可获得信息较少,根本上没有即时信息。除了少数像上海,北京,几个较大的城市,乘客可在站点处的电子牌获得一些公交车的运营信息外,其它中小城市不方便获得类似的即时信息。v缺乏专门的交通信息发布的管理机构,乘客获得信息准确性得不到保证。在城市效劳需求小的情况下,可以应付的来。但随着城市交通信息效劳需求的增长,从事交通信息效劳的人员和公司越来越多v,这时需要专门的管理机构来构建专门的制度来约束管理交通信息效劳存在的混乱和低效。v借助现代的信息技术和管理技术,设计公交查询系统。v国外的研究状况v20世纪80年代的兴旺
3、国家的运输交通领域进入一个崭新的阶段,日本,法国,美国等兴旺国家投入大量的财力物力来进行公交系统的信息化的研究。其他的国家如韩国,新加坡等国也先后对公交系统的信息化研究投入大量的金钱和时间。v如今的公交信息化的研究竞争愈演愈烈,产品的功能和使用型号更是层出不穷,逐渐形成了以日本,美国,欧洲为主导的三大体系。v1.3研究意义v我国私人汽车的迅速开展给城市的交通系统带来严重的影响。如何考虑公交车和私人汽车系统的竞争关系并建立一个有竞争力的,优化了的公共交通系统是很有战略意义的。我国实行了可持续性开展战略,当然包括交通的可持续性开展。所以大力优化交通运输结构和开展公共交通信息化体系是当务之急,也符合
4、当今国家开展需要。第二章第二章 技术介绍技术介绍v2.1.1Visual C+简介vVC+是微软公司开发的一个集成开发环境,是使用C+的一个开发平台。VC+是Windows平台上的C+编程环境,学习VC需要了解很多Windows平台的特性并且还要掌握MFC、ATL、COM等的知识。Windows下编程需要了解Windows的消息机制以及回调callback函数的原理;MFC是Win32API的包装类,需要理解文档视图类的结构,窗口类的结构,消息流向等等;COM是代码共享的二进制标准,需要掌握其根本原理等等。v2.1.2 MFC微软根底类vMFC,微软根底类(Microsoft Foundati
5、on Classes),同VCL类似,是一种应用框架。该类库提供一组通用的可重用的类库供开发人员使用。大局部类均从CObject 直接或间接派生,只有少局部类例外。vMFC 应用程序的总体结构通常由开发人员从MFC类派生的几个类和一个CWinApp类对象应用程序对象组成。MFC 提供了MFC 向导自动生成框架。vWindows 应用程序中,MFC 的主包含文件为Afxwin.h。vMFC,微软根底类(Microsoft Foundation Classes)用于在C+环境下编写应用程序的一个框架和引擎,VC+是WinDOS下开发人员使用的专业C+SDK专业软件开发平台,MFC就是挂在它之上的一
6、个辅助软件开发包。v2.2数据库简介v(1)企业数据管理v(2)SQL Server Management Studiov(3)SQL可用性第三章第三章 需求分析需求分析v3.1功能需求分析v用来查询线路和车次,为那些不知道车次和站点的用户提供相应信息,通过站点输入还可得到乘坐车次所走的线路和最正确换乘方案。此系统包括三个局部,分别是车次查询,站点查询,公交换乘模块。v1.实现对公交线路的具体信息的查询的功能,包括经过的所有站点。v2.实现最正确线路查询的功能,即填入起始及目的地v站情况下,用户通过查询得到最正确的乘车路线。v3.站点,点击查询得到所有经过该站点的公交车次 v3.2性能需求v1
7、.可操作性:使该系统适合任何年龄段和任何文化层次的用户,该系统的查询功能方便快捷。v2.实用性:本系统为用户实现了查询操作,并提供方案。v3.3数据需求v1.公交车次数据的录入。大局部是以终点站为沈阳北站的车作为录入的车次。v2.站点数据的录入。v3.4软件结构公交查询系统设计与实现车次查询站点查询公交换乘v3.5业务流程v开始功能选择数据输入输入数据是否有效车次查询功能,站点查询功能,换乘功能结束是否图3-2 业务流程v3.6模块界面v 第四章第四章 系统设计系统设计 v4.1 概要设计v本系统基于C/S结构,系统功能模块划分为:公交线路车次具体信息查询功能模块,最正确乘车路线查询功能模块,
8、站点具体信息查询功能模块。v(沈阳)公交线路查询系统站点具体信息查询功能公交线路具体信息查询功能最佳乘车路线查询功能v4.2 详细设计v4.21 系统功能模块设计v1.查询具体公交线路信息模块v图为车次查询功能模块图 具体线路详细信息查询功能查询模块返回相关线路信息返回所有经过的站点输入具体车次名称v2.站点具体信息查询模块v图为站点查询功能模块图站点具体信息查询模块输入具体站点名称返回所有经过的公交 车次v3.最正确路线查询模块 v最正确乘车路线查询功能模块图 最佳乘车路线查询返回最佳乘车线路 输入目的站点输入所在站点v4.3流程图v4-1车次查询模块流程图v4-2站点查询模块流程图v4-3
9、换乘模块流程图 开始数据输入判断是否为空调用车次查询函数输 出 文字 提 醒输 入 错误是否到了记录的末端指向第当前记录是否等同于当前记录中的车次向下移动一条记录返回给显示控件显示结果是否否是结束图4-8车次查询流程图否是开始数据输入判断是否为空调用站点查询函数 输 出 文字 提 醒输 入 错误是否到了记录的末端指向第当前记录是否等同于当前记录中的站点向下移动一条记录返回给显示控件,显示结果是否否是结束图4-9站点查询流程图否是开始输入起始站和目的站起始站是否存在记录当前记录的车次遍历数据表,查找目的站的车次目的站车次是否等同起始站车次站点数累加当前站是否是目的站向 下 移动1条记录存入数组中
10、记录是否到了最后向下移动一条记录按 最优 算法 输出 结果 数据存在不存在否是是否是否图4-10直达流程图结束第五章第五章 系统实现系统实现v5.1数据表1.车次表:属性名称可否为空数据类型数据长度BUS_ID否Int4BUS_Startstation是varchar100BUS_message是varchar500BUS_Endstation是varchar100BUS_ID设为该表的主键,表示公交车的路号。v 2.站点表:属性名称可否为空数据类型数据长度ID否Int4BUS_Station是varchar100BUS_ID是varchar500v5.2定义的数据类v三种基于基类CRecor
11、dSet的类StationSet,StartSet,EndSet。v startset用于表示起始站方面的信息,endset用于表示终点站的信息,在查询函数中利用二者可找到相应的站点和车次。v对于stationset是用来回指start的定位,让start回到开始的找到的记录位置或成为找到第一个相同车车次的终点站的位置,同时stationset也作为同一起始站有不同车次的路径查询开始或结束的开关。v5.3车次查询v车次查询模块实现利用站点表和车次表v1.首先输入车次,车次作为查询条件进行对数据库的操作。v2.判断输入的数据是否有效,是否为空。v3.通过功能函数的查询去查找相对应的车次的数据,即
12、数据表中BUS_ID的值。以输入的车次作为查询的基准,对记录逐行扫描。v4.当查找到某一行时,先会判断此行第一个数据BUS_ID的数据,查看该值是否等于输入车次数值。假设是,将这一行的相关列项的数据返回给显示控件,输出结果。假设不是那么移动到下一行下一条记录直到查出等于该车次的数值为止或查不出该车次返那么回错误信息。v5.查询的终止以是否查询到记录的末端为准,查找到最后一个记录那么说明该车次的数据不存在。代码如下:v6.显示出结果。v5.4站点查询v同上一节v5.5 公交换乘模块的实现v5.5.1 公交换成模块实现v1.输入起始站和目的站,站点名字作为查询条件进行对数据库的操作。v2首先,判断
13、输入的起始站或终点站是否有效,是否为空。v3.起始站和目的站的输入都不为空,接下来判断起始站是否在数据表中存在,存在的话继续执行下一条语句,如不存在那么显示错误。v4.如果起始站存在,给予标志位flag的值为1,这数值表示起始站点可以在数据表中找到。接下来经行终点站的找寻。这个查询是结合了站点的移动和终点站确实认。利用条件是数据表中的站点是否等于end进行确认。相同的话那么找到终点站,确认这是一个存在的站点。v5.假设起始站和目的站都存在,侧要进行二者的车次比照。利用起始站的BUS_ID和终点站的BUS_ID作为比照依据。如果二者数值相等那么说明这是一条直达的路径。v6.非直达路径。如二者站点
14、存在,但搜遍整个数据表却得不到同起始站的BUS_ID相同的终点站车次。这时还要进行判断是需要换乘,还是根本没有这条公交线路。v要得到第一个与刚开始输入起始站车次不同的记录位置。既遍历输入的同起始站点的车次相同的记录,直至遍历到拥有该车次的记录结束的位置。这其中记录了到结束时车所经过的站点个数。v找到与终点站车次相同的头条记录,这头条记录位于同终点站相同车次的一组记录的最上方。就是找到一个开始遍历的起始点或者叫第二个起始站。设定了标志位pic来表示是否找到了新的起始站点。如果遍历到记录的最终位置仍未找到,那么这个路径不存在,输出无转乘站点的字样。v利用了上面的直达路线生成的方法。即将起始站和终点
15、站转化在一条线路上。第六章 测试v车次查询界面 测试结果 v站点查询界面 测试结果v换成模块界面v测试结果v结论结论v致谢致谢v参考文献:v1 侯捷.深入浅出MFC.北京:电子工业出版社,2006.1 v2 孙鑫.VC+深入详解.北京:电子工业出版社,2006.6v3 李晓喆.SQL Server 2000 管理及应用系统开发.北京:人民邮电出版社,2005.11 v4美Stanley B.Lippma.C+primer.蒋爱军译.北京:电子工业出版社,2021.7v5美Bruce Eckel.Thinking In C+.第一卷.刘宗田译.北京:中国邮政出版社,2005.11v6美Bruce
16、 Eckel.Thinking In C+:practical programming.第二卷.刁成嘉译.北京:机械工业出版社,2006.1v7 胡超.30天学通Visual c+工程案例开发.北京:电子工业出版社,2021.7v8 夏云龙.最新Visual C+实用手册.北京:电子工业出版社,2005.1v9(美)Bjarne Stroustrup.THE C+PROGRAMMING LANGUAGE.周靖译.高等教育出版社,2005,9v10(美)Steve Maguire.Writing Clean Code编程精粹.姜静波 等译.电子工业出版社,2005,6v11(美)RobertB.Murry.C+Strategies and Tactics.Addison-Wesley.人民邮电出版社,2004.8v12(美)Scott Meyers.Effective C+.Addison-Wesley.电子工业出版社,2005.3