基于NET的城市公交查询系统的设计与实现毕业设计论文Word下载.docx
《基于NET的城市公交查询系统的设计与实现毕业设计论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于NET的城市公交查询系统的设计与实现毕业设计论文Word下载.docx(34页珍藏版)》请在冰豆网上搜索。
CityBusinquiries;
.NET;
StoredProcedure.
论文总页数:
26页
1引言
当今是一个以网络为中心的信息化世界,计算机已成为广大市民不可缺少的工具。
由于我国城市化进程的推进,目前城市不断地在向郊区延伸,边缘不断扩大,和郊区的边界甚至开始变得模糊化,城市公交路线不断地增多,加之众多公交路线时常调整,目前众多市民,特别是一些大中型城市的市民,对各条公交路线的信息不清楚或掌握得不准确。
并且当今各大城市的家庭轿车相继增多,使城市交通出现拥堵现象。
而公共交通与其它交通方式相比具有人均占用道路少、能源消耗低、运输成本低、污染相对较小、客运量大,运送效率高等优点,它是解决大、中城市交通拥堵等交通问题,所以各大城市都在积极地发展公共交通的运用。
本毕业设计主要的目的就是实现公交查询以及信息发布。
本设计的预期成果是:
此系统能够使用户简单的查询出他们自己想要的车次经过哪些站点,在哪一站可以转乘,然后继续换乘哪路车;
也可以预先知道可以通过哪些车次可以到达目的地。
在留言版中可以留下用户对系统的任何信息或者任何要求,管理员可以通过对留言版信息的解读对系统进行一系列的修改。
1.1城市公交查询系统的前景
近十几年来,我国汽车工业蓬勃发展,特别是家用轿车的增长。
发展中国家用轿车市场,其规模与速度必须与城市基础建设同步,如果一味追求发展速度,势必将造成很多大城市严重的交通堵塞问题,而且还将给社会带来一系列不良后果,如加大社会经济成本,增加能源消耗,恶化城市空气,增加交通事故等等。
因此,在发展我国的汽车工业的同时要注意到城市公共交通存在的意义和作用,加大国家在公共交通方面的投入,全面规划、统筹安排、合理配置、科学管理,使城市道路流畅、方便、安全、有效、可靠。
然而,随着公共交通的快速发展,会逐渐地出现越来越多的公共汽车和不同的公交路线,这样会使人们对各条公交路线的信息掌握的不是很清楚。
而城市公交查询系统主要任务就在于对各条路线的信息查询,和对整个公交线路信息进行相关的管理。
使用公交查询系统人们就可以找出一条最适合于自己的线路,减少不必要的坐车时间。
所以城市公交查询系统的前景非常乐观。
基于城市公交查询系统与传统的城市公交查询系统有相似又有区别。
相似之处在于系统的核心都是B/S架构。
B/S架构是不需要专门的操作环境,在任何地方,只要能上网,就能够操作系统。
不同之处在于实现的语言不同,传统的一般用的语言是ASP+它的脚本语言,是不面向对象的,而基于本设计的城市公交查询系统用的语言是.NET,是面向对象的,面向对象的编程语言最大的特色就是可以编写自己所需的数据类型。
对于传统的城市公交查询系统他易于管理,重用性比较高。
1.2城市公交查询系统的作用
首先:
有条理地、清晰地呈现出城市各条线路信息。
不管城市扩展得有多大,城市公交路线增加的有多少,人们都可以通过城市公交查询系统来获得各条公交路线的详细信息。
其次:
节省时间。
在日益激烈地竞争环境中,时间可以说是人们最大的资本。
城市公交查询系统可以为广大的市民指出一条最适合于他们自己的公交线路,减少不必要的多做车的情况,从而节省出更多的宝贵时间计划他们自己的事。
最后:
消除城郊市民和外来人的不安。
初到一个陌生的环境,特别是一个大城市中,许多人都会感到局促不安。
城市公交查询系统可以使人们了解这个城市的一些基本情况,也可以使人们能够准确地到达他们自己想要去的地方,减少不必要的坐错车的情况。
2城市公交查询系统的实现技术和工具
2.1ASP.NET
2.1.1什么是ASP.NET
ASP.NET是M的一部分,ASP.net是一种建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。
它提供了一个统一的Web开发模型,并为开发人员提供了创建企业级Web应用程序所需的各种服务。
ASP.NET是一个已编译的、基于.NET的环境,可以使用任何与.NET兼容的语言(包括VisualBasic.NET、C#和就Jscript.)创作应用程序。
另外,任何ASP.NET应用程序都可以完全使用.NETFramework。
开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
2.1.2.NETFramework概述
.NETFramework是支持生成和运行下一代应用程序和XMLWebservices的内部Windows组件。
.NETFramework的几个主要组成部分:
首先是整个开发框架的基础,即通用语言运行时以及它所提供的一组基础类库;
在开发技术方面,.NET提供了全新的数据库访问技术ADO.NET,以及网络应用开发技术ASP.NET和Windows编程技术WinForms;
在开发语言方面,.NET提供了VB、VC++、C#、Jscript等多种语言支持;
而VisualStudio.NET则是全面支持.NET的开发工具。
.NETFramework主要实现下列目标:
(1)提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或者是在远程执行的。
(2)提供一个将软件部署和版本控制冲突最小化的代码执行环境。
(3)提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。
(4)提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。
使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致。
按照工业标准生成所有通信,以确保基于.NETFramework的代码可与任何其他代码集成。
.NETFramework具有两个主要组件:
公共语言运行库和.NETFramework类库。
公共语言运行库是.NETFramework的基础。
您可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。
事实上,代码管理的概念是运行库的基本原则。
以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。
.NETFramework的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供的最新创新的应用程序(如Web窗体和XMLWebservices)。
.NETFramework可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。
.NETFramework不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。
2.1.3ASP.NET的特点
1、ASP.NET的新性能
ASP.NET提供了稳定的性能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及网络服务。
贯穿整个ASP.NET的主题就是系统帮用户做了大部分不重要的琐碎的工作。
2、全新的构造
新的ASP.NET引入受管代码(ManagedCode)这样一个全新概念,横贯整个视窗开发平台。
受管代码在NGWSRuntime下运行,而NGWSRuntime是一个时间运行环境,它管理代码的执行,使程序设计更为简便。
3、高效率
对于一个程序来讲,速度是非常重要的。
在ASP中为了尽可能精简程序代码,以至于不得不将代码移植到一个低性能的部件中。
而ASP.NET则能妥善地解决这一问题。
4、易控制
在ASP.NET里,你将会拥有一个“Data-Bounds”(数据约束),这意味着它会与数据源连接,并会自动装入数据,使控制工作简单易行。
5、语言支持
ASP.NET支持多种语言,支持编译类语言,支持比如VB、VC++、C#等,它比这些编译类语言运行速度快,更适合编写大型应用。
6、更好的升级能力
快速发展的分布式应用也需要更快速、更模块化、更易操作、更多平台支持和重复利用性更强的开发,需要一种新的技术来适应不同的系统,网络应用和网站需要提供一种更加强大的可升级的服务。
ASP.NET能够适应上面的要求。
2.2C#
C#是一种最新的、面向对象的编程语言,是微软在Microsoft.NET中推出的全新语言。
这种全新的面向对象的语言使得开发者可以快速的构建从底层系统级到高层商业组件的不同应用。
C#在保证了强大的功能和灵活性的同时,给C和C++带来了类似于VB的快速开发,并且它还针对.NET作了特别设计,比如C#允许XML数据直接映射为它的数据类型等等,这些特性结合起来使得C#成为优秀的下一代网络编程语言。
2.3ADO.NET对象操作数据库
在Microsoft.NET中访问数据库的技术是ADO.NET。
ADO.NET提供了一组用来连接到数据库,运行命令,返回记录集的类库,与从前的ADO(ActiveXDataObject)相比,Connection和Command对象很类似,而ADO.NET的革新主要体现在如下几个方面:
首先,ADO.NET提供了对XML的强大支持,这也是ADO.NET的一个主要设计目标。
在ADO.NET中通过XMLReader,XMLWriter,XMLNavigator,XMLDocument等可以方便的创建和使用XML数据,并且支持W3C的XSLT、DTD、XDR等标准。
ADO.NET对XML的支持也为XML成为Microsoft.NET中数据交换的统一格式提供了基础。
其次,ADO.NET引入了Dataset的概念,这是一个驻于内存的数据缓冲区,它提供了数据的关系型视图。
不管数据来源于一个关系型的数据库,还是来源于一个XML文档,我们都可以用一个统一的编程模型来创建和使用它。
它替代了原有的Recordset的对象,提高了程序的交互性和可扩展性,尤其适合于分布式的应用场合。
另外,ADO.NET中还引入了一些新的对象,例如DataReader可以用来高效率的读取数据,产生一个只读的记录集等等。
简而言之,ADO.NET通过一系列新的对象和编程模型,并与XML紧密结合,使得在Microsoft.NET中的数据操作十分方便和高效。
ASP.NET是Microsoft.NET中的网络编程结构,它使得建造、运行和发布网络应用非常方便和高效。
2.4SQLServer2000
SQLServer2000是Microsoft公司发行的关系型数据库管理与分析系统,它提供了功能全面、操作简单的图形界面。
SQLServer2000具有较好的可伸缩性和可靠性,提供了以Web标准为基础的扩展数据库编程功能,可以满足电子商务和企业应用程序的要求。
SQLServer2000支持XML和Internet标准,具有基于Web的分析能力,允许使用内置的存储过程以XML格式存储、更新、删除和检索数据。
由于ASP.NET与SQLServer2000都是由微软公司出品的,所以在ASP.NET应用于后台程序中,有专门针对SQLServer2000的数据应用类库供用户使用,方便了用户对数据的操作。
2.5MicrosoftVisualStudio.NET
VisualStudio.NET作为微软的下一代开发工具,它和.NET开发框架紧密结合,是构建下一代互联网应用的优秀工具。
由于VisualStudio.NET通过提供一个统一的集成开发环境及工具,大大提高了开发者的效率;
十分方便.NET程序的创建和调试,所以VisualStudio.NET是开发ASP.NET应用程序的常用工具。
在VisualStudio.NET中用户可以直接使用它里面的组件来创建ASP.NET应用程序,同时它也是一个功能丰富的编程环境,集成了多种语言支持(如:
C#、VC++、VB);
简化了服务器端的开发;
提供了高效地创建和使用网络服务的方法等等。
当用VisualStudio.NET创建一个ASP.NET工程时,VisualStudio.NET会自动配置好IIS应用,用户直接应用即可。
3城市公交车查询系统的分析与设计
3.1需求分析
在此系统中,用户可以查询城市中的各条路线或站点,了解各条路线或站点的详细信息。
如果用户要查询某一条线路或站点,直接就可以用该系统相对应的功能。
本系统满足了以下几个要求:
操作的简易性:
城市公交查询系统使用起来简单、方便、界面友好,用户操作起来得心应手。
系统功能:
在该系统中,主要提供了以下几种功能:
查询车站信息、车次信息、站点信息和站站信息功能,信息留言和系统管理功能。
如:
在查询功能中,用户输入要查询的车次等信息即可得出与它相关的结果;
在系统管理功能中,管理员可以对其信息进行添加、编辑和删除等操作。
3.2概要设计
3.2.1系统功能描述
在用户进入主界面后,就可以通过车次查询、站点查询、站站查询、车站查询快速地查询出符合用户条件的相关线路信息。
用户还可以在留言簿中直接进行留言,留言内容可以是对线路的询问,也可以对系统的不足地方提出用户自己的见解。
当管理员进入系统后,可以对数据库中的信息进行添加、删除和编辑等操作。
他还负责管理用户的留言信息,通过对留言信息的审核,然后来判断对留言信息是进行回复还是删除操作。
3.2.2系统功能模块划分
在了解了系统的功能需求后,可以把该系统划分为以下3个模块:
用户查询模块、留言簿模块和系统管理模块如图3-1。
图3-1城市公交查询系统功能模块
下面对各个模块进行描述:
1、用户查询模块
在用户查询模块中,主要是查询出用户自己所需要的线路信息,这也是整个系统最主要的功能模块。
主要包括:
(1)查询车次信息:
输入要查询的车次进行搜索,可以查询出于它相应的站点名和站点描述信息。
(2)查询站点信息:
输入要查询的站点进行搜索,可以查询出于它相应的车次名、发车时间、收车时间和车次描述信息。
如果用户不知道站点的全称,也可以在高级查询中模糊查询出含有关键字的所有站点信息。
(3)查询车站信息:
选择要查询的车站进行搜索,可以查询出于它相应的车次名、发车时间、收车时间和车次描述信息
(4)查询站站信息:
输入要查询的起始站和终点站进行搜索,可以查询出于它相应的乘车路线。
2、系统管理模块
在系统管理模块中,主要是对数据库中的各个表进行管理。
(1)管理员登录。
(2)留言簿管理:
可以对留言簿中的内容进行回复与删除操作。
在留言簿管理中,它还含有一个搜索引擎,主要功能是管理员可以通过它搜索想要查询的留言主题,这样可以快速的找出某一主题并对它进行回复或删除等操作。
(3)站点、车次管理:
可以对站点、车次基本信息和车次次序信息进行添加、删除和编辑等操作。
而且它们各自都含有一个搜索引擎,这样可以快速的查询出你想要修改的站点或车次等信息,此搜索引擎采用的是模糊查找。
3、留言簿模块
在留言簿模块中,用户可以不需要注册直接在网上进行留言,也可以对某一特定地留言标题进行回复货讨论,也可以通过留言簿查看自己曾经留言过的信息。
3.2.3系统流程设计
在城市公交查询系统中,其核心内容就是公交查询的实现。
在此系统中,即实现用户查询模块中的各个功能信息。
其中包括车次查询、站点查询、站站查询和车站查询功能。
此系统中,用户不需要注册就可以直接进行相关功能的查询。
其中站站查询是此系统中最重要的功能。
主要流程为:
当程序开始时先进入正向搜索,如果正向搜索不存在所需的数据再进行反向搜索,如果正反两方都没有搜索到所需的数据则程序结束。
流程如图3-2所示。
图3-2站站查询功能流程图
根据上图所示,在站站查询实现的过程中,它是从正反两个方面对线路进行查询。
其中正向搜索线路的流程如图3-3所示。
图3-3正向搜索线路流程图
3.2.4系统E-R图
针对城市公交查询系统的需求,设计如下面所示的数据项和数据结构:
(1)管理员基本信息(如图3-4):
包括管理员ID,管理员名,管理员秘码。
(2)留言簿基本信息(如图3-5):
包括留言簿ID,留言标题,留言者,留言内容。
(3)车次基本信息(如图3-6):
包括车次ID,车次名,发车时间,收车时间,车次描述。
(4)站点基本信息(如图3-7):
包括站点ID,站点名,站点描述。
(5)站点次序信息(如图3-8):
包括站点次序ID,站点名,车次名,站点次序。
图3-4管理员基本信息E-R图
图3-5留言簿基本信息E-R图
图3-6车次基本信息E-R图
图3-7站点基本信息E-R图
图3-8站点次序信息E-R图
在了解了各实体之后,下面实现的是站点次序表、站点表、车次表之间的E-R关系模型图。
站点次序表与站点表之间的关系是一对多的关系,记作1:
M,站点次序表与车次表之间的关系也是一对多的关系,记作1:
N,如图3-9所示。
图3-9站点次序表、站点表和车次表间的E-R图
4数据库结构设计与实现
城市公交查询系统应用的是SQLServer2000数据库管理系统。
此系统使用的数据库名称为mybus,下面具体讲解数据库中各数据表的创建。
4.1数据表的创建
该系统中共需要创建五个数据表:
管理员表、留言簿表、车次基本信息表、站点基本信息表、站点次序表。
(1)管理员表admin
此表包括三个字段:
一个是管理员标志adminid字段,该字段时admin表的主键;
另外两个分别是管理员名和管理员密码。
其详细信息如表4-1所示。
表4-1admin表
列名
数据类型
长度
是否为空
说明
adminid
Int
4
Notnull
管理员编号(主键)
adname
Varchar
15
管理员名
adpwd
管理员密码
(2)留言簿表info
此表包括四个字段:
其中infoID字段为info表的主键,另外三个分别为留言标题、留言者名、留言内容。
其详细