资源描述
毕 业 论 文(设计) 题 目: 城市公交查询系统的设计与实现 姓 名: 学 院: 专 业: 班 级: 学 号: 指导教师: 年 月 日城市公交查询系统的设计与实现摘要:我国城市公交乘客信息系统的发展处于一个较落后的水平,广大乘客可以获得信息的方式很少,为了解决这种问题,需要大力发展我国的城市公交乘客信息系统。出于这个目的,在老师的指导下,我设计了这个城市公交出行线路查询系统这个应用程序。在设计过程中,首先分析了我国城市公交乘客信息系统的发展现状,找出问题和不足。其次,在对公交乘客出行心理特征进行分析的基础上,考虑了乘客选择公交线路决策的因素,建立了基于时间价值和费用价值的公交线路选择合理的模型。在此基础上,进行程序关键部分的框架设计,理清程序设计思路。之后是程序关键部分的具体实现,包括关键程序原代码。最后完成功能介绍和使用说明。运用VB语言或方法,对线路查询系统进行了程序设计,并进行了模拟实验。本次设计的软件较为符合公交运营的实际情况,充分考虑了不同公交乘客的实际要求,运算速度较快,有较强的实际应用价值。关键字:公交查询系统;数据库;Visual BasicUrban transit system design and realizationAbstract:Our city bus passenger information system development in a relatively backward level, the passengers can get information, in order to solve this problem seldom, need to develop our city bus passenger information system. For this purpose, under the guidance of teachers, I designed this city bus trip circuit system application. In the design process are analyzed, the first Chinese city bus passenger information system development present situation, problems and the insufficiency. Secondly, in the transit passengers psychological characteristics on the basis of the analysis of the passenger choice, consider the factors, decision bus routes were established based on the value of time and the cost value bus lines reasonably select the model. On this basis, a key part of the design process, a framework of design. Is a key part of the program after implementation, including the key process original code. Finally complete function and use. Using VB language or method of lines, the program design system, and the simulation experiments. The design of the software to conform to the actual situation, full consideration of the actual requirements of different bus passengers, the operation is fast and strong practical application value.Key words:transit system;data management;Visual Basic目 录1 绪论1课题背景1论文的研究内容2论文的组织结构22 开发语言介绍32.1 系统开发环境32.2 开发工具32.3 Visual Basic简介32.4 Access简介5概述63 系统需求分析和概要设计7需求分析7总体需求分析7数据库需求分析83.1.3 性能要求8系统的体系结构10数据流程图10系统功能模块图103.3 数据库设计11数据库设计的原则11数据库概念结构设计12数据库逻辑结构设计144 系统功能模块实现16按线路查询模块16按起终点站查询模块18中转站查询模块19数据库更新功能实现215 软件测试25界面测试25功能测试25状态测试256 结束语26致 谢27参考文献281 绪论课题背景城市公交是专门服务于市民出行的客运企业。它是城市社会和经济活动的重要组成部分。伴随着国民经济和城市建设的快速发展,城市经济的繁荣,人口的增加,城市必须解决好人们出行的需求。城市公交直接关系着城市的经济发展和居民生活,对城市经济具有全局性、先导性的影响,城市公交以其方便、快捷、容量大而成为城市交通的主体。但是随着公交系统的庞大,人们很难得到准确的公交信息,这样给一些人的出行就带来了不便。因此,急需一个方便、快捷的公交信息查询方式,本系统通过功能查询,实现中心控制、更新、更多的查询方式等等更多更强大的功能。随着城市经济的发展、规模的扩大以及人口的增长,城市交通问题日益突出。降低出行时间将使所有的公交利用者产生效益,快速的交通、更好的信息及更好的市场可以提高公交的形象,能够增加公交乘坐者。城市公共交通运输以其覆盖面广、经济、快捷的特点,成为绝大多数出行者的首选方式,也是各地城市政府大力发展的一种交通方式。本地市民特别是外来旅游、出差、就医等急需了解本地道路情况的人可以利用本系统方便快捷的查询出所有符合他们要求的公交路线,对他们的出行和生活提供帮助。 我国城市公交乘客信息系统的发展处于一个落后的水平,广大乘客可以获得信息的方式很少,公交信息的完整性和准确性得不到保证,而且还没有专门的机构负责信息的发布和管理。出于这个目的,在老师的指导下,我设计了这个城市公交线路查询系统。在对公交乘客出行心理特征进行分析的基础上,考虑乘客选择公交线路决策的因素,进行程序关键部分的框架设计。现阶段,人们的出入方式主要还是来源于城市公交,特别是对于那些到外地出差、打工,进行商业有关或其他事情需要在外地进行短暂停留的人而言,公交对他们是必不可少的,但是对于那个不属于自己所熟悉的城市,坐公交也是一个很大的难题,因此,开发一个公交查询系统就显得非常的重要。本系统的核心是对选择好的车次进行路线的查询,或者输入所要查询的车站名,点击“查询”按钮,查询所有含有该站的车次及相应的停靠站。此处既可以“精确查询”也可以是“模糊查询”,“模糊查询”主要方便那些对站名不是很清楚,但知道其中的一部分的乘客,系统可以帮助他们快速的查出1。公交查询系统是一个取代过去由人工查询的查询系统。本论文论述了一个基于浏览器/服务器(B/S,Browser/Server)模式的公交查询系统的研究和实现的过程. 论文从开发平台和工具谈起,对VB所提供的组件及其属性和方法做了一般介绍,更重要的是阐述了VB的数据库访问组件的使用方法。最后,详细介绍了如何创建“公交查询系统”的全部过程。论文组织结构上大体分以下几个部分:第2章是系统的开发工具与环境概述,介绍了该系统设计开发使用的VB开发语言和系统在数据库的设计开发中使用的数据库连接技术,并介绍了系统开发所需要的计算机环境。第3章是系统的需求分析和数据库总体设计,包括系统需求,性能分析等。第4章是系统的系统具体设计,包括系统的模块划分,系统各个界面设计和相关重要注释。第5章是系统测试和维护。最后是结束语、致谢、参考文献。2 开发语言介绍2.1 系统开发环境系统开发环境包括硬件平台和软件平台两种。硬件平台是指开发与运行所需要的硬件环境,主要包括计算机机型及硬件配置。由于本系统是一个小型的播放器,因此对计算机硬件的要求不高,比较经济,只要配备有PII300处理器(或以上)、64M内存(或以上)、20G硬(或以上)的普通微机即可顺利运行。软件平台是指系统开发与运行的软件环境。本系统在开发时选用了稳定性较强的Windows XP中文专业版和V作为开发语言,开发出的应用系统稳定性较高。Visual Basic 6.0具有可视化的开发环境,可以快速完成系统的开发。2.2 开发工具在确定了操作系统后,就该选择开发工具了。经过了综合的比较而且最重要的是本人在学校期间学习的就是Visual Basic。最终选择VB和ACCESS作为次系统的开发工具。2.3 Visual Basic简介首先,我们还从Visual Basic这个名字开始,来认识这个软件。所谓“Visual”指的是开发图形用户界面 (GUI) 的方法。它不需编写大量的代码去描述界面元素的外观和位置,而只要把预先建立的对象添加到屏幕上的某一位置即可。如果已使用过诸如 Paint 之类的绘图程序,则实际上已掌握了创建用户界面的必要技巧。“Basic”指的是 BASIC (Beginners All-Purpose Symbolist Instruction Code) 语言,一种在计算技术发展历史上应用得最为广泛的编程语言。Visual Basic 在原有 BASIC 语言的基础上进一步发展,至今包含了数百条语句、函数及关键词,其中很多和 Windows GUI 有直接关系。专业人员可以用 Visual Basic 实现其它任何 Windows 编程语言的功能,而初学者只要掌握几个关键词就可以建立实用的应用程序。Visual Basic 不仅是 Visual Basic 编程语言。Visual Basic 编程系统和 VBA 都使用这一语言。Visual Basic Scripting Edition (VBScript) 是广泛使用的脚本语言,它是 Visual Basic 语言的子集。这样,在学习 Visual Basic 中得到的经验可应用到所有这些领域中2。接着,我们再从Visual Basic的发展历史来进一步地认识一下它。Visual Basic的最初版本是Visual Basic1.0,那时的Visual Basic只是简单地以对象的属性为中心来进行编程。到了Visual Basic2.0时,开始正式地采用面向对象技术,其有一个重要的新特性就是可拥有对象变量,并把Variant型变量作为缺省数据类型变量。没过多久Visual Basic的下两个版本Visual Basic3.0和Visual Basic4.0接踵而至,一种内建的新的控件类型数据控件,能够使创建一个与数据库交互作用的应用程序变得令人惊讶的容易。在微软的其它应用程序,如WORD字处理软件、EXCEL电子报表软件、ACCESS数据库软件中都做了改变,使得它们可以与Visual Basic一致工作。这种新技术被称作为Visual Basic For Applications,它帮助实现了Visual Basic的最初设想。理论上,人们总是能够通过某种叫做动态数据交换(DDE)的技术使视窗系统应用程序彼此交互。但那样既慢而且又麻烦。Visual Basic的完美之处在于它能使程序员获得一块数据如报表,并将它看作是Visual Basic的对象。其目的就是要使视窗系统下的每一件事情都支持同样的易于使用的高级语言。Visual Basic5.0出现以后,在某些方面有了重大的突破。它给予了程序员长期期待的不用离开Visual Basic环境,就可以创建新的定制控件类型和创建其它项目类型的能力。除了一般应用程序外,程序员还能创建文档、DLLs、OLE服务器和ActiveX控件。当Visual Basic逐渐复杂时,世界已经在围着它转了。项目类型的增加不是用来迷惑程序员,而是提供灵活性的。视窗系统已经成为一个特别丰富的环境,可使应用程序彼此交流和共享数据。我们现在所使用的Visual Basic6.0被看着是Visual Basic的网络版本。可以看出它投入了相当一部分的精力去支持微软日益在Internet和分布式(网络)计算方面的重视程度。虽然它没有象Visual Basic5.0所引起的那样激动人心,但它还是在某些方面做了一些有用的改进。其最重要的一个改进就是增加了ADO数据控件,它可以缩小本地和远程数据控件之间的差别。换句话说,程序员在很大程度上可以与数据库交互作用,而不用担心网络上由谁来提供服务3。2.4 Access简介数据库选用Microsoft公司的Access产品作为数据库应用程序。目前的Access 2000是Microsoft强大的桌面数据库平台的第六代产品,是3 2位Access的第三个版本。Access有以下一些基本定义:(1)数据库是一个包含各种Access “对象”(表、查询、窗体、报表、宏和模块)的文件,Access中所有工作都是建立在此基础之上的。(2)表是存放数据的容器,被设计成行和列的格式,就像电子表中的那样。每一列叫做一个“字段”,包含特定类型的信息,如姓名或学历。每一行称为一个“记录”,包含与单个实体有关的所有信息,如某个员工的姓名、性别、所在部门、学历等。对于像Access这样的关系数据库管理程序,一个数据库通常包含几个存放相关数据的不同表。(3)查询是一个Access对象,它询问数据库中有关数据的问题。根据设计方法的不同,查询能够在数据库中检索并组合来自不同表的数据。例如,可以设计一个查询来告知在公司中工作超过1年的职员有多少。查询还可以对一组数据执行操作,如更新或删除某组记录。(4)窗体是一个窗口,它提供一种很方便的途径来查看数据库中已有记录或向数据库中增添新记录。在Access中,可以创建一个窗体,用来同时查阅单个表或多个表中的数据,还可以打印和显示窗体。(5)报表是一个Access对象,设计来显示数据,其作用类似于窗体,但主要是用于数据打印,不能输入数据。(6)页是一种特殊类型的窗体,它使用户能够利用Web浏览器查看和编辑Access的表。(7)宏用来保存Access中的一系列操作。可自动执行一些日常的任务,以便简化在Access中的工作。(8)模块是用Visual Basic for Applications(VBA) 编写的过程,VBA是Access的基础程序设计语言。利用VBA可以编写程序代码来完成Access宏所不能完成的特定任务4。 并不是ADO的升级版本,它是全新的面向对象模型。比ADO更适应于分布式及Internet等大型应用程序环境,为了多人同时存取更具扩展性,的数据存取采用的是离线存取模式,可说是专门为.NET平台设计的数据存取结构。它具有简单地访问关系数据、可扩展性、支持多层应用程序、统一XML和关系数据访问的特点。的主要目标是提供对关系数据的简单访问功能。坦白的说,易于使用的类描述关系数据库中的表、列和行。另外,引入了DataSet类,它代表来自封装在一个单元中的关联表中的一组数据,维持他们之间完整的关系。这是在中的新概念,可以显著的扩展数据访问接口的功能。可以扩展它为插件.NET数据提供者(也称为可管理提供者)提供了框架,这些提供者被构建,以便从任何数据源读取和写入数据。提供了两种内置的.NET数据提供者,一种用于OLE DB数据源,另一种用于Microsoft SQL Server。可以通过OLE DB访问数据格式(比如Microsoft Access)、第三方数据库和非关系数据。另外,微软最近预演了用于的ODBC.NET数据提供者,它允许.NET访问更多的旧的数据格式和第三方数据库。用于多层应用程序。这是当今商业和电子商务应用程序最常见的体系结构。在多层体系结构中,应用逻辑的不同部5分1运a行s在p多x个服务器或进程中,每一部分就称为一层。使用开放的Internet标准XML格式在层之间通信,允许数据通过Internet防火墙来传递,并允许以非Microsoft技术来实现一层或多层5。3 系统需求分析和概要设计需求分析总体需求分析随着我国经济的高速发展,人们生活水平的提高,越来越多的人开始热衷于到外地旅游。那么对于这些外来旅游者,首先搞清这个城市的公交路线显的很重要!青岛作为一个旅游城市,每年都要吸引大量的游客,为了满足这些游客熟悉公交路线的需求,特以公交查询系统为设计课题。本软件不仅能给游客带来方便,也能给广大市民提供方便。系统应该具有很好的实用性!开发本系统的目标就是立足广大乘客的实际,着眼于公交业的未来发展,规范公交管理,提高服务质量,方便乘客查询。本系统采用结构化设计的方法来实现系统总体功能,提高系统的各项指标,即将整个系统合理的划分成各个功能模块,正确地处理模块之间和模块内部的联系以及和数据库的联系,定义各模块的内部结构,通过对模块的设计和模块之间关系的系统来实现整个系统的功能6。前台主要有3个模块,按车次查询模块、按起终点查询模块、按中转站查询模块。 功能名称:车次查询。 功能概述:可以获得要查询公交线路所通过的各个站点。 功能名称:起终点查询。 功能概述:通过输入的起终点查询经过该站点的公交。 功能名称:中转站查询。 功能概述:分为公交直达、公交一次换乘,主要体现那些不可直达需要转车的路线的所有换法。(如果用户输入的起始点和终点,有一条及一条以上的公交线可以直达的,则为公交直达;如果输入的起始点和终点,没有一条公交线可以直接到的,系统将会给出一次换乘的所有中转站,则为公交一次换乘。) 功能名称:后台管理。 功能概述:用于管理员登陆,添加、修改、删除公交线路,修改信息资料等功能。本系统提供了的车次查询功能,乘客可以方便的进行查询,以防乘错车次。当然有些功能的智能化不是很强,系统有待进一步来完善。3.1.2数据库需求分析数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。数据库技术是由传统的文件系统发展而来的,从层次模型、网状模型发展到关系模型。数据库技术是数据管理的最新技术,是计算机科学的一个重要分支,它能指导我们正确地设计数据库系统,它的出现极大地促进了计算机应用的发展。采用数据库技术的原理和方法可以有效地设计实用的数据库系统。一个完整的数据库系统包括数据库管理系统(DBMS),数据库管理员(DBA)、数据库(DB)、应用程序和相应的硬件设施。目前许多数据库管理系统都基于关系模型,关系模型的主要特点是用表格结构表达实体,用键表示实体与实体之间的联系。与层次模型和网状模型相比,关系模型比较简单,容易为初学者接受。关系模型是由若干个关系模式组成的集合,关系模式相当于记录类型,它的实例称为关系。每个关系是一张表格。表格简单,用户易懂,用户只需用简单的查询语句就可以对数据库进行数据操作,并不涉及到存储结构,访问技术等细节。关系模型是数学化的模型,要用到集合论,离散数学等知识。Access语言是关系数据库的代表性语言,已经得到广泛应用。在设计应用软件时,应严格按照软件工程学的方法进行设计,传统的方法采用瀑布模型,从问题定义、可行性分析、需求分析、概念设计、总体设计、系统实现、编码和软件测试、运行和维护等软件生命周期内,每一阶段均在前一阶段的基础上进行设计,并在每一阶段有相应的文档资料。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:数据库需要分析,数据库概念结构设计,数据库逻辑结构设计7。3.1.3 性能要求为了保证系统能够安全、稳定、可靠、高效的运行,城市公交查询系统应该满足以下的性能需求:(1)系统处理的准确性和及时性由于公交查询系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而车票数量和时间又影响企业的决策活动,其准确性很大程度上决定了公交查询系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性。(2)系统的开放性和系统的可扩充性公交查询系统在开发过程中,应该充分考虑以后的可扩充性。例如网上查询的用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。(3)系统的易用行和易维护性公交查询系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。公交查询系统中涉及到的数据是公交公司的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。本阶段设计的基本目标是解决系统如何实现问题,也叫做概要设计,本阶段主要任务是划分出系统的物理元素及设计软件的结构,完成软件定义时期的任务之后就应该对系统进行总体设计,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用8。数据流程图数据流程图是描述系统流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。经对系统的需求分析,采用结构化分析方法,对系统进行自顶向下逐层分解得系统的数据流图如图3-1所示:正确错误查询失败更新数据库登陆界面选择检索信息查询功能界面功能处理数据库功能界面图3-1 数据流程图系统功能模块图查询系统模块用于公交查询功能。可实现按线路查询、中转站查询和起点终点查询三种查询方式。录入系统模块用于实现数据的新增、修改、删除功能。系统模块图如图3-2所示:城市公交查询系统查询后台管理按车次查询按中转站查询按起终点查询新增修改删除线路车辆参数站点参数车次站名图3-2 系统模块图3.3 数据库设计数据模型是指数据库中记录与记录之间联系的数据结构形成的。不同的数据管理系统有不同的数据模型,数据库设计的核心问题是设计好的数据模型。在目前的数据库管理系统中有层次模型,网状模型、关系模型三种数据模型。其中,关系模型具有较高的数据独立性,使用也较为方便。本设计采用关系数据库。该数据库实行增、删、编辑、统计。显示和打印都极为方便。其中的排序和索引功能,对数据快速定位,查询提供了有利条件。交流互动对于本系统的数据库设计有以下几点说明:数据库设计兼顾前面设计的数据流程图,管理信息系统的设计并不是以数据库为核心的数据库应用设计,本系统的数据库设计尽量满足3NF(第三范式)的要求,本系统的数据库设计以提高系统运行效率为前提9。数据库设计的原则一个成功的公交系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。要设计出一个好的邮件系统数据库,除满足系统所要求的基本功能外,还必须遵守下列原则:基本表的个数越少越好;主键的个数越少越好,键是表间连接的工具,主键越少,表间的连接就越简单;字段的个数越少越好;所有基本表的设计均应尽量符合第三范式。数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题。数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型10。数据库概念结构设计目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模型”(ER模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。但它只是数据库设计的第一步11。E-R图是直观表示概念模型的工具,它有三个基本成分:(1)矩形框,表示实体类型(考虑问题的对象)。(2)菱形框,表示联系类型(实体间的联系)。(3)椭圆形框,表示实体的属性。实体和属性的定义如表3-1所示:表3-1 实体及其属性实体属性站名表站名编号,站名车辆线路编号表车次,车线类型线路表线路编号,车次,站名,次序车辆表车辆编号,车次,车辆类型,运行区间各实体属性图如图3-3所示:站 名站名编号站名车辆线路编号车次车辆类型线 路线路编号次序车次站名车 辆车辆编号运行区间车次图3-3 实体属性关系图本系统的总体E-R图如图3-4所示:车次站 名图3-4 E-R模型图车 辆线 路拥有包含属于M1M1MN数据库逻辑结构设计本系统采用的数据库管理系统是Microsoft公司的Access。该管理系统由一系列产品组成,不仅能够满足最大的数据处理系统和商业 Web 站点存储数据的需要,还能为个人或小企业提供易于使用的数据存储服务12。本系统创建的Access数据库名称为城市公交查询系统。并将数据文件和日志文件保存在公交查询系统文件夹中。此数据库比较简单仅包含1个表。所有公交信息存放于此,修改信息时访问此表,如图3-5、3-6:图3-5 数据库相关文件图3-6 公交查询信息4 系统功能模块实现路查询模块(1)功能简介本系统可以查询各个车次的各个站点,在查询旁边的下拉列菜单中可以点选任何一公交线路就可以清楚该线路各个站点的名称,本系统操作简单,适合大众用户使用,如图4-1所示:图4-1 按线路查询模块(2)主要代码Public Sub showdata(num As Integer)用于显示按车站名进行的查询showtitle (num)Dim j As IntegerDim i As Integer Set mrc0 = ExecuteSQL(txtsql) If mrc0.EOF = False Then With MSF1(num) .Rows = 2 .Row = 1 .Rows = .Rows + 1 If mrc0.Fields(i - 1) Null Then .TextMatrix(.Row, i - 1) = mrc0.Fields(i - 1) End If Next i .Row = .Row + 1 Loop End With End IfMSF1(1).Clear rs = 1 With MSF1(1) .TextMatrix(0, 1) = 车次 For k = 1 To NC + 1 .TextMatrix(0, k + 1) = 站 & CStr(k) Next .TextMatrix(0, NC + 2) = 备注 End With For s = 0 To intpart - 1 If alloks(s) = intmin Then For r = 0 To NC + 4 If MSF1(0).TextMatrix(s, r) = Then Exit For End If MSF1(1).TextMatrix(rs, r) = MSF1(0).TextMatrix(s, r) Next(1)功能简介用户可以根据自己的实际需要,输入自己现在的地点,再输入要到达的地点,然后点查询,如果出现弹窗,意思就是没有车次是直达该站的,询问是否要转车,点确定的话,可以直接查询转车的路线,如图4-2所示:图4-2 按起终点站查询模块(2)主要代码Private Sub Command2_Click()Command4.Caption = 查找经过站点最小的线路gcaf = 2MSF1(1).TextMatrix(k, NC + 2) = MSF1(0).TextMatrix(k, NC + 2) alloks(oksn) = intcount oksn = oksn + 1 If intcount intmin Then intmin = intcountIf cbs.Text = Then MsgBox 您没有输入要查询的起点站!, vbInformation + vbOKOnly, 提示! Exit SubEnd IfIf Cbe.Text = Then MsgBox 您没有输入要查询的终点站!, vbInformation + vbOKOnly, 提示!If Cbm.Visible = False Or Cbm.Text = Thendigein = 0 showSEdata cbs.Text, Cbe.Text, 0 digeitemp = digein Label7.Visible = TrueElse If Cbm.Text Then Label7.Visible = True Exit SubEnd If(1)功能简介 用户点确定后,本系统自动列出可转车的车次,站点,中转站名是哪个,等等站点信息,如图4-3所示:图4-3 中转站查询模块(2)主要代码If Cbm.Visible = False Or Cbm.Text = Thendigein = 0 showSEdata cbs.Text, Cbe.Text, 0 digeitemp = digein Label7.Visible = TrueElse If Cbm.Text Then Label7.Visible = True End If digein = 0 showSEdata cbs.Text, Cbm.Text, 1 把转发站作为终点站进行查询 digeitemp = digein digein = 0 showSEdata Cbm.Text, Cbe.Text, 2 把转发站作为起点站进行查询 digeitemp = digeinEnd IfFor i = 0 To NCText2(i).Visible = FalseNextbcb1 = Falsebcbm = Falsebcbe = Falsebcbs = Falsedigein = 0digeitemp = 0showtitle (0)Form1.BackColor = 14321052For i = 0 To 2MSF1(i).BackColorBkg = 11763820Next4.4数据库更新功能实现(1)功能简介任何应用系统,其首页面必定是登陆界面。它是使用系统的前提,并且任何一个系统都应该在登陆界面数据提交之后显示其权限的不同,即所谓的权限管理。但本公交系统考虑用户的广泛性与简洁性,而省去登陆这一过程,经过初始化直接进入到用户使用界面。值得注意的是在初始化窗口中加入了更新数据库这一复选功能用来适时更新数据得到最新公交信息,但同时会增加系统初始化时间,如图4-4所示:图4-4 数据库更新(2)主要代码Public Sub showallstation() 以下代码是用来把在数据库的所有不同的车站显示在起始站中If IsBeginS = False Then 用户选择了更新数据库Dim strm As String For i = 1 To NC strm = Text2(i).Text If strm = Then Exit For End If If cbs.List(j) = Trim(strm) Then Exit For End If Next If j cbs.ListCount Then cbs.AddItem Trim(strm) End If Next Loop If Mid(App.path, Len(App.path) - 1, 1) Then Open App.path + allstation.dat For Output As #1 Else Open App.path + allstation.dat For Output As #1 End If Print #1, CStr(cbs.ListCount) For k = 0 To cbs.ListCount - 1 Print #1, , cbs.List(k) Next Close #1Set mrc3 = NothingElse 用户没有选择了更新数据库 Dim strbs As String Dim intnb As Integer If Mid(App.path, Len(App.path) - 1, 1) Then Open App.path + allstation.dat For Input As #1 Else Open App.path + allstation.dat For Input As #1 End If Input #1, strbs intnb = CInt(Val(strbs) For k = 0 To intnb - 1 Input #1, strbs cbs.AddItem strbs Next Close #1 End IfEnd Sub其思路是如果在启动界面中,用户选择了更新数据库,则扫描整个数据库,并把不同的车站加到起始站中。并把这些车站名存放在一文本框中,以用于下次读取。如果用户没有选择更新数据库,则直接从文件中读取车站存放在起始站中。这样做的好处是可以大大提高效率,如果每次启动都要重新检索数据库,则要花费大量的时间。5 软件测试界面测试主要包括以下几个方面的内容:内容布局是否合理,是否正确背景色调是否正确、美观,是否符合用户需求;页面在窗口中的显示是否正确、美观。表单样式大小,格式,是否对提交数据进行验证(如果在页面部分进行验证的话)等连接连接的形式,位置,是否易于理解等.结论:页面显示正确,各部分连接正常。测试一:更改数据库中的站点数据,初始化时选择更新复选框。测试查询后数据信息随之更新。测试二:在按车次查询旁边点击下拉菜单,出现所有公交线路,随机点选一路公交确认查询,此路公交信息可完整呈现,测试成功。测试三:在起止点信息栏里分别选择一处站点,点击查询,则出现相应公交信息或者转车提示,进一步选择中转站,则可查询到转车所搭乘的2条公交线路,测试成功。结论:功能完整,用户界面良好,错误处理正确,且能正确提示错误种类。软件可能进入的每一种独立状态 从一种状态转入另一种状态所需的输入和条件;进入或退出某种状态时的设置条件及输入结果.我们可以测试最常见最普遍的状态转换;状态之间最不常用的分支;所有错误状态及其返回值以及测试随机状态转换13。结论:各种状态切换正常,无错误显示。6 结束语在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。例如对付费方式,时间作息制度等功能上存在缺失,在需求分析时未能做到完全满足用户的需求。尽管该公交查询管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是公交查询管理系统所必需的。相信公交查询管理系统必定对未来公交事业的发展和人们的出行效率带来前所未有的质的提升。致 谢在此,首先要感谢我的指导老师李绍静,感谢她在百忙之中还抽出时间来指导我、帮助我顺利地完成毕业设计。在本次毕业设计中,导师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。在学术上我们导师是一个严谨求实,认真负责的人,帮我选定课题研究方向的同时还给予了我大量的指导,提出了宝贵的意见,在此感谢她耐心的辅导。其次我要感谢学校所有的老师们,没有他们平时的教导,我不会顺利完成我的毕业设计。是他们不辞辛苦、勤勤恳恳、任劳任怨、不厌其烦地给我们讲解计算机的专业课程。面对专业知识不那么深厚的我们,老师们一遍又一遍试图用最易懂的方式让我们透彻理解那些高深的专业理论。我还要感谢我的父母,使他们给了我这样一个机会,我会好好珍惜,以求更好的成绩感谢他们。我还要感谢我的同学,没有他们的支持和鼓励,我不可能愉快的度过我的大学生活。我们互相加油互相扶持,走过了四年,谢谢他们。参考文献1 田金兰. Visual Basic 6使用指南.电子工业出版社,20022 何玉洁.数据库原理与应用教程, 机械工业出版社,20033 潘锦平. 软件开发技术.西安电子科技大学出版社,19994 王珊,萨师宣.数据库系统概论.高等教育出版社,20015 陆丽娜.软件工程.经济科学出版社,20006(英)John Carter.译者:张淮野,袁怡等.数据库设计与编程实例详解使用Access、SQL与VB ,Database Design and Programmingwith Access, SQL and Visual Basic,电子工业出版社,20047 周国民.Visual Basic+Access数据库项目开发实践.中国铁道出版社,20058 Jeffrey. Visual Basic 6数据库访问技.机械工业出版社,20039 Hector Garcia-Molina Jeffrey D.ULLman Jennifer Widom,译者: 杨冬青 徐其钧 唐世渭.Database System Implementation数据库系统实现.机械工业出版社,200110 .中科多媒体电子出版社,200211 刘乃丽. ASP.NET2.0+SQL Server项目开发 .人民邮电出版社,200712 金银秋.数据库原理与设计.科学出版社,200313 明日科技.数据库系统开发案例精选.人民邮电出版社,2007
展开阅读全文