城市公交查询系统的设计与实现.docx
- 文档编号:25726235
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:45
- 大小:603.90KB
城市公交查询系统的设计与实现.docx
《城市公交查询系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《城市公交查询系统的设计与实现.docx(45页珍藏版)》请在冰豆网上搜索。
城市公交查询系统的设计与实现
JIUJIANGUNIVERSITY
毕业论文
题目城市公交查询系统的设计与
实现
英文题目CityPublicTransportQuery
SystemDesignand
Implementation
院系信息科学与技术学院
专业计算机科学与技术
姓名付文林
班级学号A081135
指导教师邵君
二○一二年五月
摘要
公交查询系统是城市道路交通的重要组成部分,是城市发展的必然产物,是联系国民生活、社会生产和流通领域的关键环节。
我国城市公交查询系统的发展处于一个较落后的水平,人们可以获得信息的方式很少,随着Internet的普及,开发一种基于JSP的公交查询系统更加适应现代社会的要求,这样可以很大程度的方便人们出门乘坐公交车。
论文详细介绍了该公交查询系统所要实现的功能。
首先,实现多种查询功能,包括根据商厦名称、公交车号、日常站点和任意两个站点查询乘车路线。
其次,采用最短路径算法查找任意两个站点之间的最短乘车路线,这也算是一个小小的亮点。
最后,提供了用户留言的功能、管理员留言管理功能和后台车次管理功能。
用户留言功能主要是收集用户的留言信息,可以根据用户提供的留言信息中提出的建议,对系统进行修改和完善;管理员留言管理功能主要是回复和删除用户的一些留言;后台车次管理功能主要包含添加车次和站点功能、更新车次和站点功能、删除车次和站点功能,这样做到系统实时更新,为用户查询提供更为准确的信息。
关键词:
最短路径算法,公交查询
Abstract
Businquiriessystemisanimportantpartoftheurbanroadtraffic,theinevitableoutcomeofurbandevelopmentistocontactthenationallife,thekeyaspectsofsocialproductionandcirculation.ThedevelopmentofChina'surbanpublictransportquerysysteminalessadvancedlevel,veryfewpeoplecangetinformation,withthepopularityoftheInternet,todevelopaJSP-basedpublictransportquerysystemmoreresponsivetotherequirementsofmodernsociety,soalargeextenttheconvenienceofpeopleouttotakethebus.
Thepaperdetailsthefunctionstobeachievedbythequerysystemofthebus.
First,toachieveavarietyofqueryfunctions,includingquerybusroutesunderthecommercialname,busnumber,dailysiteandanytwosites.
Second,usingtheshortestpathalgorithmtofindtheshortestbusroutebetweenanytwosites,itwouldbeasmallbrightspot.
Finally,itprovidesthefunctionalityoftheusermessagethewebmastermanagementcapabilitiesandbackgroundtripsmanagementfunctions.Guestmainfunctionistocollecttheuser'smessage,accordingtotherecommendationsmadeinthemessageprovidedbytheusertomodifyandimprovethesystem;thewebmastermainfunctionistoreplytoanddeletetheuser'smessage;backgroundtripsmanagementfunctionsIncludeaddtripsandsitefeatures,updatestripsandsitefeatures,deletetripsandsitefeatures,sodothesystemsupdatedinrealtimetoprovidemoreaccurateinformationfortheuserquery.
Keywords:
Shortestpathalgorithm,publictransportinquiry
1绪论
1.1系统研究的背景
20多年来,我国经济得到了持续、快速、稳定、健康地发展。
城市经济发展,城市规模越来越大,相应的城市公交系统也越来越庞大。
城市交通网络在城市发展中占有至关重要的地位。
它不仅是城市的一个重要组成部分,同时也决定了城市中居民的生活方式。
长期以来,交通问题已成为困扰城市发展的重要问题。
世界各国都面临着日益严重的城市交通问题,如交通拥挤、车辆行驶缓慢、交通事故频繁及其由于交通堵塞造成的大量空气污染等,由此而带来大量的经济损失和人员伤亡。
许多发达国家逐渐认识到,欲有效地解决这些问题,仅仅依靠道路建设、扩大路网规模是远远不够的,交通问题的解决必须依赖现在信息技术与管理技术的有机结合[1]。
许多新建小区大量出现,公交线路也日渐增多,给人们的出行带来了极大便利,但是由于城市规模的不断发展,给人们选择出行乘车线路造成了一定的困难。
即使一个在城市生活多年的人,给他任意两个地点,要他说出这两个地点之间的乘车方案,他往往也是很难说出来的。
但是如果给他一张交通地图之后,他可以很快地找出图上的任意两点之间的乘车方案,所找出的方案即使不是最优的,也是一条可供参考的备选方案。
但是这样的查询效率是相当低的,所以需要提供一个高效的查询系统,才是问题更本所在。
而基于JSP的公交查询系统,就是利用B/S结构开发出来的查询系统,它通过利用数据结构当中的最短路径算法,可以查出任意两个地点之间最短的乘车方案。
它不仅可以用于公交公司管理系统中,也可以单独作为公交管理系统的一个模块存在,并可以制作成公交信息系统查询网,放置于城市的主要场所。
这样不仅可以体现出一个城市的智能公交系统的水平,更显示出城市的数字化,信息化水平。
项目研究的基于JSP的公交查询系统,让人们通过互联网很快的查出该城市任意两站点之间的最短乘车路线。
1.2系统研究的意义
目前,我国众多大城市普遍存在交通拥挤,延误人们平时上班时间。
甚至影响了城市旅游业经济的可持续发展。
所以为了切实的改善公交车内拥挤状况,适当增加发车次数以缩短乘客等车时间,但是能够准确为人们提供最短的乘车线路才是得到解决的最好办法,这样大大的缩短了人们的乘车时间。
近十几年来,随着地理信息系统技术的快速发展,地理信息系统的各种应用在城市规划、管理方面越来越起到不可低估的作用。
在众多有关城市地理信息的应用中,城市交通地理信息系统的发展越来越受到地理学者、城市管理者的瞩目。
交通数据的种类繁多(包括属性数据、空间数据、影像数据等),数据量大,操作复杂,人工管理难度大[2]。
项目研究的基于JSP的公交查询系统,让人们通过互联网很快的查出该城市任意两站点之间的最短乘车路线。
系统是从城市交通现状出发,根据人们的出行规律,设计了一个完整的基于JSP体系的公交车查询系统。
该系统可以根据商厦名称,公交车号,日常站点和站点之间为查询条件分别进行查询,解决了市民出行乘坐公交车时经常遇到的困难。
1.3系统的开发的目的
本系统主要是为了人们出行的方便以及节约人们乘坐公交车所用的时间,现在网上的公交车查询系统都有漂亮的网页和完善的功能,所以本系统运用HTML、JSP等技术来编辑网页,并运用JDBC技术把数据库和动态网页相关联。
本系统自己设计数据库,使得公交车信息、站点信息、商厦信息等能够及时的添加、删除以及更新,人们还可以留言发表一些合理的建议使得本系统更加的完美。
1.4系统相关技术简介
(1)JSP的概念
JSP程序是一个服务端页面脚本程序,可以在这个脚本中直接编写客户端浏览器需要显示的HTML文档内容,当然也可以依照JSP规范将Java程序代码嵌入脚本。
JSP脚本规范提供了若干内部对象来简化JSP程序和浏览器之间的输入输出处理。
由于JSP程序是从HTML页面添加Java动态处理代码而来,因此,JSP程序又称为动态JSP页面[3]。
(2)JavaBean的概念
JavaBean是一种JAVA语言写成的可重用组件,用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。
用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。
这个对J2EE业务逻辑层处理具有相当重要的部分[4]。
(3)JavaServlet
JavaServlet使用的是一种请求/响应机制,也就是说通过特定的Java程序设计技术,由该Servlet动态产生的响应向某一特定的请求做出响应。
Servlet所能应用的请求/响应场合很多,但常用的还是在Web应用程序中用于产生超文本传输协议响应(HTTP)。
据此,Servlet可能取代其他类型的HTTP请求/响应机制,譬如通用网关接口(CGI)脚本[5]。
(4)Session对象
Session对象是类javax.servlet.Httpsession的一个对象,是用来保存每个用户信息(以会话的形式直接保存在WEB服务器端),以便跟踪每个用户的操作状态[6]。
1.5论文结构
论文分为以下结构:
第一章:
绪论,介绍系统研究的背景及意义,系统研究的工作。
第二章:
需求分析,对系统的功能需求以及数据需求进行分析。
第三章:
系统设计,对系统的数据库和功能进行设计与实现。
第四章:
系统实现,对系统的一些功能进行实现,保证系统没有出现错误,对有错误的地方进行修改及完善。
第五章:
系统测试,对系统进行测试,保证系统完整运行。
2需求分析
需求分析是介于系统分析和软件设计阶段之间的重要桥梁[7]。
一方面,需求分析以系统规格说明和项目规划为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试的主要基础。
良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。
2.1需求的任务
软件需求分析的任务是:
深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题。
需求提出主要集中于描述系统目的。
需求提出和分析仅仅集中在使用者对系统的观点上。
用户、开发人员和用户确定一个问题领域,并定义一个描述该问题的系统。
这样的定义称作系统规格说明,并且它在用户和开发人员之间充当合同。
在问题分析阶段分析人员的主要任务是:
对用户的需求进行鉴别、综合和建模,清除用户需求的模糊性、歧义性和不一致性,分析系统的数据要求,为原始问题及目标软件建立逻辑模型[8]。
分析人员要将对原始问题的理解与软件开发经验结合起来,以便发现哪些要求是由于用户的片面性或短期行为所导致的不合理要求,哪些是用户尚未提出但具有真正价值的潜在需求[8]。
在需求评审阶段,分析人员要在用户和软件设计人员的配合下对自己生成的需求规格说明和初步的用户手册进行复核,以确保软件需求的完整[9]、准确、清晰、具体,并使用户和软件设计人员对需求规格说明和初步的用户手册的理解达成一致。
一旦发现遗漏或模糊点,必须尽快更正,再行检查。
公交查询系统需要满足几个方面的需求,一是用户公交查询的需求;二是用户留言的需求;三是管理员车次及站点信息管理的需求;四是管理员留言管理的需求。
在界面需求上要做到美观、操作方便[10],给用户和管理员一个舒适简便的公交查询系统,管理员能够及时的添加、删除以及更新车次和站点的信息,使用户能够及时的了解公交车的信息,不会耽误用户乘坐相关的公交车。
2.2系统数据流程分析
数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经过的变换[11]。
在数据流图中没有任何的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。
因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的通信工具[12]。
此外设计数据流图纸需要考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能[13]。
公交查询系统数据流图如图2-1所示。
图2-1系统数据流图
2.3系统的E-R图
通过对公交车查询系统的数据分析,得出系统的E-R图,然后系统的E-R图可以分为管理员实体及属性、留言板实体及属性和车次与站点之间关系,分别如图2-2,图2-3,图2-4所示。
图2-2管理员实体及属性
图2-3留言板实体及属性
图2-4车次与站点之间关系
2.4系统的功能需求分析
系统具有以下基本功能:
(1)公交查询:
用户可以通过4种查询方式查询公交车,分别是商厦查询、线路查询、站点查询以及站点之间查询。
(2)用户留言:
用户可以对系统不完善的地方以及对系统管理员或是工作人员提出合理的建议在留言上,使系统更加完善。
(3)管理员对车次及站点管理:
管理员要及时添加、删除以及更新公交车车次和各个站点的基本信息,使用户可以更好的使用系统。
(4)管理员留言管理:
管理员需要及时的查看用户所留的一些合理的留言并且给予回复,对一些不合理的留言可以进行删除。
2.5系统的环境需求分析
2.5.1开发平台
系统开发选用的平台是Struts2+JavaServerPage(简称JSP)和Mysql数据库,它适应于Windows操作系统并能很好的与其应用程序结合,而且Mysql数据库也易操作。
具体如下:
(1)采用了Internet架构,Bowser/Server模式。
(2)Web服务器采用Tomcat5.5服务器,数据库管理系统为Mysql。
(3)采用了jdk1.6的环境
2.5.2系统开发工具
本系统是基于Struts2+JSP+Mysql数据库技术实现的,现对JSP技术和Mysql数据库以及Struts2框架作简要的介绍。
2.5.3开发语言
JSP页面由HTML代码和嵌入其中的Java代码所组成。
JavaBean是JSP的技术基础,而且大型的Web应用程序的开发需要JavaBean和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网等特点。
JSP的技术的优势:
(1)一次编写,到处运行。
在这一点上Java比PHP更出色,除了系统之外,代码不需要做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/PHP的局限性是显而易见的。
(3)JSP技术是用Java语言作为脚本语言的。
Java语言是成熟的、强大的、易扩充的编程语言。
(4)高效性与安全性。
JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。
(5)可维护性。
由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。
(6)多样化和功能强大的开发工具支持。
Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
2.5.4数据库
Mysql是Oracle公司的一款数据库产品,因为其小巧亦操作,却十分稳定,成为一些中小型项目和我们学习中最常用的数据库,在这里便使用了这款成熟稳定的数据库。
2.5.5框架
在Struts2出现之前,Struts1就是一个非常有名的框架,它实现了MVC模式。
之后出现的WebWork框架也是一个很优秀的框架,随着时间的发展,Struts1渐渐淘汰,有人用WebWork的核心并包装上Struts1,由此产生了更先进的技术—Struts2。
Struts2是经典的MVC结构框架,将显示,控制,逻辑很好的分离,可以使我们开发起来更具延展性。
2.6本章小结
本章首先介绍了需求分析的作用,其次介绍了数据流程分析,把系统的数据流图画出来,接着介绍系统的功能需求分析,讲述系统的一些功能,最后介绍系统的环境需求分析,本章主要就是为了让大家理解系统的一些需求,结合实际来合理的开发使用公交查询系统。
3系统设计
3.1系统的总体设计
公交查询系统的功能模块可以分为以下模块:
(1)管理员登陆功能模块:
管理员登陆要输入正确的管理员名、密码以及账号,否则登陆失败。
(2)站点和车次查询模块:
用户可以直接以4种查询方式查询公交车的站点和车次信息,分别是商厦查询、线路查询、站点查询以及站点之间查询,其中站点之间查询还可以告诉你2个站点之间的最短路劲以及相应的换乘车次和站点。
(3)用户留言模块:
用户可以对系统的进行留言,对系统的一些不足之处提出合理建议给管理员,是系统更加的完善。
(4)管理员操作模块:
管理可以对公交车站点和车次信息进行添加、删除以及更新,使广大用户能够及时的查看最新的公交车站点和车次信息,不耽误广大用户乘坐公交车。
(5)管理员管理留言模块:
管理员可以查看用户的留言并对用户的留言进行回复以及删除,对用户对本系统提出的一些合理的意见给予感谢。
3.2系统的总体功能图
城市公交查询系统从功能上可以分为用户查询公交车信息、用户留言、管理员对公交车信息管理操作、管理员留言管理5部分。
具体功能结构图如图3-1所示。
3.3系统的流程图
城市公交查询系统中用户可以用4种查询方式查询公交车信息,分别是商厦查询、线路查询、站点查询、站点之间查询;用户可以留言以及查看留言;管理员公交车信息操作,对公交车信息进行添加、删除以及更新;管理员留言管理,对用户的留言进行回复或是删除,每一个都有不一样的流程,对应有各自的流程图,具体的系统流程图如下。
(1)用户查询公交车信息工作流程如图3-2所示。
图3-1系统功能结构图
图3-2用户查询流程图
(2)用户留言以及查看留言工作流程如图3-3所示。
图3-3用户留言流程图
(3)管理员公交车信息操作工作流程如图3-4所示。
图3-4管理员公交车信息操作流程图
(4)管理员留言管理工作流程如图3-5所示。
图3-5管理员留言管理流程图
3.4系统的数据库设计
本系统数据库采用Mysql5数据库,系统数据库名称为bus,共包含7张表。
(1)管理员表administrator如表3-2所示。
表3-2管理员信息
字段名
数据类型
长度
允许空
adminiID
Varchar
50
Notnull
adminipassword
Varchar
50
Notnull
adminiID:
管理员名
adminipassword:
密码
(2)车次信息表BusInfo如表3-3所示。
表3-3车次信息表
字段名
数据类型
长度
允许空
BusNum
Int
4
Notnull
BeginSt
Varchar
50
Notnull
EndSt
Varchar
50
Notnull
TicketNote
Varchar
50
null
BusLevel
Varchar
50
null
Note
Varchar
50
null
BusNum:
车号
BeginSt:
起点站
EndSt:
终点站
TicketNote:
票价
BusLevel:
车子档次
Note:
票档次
(3)站点信息表StInfo如表3-4所示。
表3-4站点信息表
字段名
数据类型
长度
允许空
StID
Int
4
Notnull
StName
varchar
50
Notnull
StID:
站点号
StName:
站点名称
(4)车次与站点关系表BusSt如表3-5所示。
表3-5车次与站点关系表
字段名
数据类型
长度
允许空
BusNum
Int
4
Notnull
StID
Int
4
Notnull
StOrder
Int
4
Notnull
BusNum:
车号
StID:
站点号
StOrder:
站点次序
(5)商厦信息表publicplace如表3-6所示。
表3-6商厦信息表
字段名
数据类型
长度
允许空
Placesid
Int
4
Notnull
Placesname
varchar
50
null
Placesid:
商厦号
Placesname:
商夏名称
(6)站点与商厦关系表stplace如表3-7所示。
表3-7站点与商厦关系表
字段名
数据类型
长度
允许空
StId
Int
4
Notnull
PlaceId
Int
4
Notnull
StId:
站点号
PlaceId:
商厦号
(7)留言信息表message如表3-8所示。
表3-8留言信息表
字段名
数据类型
长度
允许空
Username
Varchar
50
Notnull
Messagedate
Datetime
8
Notnull
Topic
Varchar
50
Notnull
Messagetext
Varchar
200
Notnull
Id
Int
4
Notnull
Reply
Varchar
200
null
Username:
用户名
Messagedate:
留言日期
Topic:
留言主题
Messagetext:
留言内容
Id:
留言序号
Reply:
回复
3.5本章小结
本章节主要就是介绍系统的功能还有数据库的设计,系统的功能不是一个人可以完善的,需要很多人的意见结合起来才可以做成一个完美的系统,所以加了留言系统让广大用户对系统提出意见来进一步的完善系统;数据库是一个项目的核心,所有的数据都要存储在数据库中,将这些数据设计好不是很好做的事情,需要根据业务来设计,数据库的设计让我对数据库有了进一步的理解。
4系统实现
系统实现是软件项目开发过程中的主要部分,在系统实现中要有简洁、美观、可读性好、整体统一等准则。
4.1系统功能简介
城市公交查询系统从功能上可以分为管理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 城市 公交查询 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)