公交线路查询系统的设计与实现.docx
《公交线路查询系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《公交线路查询系统的设计与实现.docx(26页珍藏版)》请在冰豆网上搜索。
![公交线路查询系统的设计与实现.docx](https://file1.bdocx.com/fileroot1/2022-12/29/658c3cdd-ee3e-4eeb-80ae-6393bb42b6be/658c3cdd-ee3e-4eeb-80ae-6393bb42b6be1.gif)
公交线路查询系统的设计与实现
公交线路查询系统的设计与实现
摘要
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识。
它已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。
公交路线查询系统是用计算机管理公交路线信息的一种计算机应用技术的创新,在计算机还未普及之前公交路线查询都是由人们人工查询的方式来操作的。
现在一般的公交路线查询都采用计算机智能化管理,采用计算机作为工具的实用的公交路线查询系统来帮助人们进行更有效的公交路线查询。
公交路线查询系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,使用Microsoft公司的VisualBasic开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
数据库同样应用Microsoft公司的Access。
因为本人能力有限,加上时间紧迫,所以设计出来的系统可能功能比较简单,另外系统是单机版,不能实现网络互联操作,这些都有待于我在以后的工作学习中进一步改进。
【关键字】公交车查询管理;VisualBasic;Access
Abstract
Asthedevelopmentofthescienceandtechnology,computerscienceincreasinglymature,anditspowerfulfunctionsgivespeopledeeplyimpressionthatithasithastogodowntothedailyworkandlife,suchaswordprocessing,informationmanagement,aideddesign,graphicsandvideoprocessing,aswellaseducationandtraininggameentertainment.
Theinformationsearchsystemdesignforbusrouteusingcomputermanagementinformationisainnovationinthecomputertechnology,busenquiriesaremanagedbytheworkingpeopletooperatemanualenquiriesbeforethepublicofcomputer.Thegeneralpublicenquirieshaveadoptedcomputerintelligentvehiclemanagenow,peoplecaneffectivelysearchthebusroutebytheautomaticmanagementprocedures.Theinformationsearchsystemdesignforbusrouteisatypicalinformationmanagementsystem,includingitsmaindevelopmentbackgroundtotheestablishmentandmaintenanceofthedatabaseandfront-endapplicationdevelopment.
Afteranalysis,IuseMicrosoftvisualbasicdevelopmenttoolcompanies,theuseofitsvariousobject-orienteddevelopmenttoolsespeciallydata,thatcanbeeasilyaccessibleandconcisewindowmanipulationdatabaseintelligentobjects,thefirstprototypeapplicationsysteminashorttimeandthen,computationoftheinitialprototypesystemneedstoconstantlyreviseandimproveuntiltobeaviablesystemofusersatisfaction.Bydatabase,IuseMicrosoftaccess.
Becauseofmylimitedcapacityandtheconstraintsoftime,thefunctionofthesystemrelativelysimple,anditissingle-userversioncannotworkinInternet,whichIhaveyettolearnthatinfutureworktofurtherimprove.
【Keywords】Theinformationsearchsystemdesignforbusroute;visualbasic;access
第1章绪论
1.1开发背景
随着城市经济的快速发展和城市化步伐的不断加快,城区的面积越来越大,公交车的覆盖范围由原来的局限于城区,到目前的以市区为中心,辐射越来越多的乡镇。
公交车的班次也由原来的十几班,到目前的总共200多班。
传统的站牌式查询模式显然已经无法满足现在的需求。
再加上城市外来人口越来越多,作为大多数农民工兄弟首选的出行工具——公交车,其查询方式的便捷与否直接关系到他们正常的生活和工作。
同时考虑到保护环境以及缓解道路压力等因素,公交车也被越来越多的有识之士视为最佳的出行工具。
然而,近些年来,虽然公交车的运行范围跟班次都有了很大的进步,但是相应的查询方式确没有很好的改观。
因为不了解车次,上错车,或者下错站的事时有发生,给广大的市民出行带来了极大的不便。
因此,开发出一套科学的公交线路查询系统,对于方便人们的出行,保护环境,缓解交通压力都有着很积极的意义。
虽然近年来公交查询系统发展迅速,不过发展的同时也存在着一些问题,还需要不断的规范和完善:
1.各条线路和线路的信息一一罗列在页面上。
让用户自己一页一页的翻看查找,这样的公交查询根本不方便不快捷。
一个真正完善的公交查询系统应该实现用户输入想查询的内容,系统自动查询出结果,而不是让用户手动去翻找查询;
2.只实现了站点的查询和线路的查询。
只实现单一的线路查询,没有实现站点到站点的查询和转乘的功能,这不能完全满足用户的需求;
3.页面结构复杂。
页面上布满了广告和各种与公交查询无关的信息,这样使用户查询一点都不方便,而且影响美观度,也影响了系统在用户心目中的良好形象。
因此公交查询系统的发展还有待进一步的规范和改进。
1.2系统的目标和意义
本系统主要的开发目的是向公交车用户提供城市公交线路的相关信息查询,为他们的出行提供相关的线路查询和选择。
包括提供所有线路的具体情况(车次编号,起始站,终点站,主要站点及附近景点,以及票价,首、末班车等)。
以及通过输入车次编号,起始站等信息查询目的地等功能。
由于各个地区的公交车数据非常庞大,而且无法迅速、准确地查到所需要的目的地以及各个车次所经过站点的信息,带来了很大的不便。
因此结合实际操作,开发出适合与公交车查询的管理软件,可以让用户迅速、准确的查找出自己出行的路线。
1.3开发设计思想
系统设计理论体系的研究主要包括线路管理,站点管理,乘车查询,城市风景查询等功能
线路管理功能包括增加路线,删除路线和修改路线等具有管理权限才可以操作的功能:
用户可以通过系统对数据库中的线路信息进行改动,完善系统;将城市公交公司撤销的线路进行删除;对某一条线路进行改动,以使系统保持最新的线路信息。
站点管理功能是当城市中的公交路线有所改动时用户可以通过系统对某一条线路的站点进行添加或删除,也可以将路线中的站点进行顺序的变更,以使系统保持最新的线路信息。
乘车查询功能是用户可以查询某一条路线所经过的站点,也可以输入起始点以查询乘车方案,当起始站点和目的站点不能通过一次乘车到达的话,可以实现转乘功能。
城市风景功能是用户可以查询自己感兴趣的某一个景点的简介及其附近的站点,还可以查询获得到达此景点的线路车次。
1.4论文结构
论文的结构如下:
第1章:
绪论,主要论述了课题的可行性及论文研究的目的和意义,介绍了论文的主要工作。
第2章:
系统相关技术介绍,数据库及相关技术,简要地介绍了一些数据库的概念。
第3章:
系统需求分析,对系统业务进行分析,给出系统的功能模块设计,数据库的分析和设计,以及系统的功能模块组成。
第4章:
系统实现,主要给出系统各部分功能的实现和一些关键技术。
第5章:
系统测试,测试系统是否有些功能未达到预期目的,给出系统的测试流程及结果。
第6章:
总结与展望,总结所作的工作,指出了系统存在的不足之处,提出了以后需要进一步完善的工作。
第2章系统设计使用技术介绍
2.1VisualBasic技术介绍
2.1.1VisualBasic概述
VisualBasic是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。
它简单易学、效率高,且功能强大可以与Windows专业开发工具SDK相媲美。
在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。
【1】
2.1.2VisualBasic工作原理
VisualBasic的中心思想就是要便于程序员使用,无论是新手或者专家。
VisualBasic使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。
VisualBasic的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组建的属性和方法。
因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。
过去的版本里面VisualBasic程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。
【2】
窗体控件的增加和改变可以用拖放技术实现。
一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。
每个控件都有自己的属性和事件。
默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。
很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。
【3】举个例子来说:
窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。
在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。
VisualBasic的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。
有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。
【4】
VisualBasic的组件既可以拥有用户界面,也可以没有。
这样一来服务器端程序就可以处理增加的模块。
VisualBasic使用引用计数的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。
因为越来越多组建的出现,程序员可以选用自己需要的扩展库。
【5】和有些语言不一样,VisualBasic对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。
默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。
VisualBasic使得大量的外界控件有了自己的生存空间。
大量的第三方控件针对VisualBasic提供。
VisualBasic也提供了建立、使用和重用这些控件的方法,但是由于语言问题,从一个应用程序创建另外一个并不简单。
【6】
2.1.3VisualBasic的特点
1.面向对象
VisualBasic采用了面向对象设计思想,它基本思路是把复杂的设计问题分解为多个能够完成独立功能且相对简单的对象集合。
所谓“对象”就是个可操作实体如窗体、窗体中命令按钮、标签、文本框等,面向对象编程就是指程序员可根据界面设计要求直接在界面上设计出窗口、菜单、按钮等类型对象并为每个对象设置属性。
2.事件驱动
在Windows环境下是以事件驱动方式运行每个对象的,每个事件都能驱动段代码事件过程,该代码决定了对象功能。
通常称这种机制为事件驱动的编程机制。
可由用户操作触发也可以由系统或应用触发例如单击个命令按钮就触发了按钮Click(单击)事件该事件中代码就会被执行,若用户未进行任何操作(未触发事件)则就处于等待状态整个应用就是由彼此独立事件过程构成。
【6】
3.软件Software集成式开发
VisualBasic为编程提供了集成开发环境,在这个环境中编程者可设计界面、编写代码、调试直至把应用编译成可在Windows中运行的可执行文件,并为它生成安装VisualBasic集成开发环境,为编程者提供了很大方便。
4.结构化设计语言
VisualBasic具有丰富数据类型,是一种符合结构化设计的思想语言而且简单易学此外作为一种设计语言,VisualBasic还有许多独到的处。
5.强大数据库访问功能
VisualBasic利用数据Control控件可以访问多种数据库,VisualBasic提供ADOControl控件不但可以用最少代码实现数据库操作和控制,也可以取代DataControl控件和RDOControl控件。
【7】
6.支持对象链接和嵌入技术
VisualBasic核心是对对象链接和嵌入(OLE)技术的支持,它利用OLE技术能够开发集声音、图像、动画、字处理、Web等对象于一体的功能强大的软件。
7.网络功能
VisualBasic提供了DltTML设计工具,利用这种技术可以动态创建和编辑Web页面,使用户在VisualBasic中开发多功能网络应用软件。
8.多个应用向导
VisualBasic提供了多种向导如应用向导、安装向导、数据对象向导和数据窗体向导通过它们可以快速地创建区别类型、区别功能应用。
9.支持动态交换、动态链接技术
通过动态数据交换(DDE)编程技术VisualBasic开发应用能和其他Windows应用的间建立数据通信。
通过动态链接库技术在VisualBasic中可方便地用C语言或汇编语言编写Windows应用接口(.API)。
2.2MicrosoftAccess介绍
2.2.1数据库介绍
MicrosoftAccess是由微软发布的关联式数据库管理系统。
它结合了MicrosoftJetDatabaseEngine和图形用户界面两项特点,是MicrosoftOffice的成员之一。
其实MicrosoftAccess也是微软公司另一个通讯程序的名字,想与ProComm以及其他类似程序来竞争。
可是事后微软证实这是个失败计划,并且将它中止。
数年后他们把名字重新命名于数据库软件。
另外,MicrosoftAccess还是C语言的一个函数名和一种交换机的主干道模式。
【8】
2.2.2MicrosoftAccess特性
MicrosoftAccess是办公软件系统Office中的一个重要组件,它是一个功能强大且简单易用的关系型数据库管理系统。
MicrosoftAccess除了具备建数据库、管理表、建立表间关系等一般关系数据库管理系统所共有的功能之外,还拥有很多适合现代数据管理任务的独特功能。
易于管理的文件型数据库系统使用MicrosoftAccess创建的数据库系统是封装在一个单独的文件中的,即一个MicrosoftAccess数据库系统中的各种成分(包括数据表、查询、窗体、报表、宏和模块)都存储在一个文件中,这样有利于整个数据库系统的迁移和维护等工作。
【9】
除了基本数据类型外,MicrosoftAccess还支持OLE(ObjectLinkingandEmbedding)数据和XML(ExtensibleMarkupLanguage)数据,从而大大地提高了可管理的数据的类型。
MicrosoftAccess采用了与整个Office统一的用户界面,并提供了许多图形化的工具和向导,从而使用户不用编写代码便可以轻松地创建并管理数据库系统。
MicrosoftAccess提供了大量的内置函数与宏,从而使数据库开发人员、甚至是不懂编程语言的开发人员都可以快速地以一种无代码的方式实现各种复杂的数据操作与管理任务。
【10】
MicrosoftAccess提供了创建数据访问页的功能。
这是一种可以发布到网络上的Web页面,用户可以通过数据访问页直接查询和处理数据库中的数据。
2.2.3MicrosoftAccess的优点
1.存储方式简单,易于维护管理
MicrosoftAccess管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb或.accdb)的数据库文件中,便于用户的操作和管理。
2.面向对象
MicrosoftAccess是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。
它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。
通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。
同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。
【11】
3.界面友好、易操作
MicrosoftAccess是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。
系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。
4.集成环境、处理多种数据信息
MicrosoftAccess基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。
5.MicrosoftAccess支持ODBC
ODBC(开发数据库互连,OpenDataBaseConnectivity),利用MicrosoftAccess强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。
MicrosoftAccess还可以将程序应用于网络,并与网络上的动态数据相联接。
利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。
6.支持广泛,易于扩展,弹性较大
能够将通过链接表的方式来打开EXCEL文件、格式化文本文件等,这样就可以利用数据库的高效率对其中的数据进行查询、处理。
还可以通过以MicrosoftAccess作为前台客户端,以SQLServer作为后台数据库的方式(如ADP)开发大型数据库应用系统。
总之,MicrosoftAccess是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行数据库应用系统开发;即可以开发方便易用的小型软件,也可以用来开发大型的应用系统。
第3章系统需求分析
3.1需求分析
本需求分析报告的目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本系统的软件开发过程,便于程序员与客户之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用。
【12】
3.1.1系统功能分析
系统是一个小型的公交路线查询系统,主要提供公交路线的管理与查询,实现增加路线,修改路线、站点管理,乘车查询等相关功能。
从系统实现上,本系统采用VisualBasic+Access的技术方案。
从系统的实际需求与平台兼容性考虑,本系统的数据库系统采用Access实现。
从实现方案以及本系统的使用需求来看,设计的系统功能及系统总体框图如图3-1所示:
图3-1系统总体框图
3.1.2数据库分析
数据库是一种存储数据并对数据进行操作的工具。
数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。
计算机的数据库可以分为两类:
非关系数据库(flat-file)和关系数据库(relational)。
关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,像记录、域等。
【13】
上面提到的各种功能的实现都离不开数据库的支持,因此数据库设计作为本系统设计的一部分不可缺少。
数据库设计在整个程序设计过程中占据非常重要的地位,也是整个程序设计的基础。
【14】把数据库从整个程序中分离出来,单独进行,有很大的好处,即使程序设计分工明确,也方便程序员在详细设计师不必考虑数据库的结构,只需知道数据名及表名和表中的字段名就能进行编码设计,体现面向对象设计的思想。
其实在需求分析阶段,我们的很大一部分讨论始终都没离开用户所要求的数据。
【15】如果把前面的讨论看成是数据库的逻辑设计,下面的问题将是数据库的具体物理实现。
我所使用的数据库系统是Access。
从上面的功能分析看出本系统需要建立以下几个数据表:
adm,bus,station,ViewP,ViewN,ViewE。
adm表中包括了管理员的登录名和密码。
如表3-1所示。
表3-1adm表:
列名
数据类型
字节数
关键字
允许空
说明
admin_name
Char
20
非空
管理员名
admin_pwd
Char
20
非空
管理员密码
bus表中包括线路名、运行区间、票型、票价、是否使用ic、运行时间字段,所属公司,备注等,具体设置如表3-2所示。
表3-2bus表:
列名
数据类型
字节数
关键字
允许空
说明
id
long
Pk
非空
自动编号
bus
Char
50
非空
公交路线
beginend
Char
50
非空
运行区间
ticktype
Char
50
非空
售票类型
price
Char
50
非空
票价
ic
Char
50
非空
是否使用月票
runtime
Char
50
非空
运行时间
company
Char
50
非空