




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要随着社会发展,交通越来越发达,日益增长的公交数量、路线不断的复杂化后给人们提供公交信息的便捷度和人们对公交信息的渴求度形成了矛盾,公交信息量大,提供查询的方式少。发达国家一直都很关注公交查询系统的研究和应用,目前,国内外公交查询系统都发展到了一个比较成熟的阶段,无论是从理论上还是从技术上都比较成熟。国外公交查询系统更是早已经实现了智能化、信息化、社会化。据相关资料了解,国外有的公交查询系统现在已经将地图与数据库相结合、全球定位系统、遥感技术集合到公交查询系统中。通过卫星或飞机接收地面反射波普,判断地面情况的技术。现在国内的公交查询系统也结合了很多技术,比如:基于ASP.NET+XML的公交查询系统,基于J2ME的公交查询系统,基于WebGIS公交查询系统。国内公交查询系统也正在向将GIS、GPS、RS技术相结合的方向发展。在这种技术满足,社会需要的情况下,结合学校毕业种种情况,我设计了由VB和SQL共同开发的公交查询系统。在分析了我国城市公交信息系统的发展状况后,找出问题和不足,在考虑乘客心理的基础上建立基于时间和费用价值的公交线路选择合理的模型。本系统论述了分析,开发,设计一个公家查询系统的过程,根据不同乘客的需求实现多种查询方式如现线路查询,站点查询,乘车方案查询等方式,并提供站点信息浏览,乘客留言等功能,乘客只需点击鼠标便可实现找到乘车方案。本系统开发采用原型法,使用Visual Basic 6.0和SQLSERVER2000开发而成。关键词:公交车查询系统,Visual Basic 6.0 ,SQL Sever 2000 AbstractWith the development of society, the traffic is more and more developed, the growing number of the bus, route the complication after people to provide public information and convenient degree and the people on the bus information craving degree formed contradiction, public information, provide the inquiry way less. The developed countries have been very concerned about public transport query system research and application, at present, domestic and foreign public transport query system has developed to a more mature stage, either theoretically or technically more mature. Foreign public transport query system is already achieved intelligent, informatization, socialization. According to the relevant information, some foreign public transport query system now will map combined with database, global positioning systems, remote sensing technology to gather public transport query system. The aircraft received via satellite or ground reflection pop, judge the situation on the ground technology. Now the domestic public transportation query system is combined with a lot of technology, such as: System Based on ASP.NET+XML bus, system based on J2ME bus, bus query system based on WebGIS. The domestic public transport query system is also to be GIS, GPS, RS technology combined with the direction of development. In this technique, the social needs, combined with the school circumstances, I designed by VB and SQL joint development of the query system of public transportation.In has analyzed our country city public transportation information system development status, identify problems and shortcomings, in considering passengers psychological basis based on time and cost value of bus lines to choose a reasonable model. The system discussed the analysis, development, and design a public inquiry system, according to the different needs of passengers to achieve a variety of search methods such as the line information, site information, solution means such as inquiry, and provide the site information browsing, passenger messages and other functions, the passengers only need to click the mouse can be realized to find the solution. The development of this system using the prototype method, using VisualBasic6.0 and SQLSERVER2000 was developed.Key words: bus inquiry system, SQL SERVER 2000, Visual Basic 6.0目录摘要2Abstract3目录1第1章 绪论31.1项目开发背景31.2项目开发目标41.3项目开发的意义4第2章 系统开发工具介绍52.1 VisualBasic 6.0简介52.1.1 VisualBasic主要特点:52.2 SQl SEVER 2000简介62.2.1特性62.2.2优点:7第3章 系统分析73.1 可行性分析73.1.1 技术可行性73.1.3 社会环境可行性83.2 需求分析83.2.1 系统性能需求83.2.2 乘客功能需求9第4章 系统总体设计104.1 系统功能模块图104.2系统流程设计124.2.1乘客登录流程图:124.2.2密码修改流程:124.2.3业务流程图134.2.4数据流程图144.3 数据库设计154.3.1 数据库设计概要154.4结构设计174.4.1系统类图:174.4.2系统用例图184.3.3 E-R图19第5章 系统设计与实现195.1关键技术的实现195.2算法思路以及实现205.2.1站点查询:205.2.2换乘算法215.3 VB与SQLSERVER数据库连接使用255.4 系统的实现26第6章 运行测试与维护316.1测试目的316.2测试原则316.3测试内容32第7章 结论与展望337.1 结论337.2 展望34致谢34参考文献34附录35系统登陆模块设计35系统主界面设计36乘客管理置37站点信息管理40线路信息管理43经过站点管理46站点车型50乘车方案查询51站点信息浏览53第1章 绪论1.1项目开发背景随着城市建设的快速发展,公交车作为一种大众的交通工具,已深入人们的日常生活。但是我国城市公交乘客信息系统的发展处于一个落后的水平,广大乘客可以获得信息的方式很少,公交信息的完整性和准确性得不到保证,而且还没有专门的机构负责信息的发布和管理。我国公交乘客信息系统的现状特点如下:(1) 我国乘客一般获得公交信息的方式局限于电话,交通图,向熟人问讯等常规方式。乘客可以获得的公交信息较少(2)乘客出行中获得信息困难,基本上没有实时信息。除了几个少数城市,乘客可以通过分布于城市中的若干电子站牌获得一些公交车辆的运营信息以外,在其它城市“出行中”的乘客无法获得任何实时信息。由上所述,我国公交乘客信息系统总体上处于较低水平。较低的发展水平既是发展的困难,也是发展的机遇。我们应将发展公交乘客信息系统作为一个提高公交效率,增强公交吸引力的重要手段。这里指的公交查询系统就是网络上的公交查询网站,它的出现解决了现代公交乘客信息系统中的很多不足的地方,它的主要优势体现在省时、经济、准确,这三个方面。从省时这个角度讲,根据公交查询系统人们可以选择从出发地到目的地的所有乘坐路线,在所有的的乘车路线中按自己的路线选择。可以选择直达的,这样节省的是车上时间。车下时间的节省更是很明显的,不用再在路边或者打电话询问熟人了,由于现代网络的普及使得普通公民上网的时间和机会越来越多,所以人们可以很容易的从公交查询网站捕获到自己需要的信息,这节省的是车下时间。经济这方面也得到很好的体现,由于现代公交乘客信息系统存在的消息捕获得不到保证,在这个时间就是金钱的时代人们可不愿意乘错车而错失自己的金钱。准确性是整个公交系统中的一个重点也是人们最希望得到保证的,公交查询系统根据公交线路的调整及时更新数据库使得人们不必为自己的错误记忆或是不熟悉线路而付出时间和金钱的代价,目的才是最终想要的,所以准确性才是最重要的1。1.2项目开发目标城市公交直接关系着城市的经济发展与居民生活,以其方便、快捷、容量大而成为城市交通的主体。但是随着公交系统的庞大,人们很难得到准确的公交信息,这样给一些人的出行就带来了不便。因此,需要一个方便、快捷的公交信息系统,实现中心控制、自动更新、查询灵活、信息及时准确等功能。l 能够对公交信息进行管理l 能够实现系统管理功能,对不同乘客实现不同界面,提供不同的菜单工具,对权限有一定的管理功能。l 能够通过连接网络实现动态的更新公交信息l 能够实现多种查询方式l 能够对留言进行回复l 要求系统安全稳定 1.3项目开发的意义随着交通越来越复杂,出行的人们要在外获得准确及时的交通信息除了打电话,查看地图,询问陌生人之外别无他法,目前就我国,人们出行公交还是首选的交通工具。我国人口多,出行频率高,随着人们经济生活水平的提高,更多的人选择外出旅游,外出的每个人不可能带着图纸走到哪看到哪,坐车更不可能走一路找一路,人们需要的是一个能快速简单的提供交通信息的工具,不用携带,只需在站点处轻轻点击鼠标遍能查到乘车方案的一个信息浏览点。我国目前这种即时的准确的交通系统目前只在少数的几个城市中有,大部分城市出行的人们还是会感到不方便。公交查询系统是基于C/S模式,易于上手,轻松方便的点几下鼠标便可实现公交信息查询和线路选择,这给人们出行提供了很大的方便。不用在出行前翻阅公交路线表,更不用在路边迷茫的等待公交,解决了乘客外出乘车信息缺乏的问题。第2章 系统开发工具介绍2.1 VisualBasic 6.0简介VisualBasic是一种可视化、面向对象、用事件驱动方式的结构化高级程序设计语言和工具,是目前使用最广泛的编程语言之一。在语言功能方面,VisualBasic6.0它与以前的BASIC语言基本兼容,但功能更强,使用更方便。VisualBasic6.0是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。它简单易学、效率高,且功能强大。在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速的开发出Windows环境下功能强大、图形界面丰富的应用软件系统。2.1.1 VisualBasic主要特点:l 可视化编程系统引进了窗体和控件的机制,用于设计应用程序界面。乘客通过在屏幕上生成窗体,在窗体中绘制所需要的控件和按钮,设计菜单和对话框,VB会自动生成相应的代码。l 面向对象的程序设计4.0版特别是5.0以后的VisualBasic全面支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(如C+)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;VisualBasic则是应用面向对象的程序设计方法(OOP)把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,VisualBasic自动生成对象的程序代码并封装起来。l 结构化程序设计语言VisualBasic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计VisualBasic程序的过程中,随时可以运行程序,而在整个应用程序设计好之后,可以编译生成可执行文件(.exe),脱离VisualBasic环境,直接在Windows环境下运行。l 事件驱动编程机制当窗体或控件上发生一个事件时,VB立即把控制权交给程序员。程序员不必担心如何判断事件是否已发生,只需要编写一段代码告诉计算机在事件发生以后应该做什么工作就可以了。这样,设计一个Windows应用程序简化为用鼠标在屏幕上点击、拖拽并添加少量的代码就可以完成了,大大降低了对程序设计的要求,提高了应用程序的开发效率。l 访问数据库VisualBasic系统具有很强的数据库管理功能。利用数据控件和数据库管理窗口,可以直接建立或处理MicrosoftAccess格式的数据库,提供强大的数据存储和检索功能。VisualBasic提供开放式数据连接(OpenDatabaseConnection),即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQLserver、Oracle等。2.2 SQl SEVER 2000简介SQL Server 2000 是Microsoft公司推出的SQL Server 数据库管理系统的一个版本,他是一个关系数据库系统,具有很大的伸缩性,既适用于桌面系统的单个乘客数据库,也适用于企业级的网络数据库,甚至适用全球的Web站点数据库。SQL Server2000是SQL Server的第8个发行版本,能够提供一个功能丰富、成熟且稳定的平台。2.2.1特性l internet集成性l 可伸缩性和可用性l 企业级数据库功能l 易于安装部署和使用2.2.2优点:l 高性能设计,可充分利用WindowsNT的优势。 l 系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。 l 强壮的事务处理功能,采用各种方法保证数据的完整性。 l 支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。 SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的乘客、开发人员和系统集成商提供了一个出众的数据库平台。第3章 系统分析3.1 可行性分析可行性分析是对系统总体的简要分析,目的是从多方面确定开发的必要性可可行性。可行性分析是系统研发之间必不可少的一个步骤,通过可行性分析获得在以后研发时可能会遇到的问题,明确系统要求,对系统研发设计出适合的方法,并能确定在研发成功后系统的适用性,群众对系统的认可程度。总之,可行性分析就是系统研发前必须做的一件事。3.1.1 技术可行性从目前现有技术来说开发此系统是完全可行的,首先,大学期间已经初步掌握了VB,SQL数据库等方面的编程技巧,在该软件上进行设计技术上的难点并不多,其次,在系统开发前期我也查询了相关的资料和其他的公交查询系统,并认真的分析,最后,从数据库方面来分析也是可行的。现在网络技术也很发达,如果有疑问了可以上网查找视频,看资料进行自学,通过询问老师,同学的方式也是可以解决技术上的问题的,因此从技术的角度来说完全是可行的。 本系统的研究主要是公交信息的几种查询方式,而这几种查询方式主要由代码实现,并不需要花费很大资金,其中数据这方面通过网络完全可以找到,就软件从网站上下载也属于免费的。在系统完成后乘客更不需要花费多少就能轻松查询公交信息,在社会上也有很大的适用性。3.1.3 社会环境可行性 正如本系统提出原因的一样,是为了解决公交信息量大但却提供可查询的方式少的矛盾。随着社会发展,公交信息量会越来越大,无论从地铁还是其他交通工具,这就决定此系统在未来有很大的适用空间,而目前我国公交查询方式除了上网,打电话,向旁边人询问之外别无他法,就算是电子站牌也在少数的几个城市中有,因此乘客对公交信息的渴求程度依然很强烈。系统完成后我们就不用出行之前看公交路线图,更不用在车站迷茫的等车,只需要轻点几下鼠标便能省时省力的获取公交信息,节约了时间,也给了人们很大的方便。因此,此系统对于社会来说也是可行的。3.2 需求分析 随着我国经济高速发展,人们生活水平的提高,越来越多的人开始或旅游或出差在外。当我们到达一个城市后首先搞清这个城市的公交路线显的非常重要,这会节约我们很多的时间。开发本系统的目标就是立足广大乘客的实际,着眼于公交业的未来发展,规范公交管理,提高服务质量,方便乘客查询,并为此设计该系统。3.2.1 系统性能需求l 简单性:对于整个系统来说主要实现的是简单性,由于要考虑到乘客的广泛性和使用的短时性,这就要求整个系统必须对所有乘客都实现简单的快速查询。l 稳定性: 稳定性对于系统来说非常重要,长期的稳定是我们对系统的基本要求,一个不稳定的系统他的适用性一定不会很。l 准确性: 本系统实现的主要是乘客对公交系统的查询功能,由于公交信息的复杂性,这就要求系统必须很准确的对每一路公交进行记录,并且当乘客查询的时候能够准确的提供这些数据,一个信息不准确的系统没有实用价值。l 易于维护性: 不管是哪个系统,易于维护是后期考虑的主要方面。本系统要求简单性,同意也要在系统投 入市场后在后期显露出的漏洞的时候进行维护,没有哪个系统是永远完整的,只能说是在当前还没有发现漏洞。所以后期主要的维护工作要求简单容易的维护会给管理员节省很大的时间,也会对系统的升级有很大作用。3.2.2 乘客功能需求l 管理员功能需求:在当管理员进入系统后,能实现对系统的管理。公交信息管理,管理员能对公交信息进行录入,删除,修改等操作。乘客管理,管理员可以对乘客进行增添,对登录乘客的数量进行限制。信息管理,管理员能够对乘客的留言进行回复,删除等操作,能够对系统数据库进行管理维护。乘客功能需求:l 查询功能:乘客进入系统后可以直接对公交信息进行查询,如站点查询,线路查询,乘车方案查询。l 留言功能:为的只是让所有的乘客来监督这个系统的准确性和可靠性,如果数据出现错误或者是数据有更新而管理员没有及时更新的话乘客可通过留言板跟管理员取得联系,提供给管理员相应的资料。仅仅几个管理员不可能及时全部准确的完成这么一个庞大的数据库的更新,所以特别开通这个功能让大家共同来完成这个比较有意义的项目。l 信息浏览功能:乘客查询完信息后如果还想对系统其他站点的信息进行查询,可以选中站点,对查询的站点信息进行浏览。第4章 系统总体设计4.1 系统功能模块图本管理信息系统将采用技术成熟的VB6.0作为前台开发工具。后台数据库采用微软公司的SQLSERVER2000数据库。l 整个系统需要实现的功能如图(4.1):公交车查询系统系统管理公交车信息管理信息查询中心时间管理数据库设计与维护留言管理图(4.1)l 系统管理员需要实现的功能模块如图(4.2):管理员用户管理公交信息录入公交信息删除数据库设计与维护留言处理公交信息修改图(4.2)l 乘客需要实现的功能如图(4.3): 在乘客进入系统后能后实现对公交线路,站点,乘车方案的查询,并能够在查询完后浏览到本站所有公交信息,并对系统有任何意见和建议做出留言。用户线路查询乘车方案查询留言站点查询站点信息浏览图(4.3)4.2系统流程设计4.2.1乘客登录流程图:打开系统,乘客输入乘客名和密码后系统自动会判断乘客名是否存在,密码是否正确,当乘客名不存在,系统会自动做出提示,并跳转到注册界面,当密码不正确的时候 系统也会做出提示,并跳转到输入密码的文本框中,只有当密码和乘客名都正确的时候,才能进入系统,并跳转到主界面。 注册成功注册界面是否输入用户名和密码登录进入主界面用户是否存在?乘客登录流程图(4.2.1)4.2.2密码修改流程:在乘客输入密码后系统会自动分析输入的密码是否正确,如果正确则有修改密码权限,若不正确,光标直接跳转到输入密码的文本框中,重新输入密码。在密码输入正确的情况才有修改密码的权限。修改密码的过程为,输入新的密码后需要再次输入新密码进行确认,若两次输入密码相同,则有修改权限,若输入不同,光标直接跳转到输入新密码的文本框中,当再次输入密码和确认密码相同的时候,点击确认才能修改成功。至此,密码修改结束。否否操作结束是是输入密码是否正确输入新密码确认密码相同修改成功密码修改流程图(4.2.2)4.2.3业务流程图当管理员进入系统后,管理员能对公交站点,线路等信息进行设置,比如增加,修改,删除等操作,也可以对系统进行管理,对乘客的留言进行回复等操作当乘客进入系统后,可以对公交线路查询,站点查询,乘车方案查询,在搜索结束后系统能反馈出公交信息供乘客浏览,若乘客还想查询其他路线,也可以返回继续查询,同时,也可以对系统中产生的问题进行留言,如果不想继续查询也可以直接结束操作。否是登录主界面设置站点信息设置线路信息设置站点查询条件搜索站点乘车信息显示所有乘车信息是否继续?结束操作留言业务流程图(4.2.3)4.2.4数据流程图 数据流入主要依靠管理员对系统数据进行录入,比如对乘客的操作,对公交信息的操作,对乘客留言的操作。在这些数据录入后,会流入数据库进行保存。 乘客在输入乘客名和密码之后系统会自动调动后台数据库中的数据和乘客输入的信息进行比对,在乘客点击不同查询方式的时候,输入查询条件后系统也会调用后台数据返回到前台界面供乘客浏览。在留言部分,乘客留言结束后会保存到系统后台数据库中,当管理员查看的时候系统调用留言数据,并进行处理。留言管理员公交信息录入用户增删数据库留言处理用户线路查询站点查询公交信息浏览乘车方案查询数据流程图(4.2.4)4.3 数据库设计 4.3.1 数据库设计概要数据库系统是以数据为中心,在数据库管理系统的支持下进行数据的收集、整理、存储、更新、加工和统计,进行信息的查询和传播等操作的计算机系统。数据库系统的设计既要满足乘客的需求,又要与给定的应用环境密切相关,因此必须采用系统化、规范化的设计方法进行设计。设计与使用数据库系统的过程是把现实世界的数据经过人为的加工和计算机的处理,为现实世界提供信息的过程。在给定操作系统和硬件环境下,表达乘客的需求,并将其转换为有效的数据库结构,构成较好的数据库模式,这个过程称为数据库设计。要设计一个好的数据库必须用系统的观点分析和处理问题。数据库及其应用系统开发的全过程可分为两大阶段:数据库系统的分析与设计阶段;数据库系统的实施、运行与维护阶段。数据库系统的生命周期分为两个重要的阶段:一是数据库系统的设计阶段,二是数据库系统的实施和运行阶段。其中数据库系统的设计阶段是数据库系统整个生命周期中工作量比较大的一个阶段,其质量对整个数据库系统的影响很大。设计的表如图:总共设计4个表线路表,用来进行线路信息的设置字段类型长度能否为空约束线路文本20不能主键始发地文本20不能目的地文本20不能服务类型文本20不能车型文本20不能站点表:用来保存站点信息字段类型长度能否为空约束名称文本20不能主键线路过站表:用来保存每条线路经过的站点信息字段类型长度能否为空约束记录号文本20不能主键线路文本20不能外键站点序号数字8不能站点文本20不能外键乘客表:用来保存乘客数据,方便验证乘客身份。字段类型长度能否为空约束乘客文本10不能主键密码文本10不能权限文本10不能留言表:用来存放乘客留言,以便对乘客反馈的信息及时作出回复。字段类型长度能否为空约束乘客名文本10不能主键留言文本120能4.4结构设计4.4.1系统类图: 类图显示的系统静态的结构,而系统的静态结构构成了系统的概念基础。类图是用于对系统中的各种概念进行建模,并描绘出它们之间关系的图。系统类图(4.4.1)4.4.2系统用例图用例图是由参与者、用例 以及它们之间的关系构成的用于描述系统功能的动态视图。本系统用例图主要分为用户用例图,管理员用例图。 管理员用例图中主要体现出管理员对系统进行管理,包括删除,插入,修改,处理留言等部分。用户用例图主要体现的是查询,包括站点,线路,乘车方案,信息浏览,留言等部分。乘客用例图(4.3.2)管理员用例图(4.3.3)4.3.3 E-R图实体-关系图:提供了表示实体、属性和联系的方法。* 实体型 :用矩形表示,矩形框内写明实体名。* 属性:用椭圆型表示,并用无向边与其相应实体连接起来。* 联系:用菱形表示,菱形框内写明联系名,并用无向边与其有关实体连接。本系统采用E-R图的方法进行数据库概念结构设计。系统E-R图如下所示:1NN1线路经过站点名称记录号线路名称站点序号站点名称名称 公交线路实体E-R图(4.3.4)第5章 系统设计与实现5.1关键技术的实现 本系统主要实现的是乘客对公交系统的查询和信息浏览功能。查询部分主要有站点查询,路线查询,乘车方案(换乘)查询,对于这些查询方式有着不同的算法,而这些算法却是整个系统中的灵魂。本系统是基于C/S模型,使用的是VB和SQL sever 2000 制作而成,因此在前台和后台数据库之间必须有相互连接的技术。5.2算法思路以及实现 查询部分主要由站点查询,线路查询,乘车方案查询(换乘),与之相对应的有不同的算法。5.2.1站点查询: 站点查询功能主要实现当乘客选择站点后,系统显示出本站点所有经过车辆。 Private Sub Command1_Click()If Text1(0).Text = Then MsgBox 请输入站点名称! Exit SubEnd IfDim rs As New ADODB.Recordsetrs.Open select * from 线路 where 名称 in(select distinct 线路 from 线路过站表 where 站点名称= & Trim(Text1(0) & ), CnnSet MSH.DataSource = rs MSH.ColWidth(0) = 1100 MSH.ColWidth(1) = 2000 MSH.ColWidth(2) = 2000 MSH.ColWidth(3) = 1200 MSH.ColWidth(4) = 1200rs.CloseSet rs = NothingEnd Sub 5.2.2换乘算法当两个线路没有交叉部分的时候就必须换乘,有时候换乘一次就能够到达目的地,有时候需要换乘多次才能到达目的地。根据出行者输入的起点和终点,确定出行要选择的起始公交站点A和目的公交站点B。搜索数据库,查询站点A和站点B之间是否有相同的车经过,如果有一条或几条直达线路,通过比较选择距离最短的公交线路推荐给出行者。如果没有,则计算站点A和站点B之间有没有一个公共站点C,从站点C可以换乘到达站点B。这就有两种情况:(1)如果有,属于一次换乘。计算站点A和公共站点C之间有没有相同的公交车经过并存入集合X;同样,计算站点B和公共站点C之间有没有相同的公交车经过并存入集合Y。将这两个集合比较后就可以得到从站点A经过公共站点C到达站点B的公交线路,在这些线路中进行比较,选择距离最短的推荐给出行者。(2)如果没有公共站点C,就出现了要换乘两次的情况。将经过站点A的每条公交线路的所有站点存入集合O;同样,经过站点B的每条线路的所有站点存入集合P。比较这两个集合,先乘经过站点A的某一路车到达某一站点D,计算站点D与站点B之间有没有公共站点E,如果有则站点D、E为换乘站点。这种方案可能有多种,比较选择距离最短的推荐给出行者。如果不存在公共站点E,说明经过两次换乘无法从站点A到达站点B,停止搜索计算l 直达算法:当两个站点之间有直达条件的时候是不需要进行换乘的,可以通过查询实现直达,直达算法为在起始站点和目的站点选择一条不用换乘的车次线路。在线路表中查找其实站点的车辆,形成线路A,在在线路表中查找目的站点,形成线路B,线路A和线路B进行比较,当线路A和线路B中有相交的部分时候说明有直达线路,否则无直达线路,需要换乘车次。在SQl中的代码如下:select 站点 from(select 站点 from 线路表) A,(select 站点 from 线路表) Bwhere A.线路 = B.线路l 一次换乘根据直达算法,算出起始站的所有车辆信息A,同样的方式算出目的站点所有车辆信息B,然后通过A与B在线路经过站点表中进行比对,找出A与B相交的部分C,由于没有直达的车辆,所以C为A与B站点相交的信息。因此乘客若需要从其实站点到达目的站点需要在相交信息存在的站点下车,并再次乘坐B车辆信息所包含的车辆才能到达目的地。 select 站点 from(select distinct 站点from 线路表 where线路号 in(select线路号 from 线路过站表where 站点 = 起始站点)A,(select distinct 站点from 线路表 where线路号 in(select线路号 from 线路过站表where 站点 = 起始站点)Bwhere A.stop_id= B.stop_id多次换乘主要算法代码如下:Private Sub Command1_Click() Dim rs As New ADODB.Recordset 经过起点A的线路 Dim ArrS() As String Dim ArrE() As String rs.Open select 线路 from 线路过站表 where 站点名称= & Trim(Combo1) & , Cnn Set MSH(0).DataSource = rs If rs.EOF = True Then MsgBox 没有可达线路! rs.Close Exit Sub End If rs.Close Text1.Text = Dim intMaxCol As Integer rs.Open select 线路 from 线路过站表 where 站点名称= & Trim(Combo2) & , Cnn Set MSH(1).DataSource = rs If rs.EOF = True Then MsgBox 没有可达线路! rs.Close Exit Sub End If rs.Close Dim strFA As String Dim intFA As Integer intFA = 1 For i = 1 To MSH(0).Rows - 1 rs.Open select * from 线路过站表 where 线路 = & Trim(MSH(0).TextMatrix(i, 0) & order by 站点序号 desc, Cnn If rs.EOF = False Then ReDim ArrS(rs.RecordCount - 1) rs.MoveFirst For k = 0 To rs.RecordCount - 1 ArrS(k) = Trim(rs.Fields(站点名称) rs.MoveNext Next rs.Close For j = 1 To MSH(1).Rows - 1 If Trim(MSH(0).TextMatrix(i, 0) = Trim(MSH(1).TextMatrix(j, 0) Then strFA = 乘坐 & Trim(MSH(0).TextMatrix(i, 0) & 直达 & vbCrLf Text1.Text = Text1.Text & intFA & . & strFA intFA = intFA + 1 strFA = Else rs.Open select * from 线路过站表 where 线路 = & Trim(MSH(1).TextMatrix(j, 0) & order by 站点序号 desc, Cnn If rs.EOF = False Then ReDim ArrE(rs.RecordCount - 1) rs.MoveFirst For k = 0 To rs.RecordCount - 1 ArrE(k) = Trim(rs.Fields(站点名称) rs.MoveNext Next rs.Close strFA = For m = 0 To UBound(ArrS) For n = 0 To UBound(ArrE) If ArrS(m) = ArrE(n) Then strFA = 乘坐 & Trim(MSH(0).TextMatrix(i, 0) & 到 & ArrS(m) & 换乘 & Trim(MSH(1).TextMatrix(j, 0) & vbCrLf Text1.Text = Text1.Text & intFA & . & strFA intFA = intFA + 1 strFA = End If Next Next Else rs.Close End If End If Next Else rs.Close End If Next Set rs = Nothing End Sub5.3 VB与SQLSERVER数据库连接使用本系统中VB主要做前台界面设计和查询算法,SQL主要做后台数据。在两者设计完成后需要实现VB和SQl的连接,这样才能使得系统成为一个有前台有后台完整的系统。PrivateSubCommand1_Click()On Error GoTo ErrH Cnn.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=公交查询车系统;Data Source=HACGUOYS17 Cnn.CursorLocation = adUseClient Cnn.Open FrmLogin.Show Exit SubErrH: MsgBox Err.Description END SUB首先声明一个数据库连接对象CNN,然后设置数据库连接对象的连接字符串,接着调用open方法,建立与数据库的连接。5.4 系统的实现l 系统登陆模块设计 在本模块中主要实现管理员和用户的登录任务,用户输入姓名和密码,系统根据不同的名称自动判断是管理员还是普通用户,输入结束后点击登录,在用户名和密码正确的情况下会进入系统主界面,当用户输入错误的时候点击取消可清除输入的姓名和密码,等待用户再次输入。当用户输入次数超过三次,系统会自动关闭,用户无再次输入权限。l 系统主界面设计进入主界面后系统会根据用户身份(管理员或普通用户)显示不同的菜单栏,为用户提供不同的功能。管理员进入系统后可对系统进行维护管理,用户只能实现查询,留言功能。系统管理:系统管理中包密码修改和用户管理。 用户管理:实现对用户的管理,如添加,修改用户信息,删除用户信息和对用户权限进行设置。密码修改: 用户登录后输入原始密码,并输入新密码,在再次输完新密码后点击确定便可实现密码修改。点击取消返回到主视图。公交信息管理 公交信息管理是由管理员来实现的,其中包括站点信息管理,线路信息管理,线路站点管理。主要是对信息的录入,删除,和修改这三个操作。站点信息管理: 主要实现对站点信息的录入,在以后线路,站点,乘车方案查询的时候提供基本站点信息。线路信息管理: 线路管理主要是管理员对线路信息进行操作,如添加信的公交信息,删除,修改当前改变线路的公交信息。为查询实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建省厦门市2026届高一化学第一学期期末检测模拟试题含解析
- (2025年标准)挂靠竞标协议书
- 2025年科技研发人员考试辅导预测试题及答案
- 绿色物流与智能仓储融合策略研究
- 四川省成都市蓉城联盟2024-2025学年高二上学期12月期末物理试题(解析版)
- 中班安全演练应急计划
- 改革培训与知识结构改善课件
- 2025年殡葬设备操作与维护知识考试热点解析
- 2025年幼儿园小班月科学实验计划
- 二十四节气芒种介绍班会多媒体模板
- 混凝土裂缝处理的讲座
- 物理化学实验:实验一 溶解热的测定
- 茂县生活垃圾资源化综合利用项目环评报告
- 4月份公路养护工作计划
- 保安员在岗培训法律-2
- 初中英语中考专题训练阅读理解-应用文篇
- YC/T 210.2-2006烟叶代码第2部分:烟叶形态代码
- GB/T 20671.1-2006非金属垫片材料分类体系及试验方法第1部分:非金属垫片材料分类体系
- 熵权法教学讲解课件
- 医师病理知识定期考核试题与答案
- 课堂因“融错·容错·溶措”而精彩
评论
0/150
提交评论