ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:1.27MB ,
资源ID:4803320      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4803320.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(城市公交查询系统毕业论文.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

城市公交查询系统毕业论文.docx

1、城市公交查询系统毕业论文城市公交查询系统毕业论文致 谢491 绪论1.1 系统开发背景随着城市日新月异的发展,城市的规模不断扩大。为了满足发展的需要,城市公共交通运输的覆盖面越来越广,公交线路也日渐增多,成为绝大多数出行者的首选方式。这在给人们的出行带来了极大便利的同时,也因线路众多,给人们在选择出行乘车线路时带来了一定的困扰。因此,提供方便、快捷、经济、高效的公交出行线路方案,不仅能方便市民的出行和生活,也为城市减少不必要的交通堵塞,有利于提高城市交通运输效率。同时,展示了现代城市信息化的风貌,提升城市形象。西方国家对这一点重视的较早,如美国、日本、加拿大、英国、法国等国家都投入了较大的人力

2、和物力从事智能公共交通系统研究,并己取得了显著的成果,建立了一种在公交网络的基础上,运用计算机网络技术、数据库技术、通信技术、电子技术、智能卡技术等先进科学技术,形成集智能化调度、公交电子收费、信息服务、网络通信于一体的公共交通规划管理系统。其中的公共交通优化系统对公交线网布局、公交线路配置、站点布置、发车间隔确定、票价制定等进行设计和优化,从规划方面提高公交服务水平。而我国城市公交乘客信息系统的发展处还于一个落后的水平,公交信息的完整性和准确性得不到保证,而且还没有专门的机构负责信息的发布和管理。乘客可以获得的公交信息很少,而且获取方式以常规手段为主,一般获得公交信息的方式局限于电话,交通图

3、,向熟人问讯等常规方式,获得线路、站点等基本信息。另外乘客出行过程中获得信息困难,除少数几个城市乘客可以通过分布于城市中的若干电子站牌获得些公交车辆的运营信急以外,在其它城市,“出行中”的乘客无法获得仟何信息。 所以从国内公交信息与规划的发展需求和国外发展趋来看,需要建立一个以高效的公交数据库为基础的、面向公交线路的在线公交车线路查询系统。2 开发环境2.1 B/S模式的特点B/S(浏览器/服务器)是由浏览器、Web服务器、应用服务器和数据库服务器组成的多层结构体系。B/S模式具有以下特点:(1) 用户界面简单易用。用户使用单一的浏览器软件,通过鼠标即可访问文本、图像、声音、电影及数据库等信息

4、,特别适合非计算机人员使用。(2) 易于维护与升级。由于客户端无需专用的软件,所以,系统的维护和升级工作简单。(3) 具有良好的开放性。浏览器/服务器结构采用标准的TCP/IP、HTTP协议,能够与遵循这些标准协议的信息系统及其网络很好的结合,具有良好的开放性,保护了用户的投资。(4) 信息共享度高。HTML是数据格式的一种开放标准,目前信息系统中大多数流行的软件均支持HTML。(5) 扩展性好。TCP/IP、HTTP的标准性使得浏览器/服务器结构可直接接入Internet,具有良好的扩展性。(6) 网络适应性强。无论是PSTN、DDN、帧中继、X.25、ISDN、还是CATV、ADSL,浏览

5、器/服务器结构均能适应。(7) 安全性好。防火墙技术保证了浏览器/服务器结构的安全性。2.2 JSP技术简介 JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装

6、产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP的1.0规范的最后版本是1999年9月推

7、出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。2.3 Tomcat简介Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,是Apache 软件基金

8、会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能

9、;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,

10、Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。2.3 MyEclipse简介MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支

11、持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse的特征可以被分为7类:1. J2EE模型2. WEB开发工具3. EJB开发工具4. 应用程序服务器的连接器5. J2EE项目部署服务6. 数据库服务7. MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开

12、发环境,支持代码编写、配置、测试以及除错。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。 Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。 2003年,Eclipse 3.0选择OSG

13、i服务平台规范为运行时架构。 2007年6月,稳定版3.3发布。2008年6月发布代号为Ganymede的3.4版。Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse 最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Pl

14、atform、JDT 和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行

15、任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。3 可行性分析3.1 系统可行性分析需求分析工作是系统设计的出发点和依据。概括地说线路查询系统的需求分析就是要根据出行人员的具体需求情况,明确需要什么样的查询系统,需要什么样的功能和性能,为什么需要,以及各种需求的紧迫程度如何。只有需求明确了,按需求建立起来的线路查询系统才能达到预期的目标,取得预定的效果。3.1.1 技术可行性分析本系统采用的是Tomcat、JSP和数据库相结合的方法,将所有收集的数据信息按其属性分类存储到数据库中,再通过程序调用这些数据信息实现各种查询及管理,即所谓的程序设计数据化,数据管理程序化思想。基于这种

16、思想的查询系统的理论及技术已日趋成熟,加之这些软件的应用性和移植性都非常优秀而且其发展也到了较成熟的阶段,这就保障了日后的系统维护工作,并可不断更新。所以本系统在技术上是绝对可行的。而且该系统对于操作环境的要求不高,现在普遍使用的计算机都可以运行该系统。3.1.2 操作可行性分析本系统界面美观明了,提供的信息语言通俗易懂,而且操作容易,用户只要懂得初步的计算机操作即可。3.1.3 经济可行性分析从成本上看来,开发及维护系统所需的计算机、网络等硬件设备,网络等通信费用,软件支持等基本上都是现有的。从收益看来:本系统作为公交线路查询的具体应用,是带有实验性、贡献性的,在一定时期内无经济上收益。是注

17、重以后的潜在发展,是在概念上、形象上的不断升值。3.1.4 社会环境可行性分析如今城市改造日益加快,公交线路也不断增多,使得交通的便捷性难上加难,给出行人员选择出行乘车线路造成一定的困难,特别是在旅游城市,游客在乘公交车时选择线路比较困难,它不仅可以给市民游客的乘车提供向导,同时可以对外展现城市的现代风貌,体现出一个城市公交信息数字化和信息化的发展水平。所以本系统拥有非常成熟的市场。3.2 系统需要解决的主要问题综合应用JSP等技术,从公交查询系统建立的必要性出发,使用软件系统设计的一般方法,根据业务需求,对其进行分析、归纳, 形成需求设计文档,根据需求分析进行系统的概要设计、详细设计及代码开

18、发,从而完成整个设计。设计一个适用的公交车线路查询系统,主要实现以下功能: 1. 公交路线查询功能(包括按线路查询、按站点查询、按起点终点站查询,换乘查询,也支持模糊查询);2. 公交路线信息的管理功能(包括对路线信息的添加、删除、修改)。3.3 系统应具备的基本功能基于B/S模式的应用系统的开发设计方法,开发出一个适用的公交查询系统软件,实现以下功能:(1)特定线路的沿途到站情况;(2)通过特定站点的所有线路名称 ;(3)两个站点之间的直达公交车次;(4)给定起止站点,给出可达的换乘线路;(5)模糊查询;(6)公交路线信息的管理,数据的维护;新增:允许管理员级的用户对数据进行新增操作,保证数

19、据库的真实性与实时性;更新:允许管理员级的用户对数据进行更新操作,保证数据库的真实性与实时性;删除:允许管理员级的用户对数据进行删除操作,保证数据库的真实性与实时性。3.4 系统功能模块划分3.4.1. 普通系统模块该模块实现公交查询功能。可实现按线路查询、站点查询和起点终点查询查询三种查询方式。3.4.2 高级查询模块该模块实现高级查询,包括车次查询、模糊站点查询、模糊线路查询、模糊换乘查询。3.4.3. 后台管理模块该模块实现数据的新增、修改、删除功能系统模块图如图所示:4 系统设计4.1 数据库设计4.1.1 概念设计概念设计的目标是产生反映城市公交查询系统需求的数据库概念结构,即概念模

20、式。概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的。1、E-R模型E-R模型是对现实世界的一种抽象。它的主要成分是实体、联系和属性。使用这三种成分,我们可以建立许多应用环境的ER模型。2、E-R模型的操作在利用E-R模型进行数据库概念设计的过程中,常常需要对ER图进行种种变换。这些变换又称为E-R模型的操作,包括实体类型、联系类型和属性的分裂、合并和增删等等。3、利用E-R方法的数据库概念设计 利用E-R方法进行数据库的概念设计,可以分成三步进行:首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局E-R模式,最后对全局E-R模式进行优化,得到最终的E

21、-R模式,即概念模式。通常,一个数据库系统都是为多个不同用户服务的。各个用户对数据的观点可能不一样,信息处理需求也可能不同。在设计数据库概念结构时,为了更好地模拟现实世界,一个有效的策略是“分而治之”,即先分别考虑各个用户的信息需求,形成局部概念结构,然后再综合成全局结构。在E-R方法中,局部概念结构又称为局部E-R模式,其图形表示称为E-R图。具体实体属性的关系图如图所示: 4.联系定义E-R模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等

22、。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。5、设计全局E-R模式所有局部E-R模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部E-R模式,而且必须合理地表示一个完整、一致的数据库概念结构。1)确定公共实体类型为了给多个局部E-R模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。在这一步中我们仅根据实体类型名和键枕认定公共实体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。2)局部E-R模式的合并合并的原则是:首先进行

23、两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。3)消除冲突冲突分为三类:属性冲突、结构冲突、命名冲突。设计全局ER模式的目的不在于把若干局部E-R模式形式上合并为一个ER模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。4)全局E-R模式的优化在得到全局E-R模式后,为了提高数据库系统的效率,还应进一步依据处理需求对E-R模式进行优化。一个好的全局E-R模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。本系统的E-R模型如图3

24、.3.1-2所示4.1.2 表设计考虑系统的实际需要,系统需要公交信息表,管理员表。1公交信息表(Bus)公交信息表存储公交线路的详细信息,字段说明如表3-1所示Bus表的字段说明编号字段名称字段类型字段说明1BusIDnvarchar 车次号 主键2Detailntext车次经过站点3A_STimentext夏季发车时间4W_STimentext冬季发车时间5A_ETimentext夏季结束时间6W_ETimentext冬季结束时间7T_Valueint票价8Sortint车序号CREATE TABLE bus ( BusID nvarchar Primary key,Detail ntex

25、t Not Null, A_STime ntext, W_STime ntext, A_ETime ntext, W_ETime ntext, T_Value int Not Null, Sort int Not Null) 其中Detail存放车次的站点信息,其格式为-。2. 管理员表管理员表存储管理员的详细信息,字段说明如表3-1所示编号字段名称字段类型字段说明1ManagerIDnvrchar管理员编号2TrueNamenvrchar管理员姓名3Passwordnvrchar密码4Commentnvrchar备注CREATE TABLE manager ( ManagerID nvrch

26、ar Primary key, TrueName nvrchar Not Null, Password nvrchar Not Null, Comment nvrchar)4.2 系统部分模块设计无锡公交线路查询系统总体上可分为普通查询模块(包括清晰站点查询、清晰线路查询、清晰换乘查询)、高级查询模块(包括模糊车次查询、模糊站点查询、模糊线路查询、模糊换乘查询),后台管理模块(包括删除线路、修改线路、添加线路等功能)。4.2.1普通查询模块1. 线路查询首先用户准备查询公交线路,在下拉菜单中选择选择公交车次号,启动车次查询,系统从数据库中读取公交车次信息,在新窗口中显示车次经过的站点等详细信息

27、。 2. 站点查询首先用户准备查询站点信息,在下拉菜单中选择选择要查询的站点,启动站点查询,系统从数据库中读取公交站点信息,在新窗口中显示经过该站点的公交线路的详细信息。3. 换乘查询首先用户准备查询换乘信息,在下拉菜单中选择选择起始站点和到达站点,启动换乘查询,系统首先判断是否有直达车,如果有直达车直接给出换乘信息,如没有直达车则在数据库中查找换乘线路和中转站,再给出换乘信息,在新窗口中显示显示换乘信息查询结果。4.2.1 高级查询模块1. 车次查询首先用户准备查询公交车次,在文本框中输入公交车次号,系统判断输入车次号是否有效,如输入错误,系统提示错误信息,要求重新输入,若输入正确启动车次查

28、询,系统从数据库中读取公交车次信息,在新窗口中显示车次经过的站点等详细信息2. 模糊站点查询首先用户准备查询公交站点,在文本框中输入查询的站点关键字,系统判断输入关键字是否有效,如输入错误,系统提示错误信息,要求重新输入,若输入正确启动模糊查询,系统从数据库中读取与站点关键字匹配的站点,在新窗口中显示所有与输入关键字匹配的所有站点。3. 模糊线路查询首先用户准备查询公交站点,在文本框中输入查询的站点关键字,系统判断输入关键字是否有效,如输入错误,系统提示错误信息,要求重新输入,若输入正确启动模糊查询,系统从从数据库中读取经过与站点关键字匹配的站点的线路,在新窗口中显示所有与输入关键字匹配的所有

29、线路,即与关键字相关的车次及详细信息。 4. 模糊换乘查询首先用户准备查询公交站点,在文本框中输入查询的站点关键字,系统判断输入关键字是否有效,如输入错误,系统提示错误信息,要求重新输入,若输入正确启动模糊查询,系统从数据库中读取与关键字匹配的站点,然后启动换乘查询,系统先判断是否有直达车,如果有直达车直接给出换乘信息,如没有直达车则在数据库中查找换乘线路和中转站,再给出换乘信息,在新窗口中显示显示换乘信息查询结果。 4.2.3后台管理模块管理员维护整个系统,管理员输入用户名和密码后,登陆后台管理系统,在后台管理系统,管理员可以进行添加车次信息,修改车次信息,删除车次信息等操作。5系统的实现5

30、.1 普通查询模块系统主页即是普通查询模块,是由homepage.jsp页面实现,它包括了站点查询子模块、线路查询子模块和换乘查询子模块。如图所示。主页核心是把数据库中的车次和站点取出来,在下拉列表中显示。主要采用了ResultSet.getString()方法,首先设置两个数据库结果集(ResultSet)result1、 result2.和两个数组busid、all_station,分别存放车次号和站点名,因为站点采用-的方式存在数据库中所以采用StringTokenizer str=new StringTokenizer(detail,-);方法将站点取出来存入all_station,然

31、后遍历数组在下拉列表中显示。其核心代码如下:while(result1.next() busidi=result1.getString(BusID); i+; result1.close();/把车次查询的车次号存入busid中。while(result2.next() /把每一条记录放入临时变量detail中 detail=result2.getString(Detail); StringTokenizer str1=new StringTokenizer(detail,-); /对每一条记录的每一个站点进行比较 while(str1.hasMoreTokens() mark=0;/恢复mark的

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1