基于J2EE的公交查询系统的设计与实现毕业论文
2020-02-23 18:20:32
摘 要
随着时代的快速发展,人们对出行的方式更加注重可持续和环保,城市的公交车系统发展迅速,公交线路设计、公交站的设立等方面做的越来越合理高效,但是还是存在着信息获取上的短板,人们不能在公交车站外获取有关的公交信息,甚至在公交车站,人们对于自己的一些特殊的需求仍然无法满足,为了解决这些还未完善的问题,笔者设计出了基于J2EE的公交查询系统。
本论文将从需求到测试整个软件开发完成过程来详细地介绍整个系统实现的功能及其实现的方式还有整个实现过程中到的问题和思考。首先整个系统实现的功能包括公交线路的查询(两点之间的公交线路规划)、公交车查询(根据公交车名查询它的线路信息)以及公交站点查询(根据公交站点关键字查询)以及用户登陆后的历史记录查询等。其次在实现方面,用到了基础的J2EE的相关技术,在查询功能实现上,用到的是引入高德地图JS API。
关键词:J2EE;JS API;数据库;公交查询
Abstract
With the rapid development of The Times, people pay more attention to sustainable and environmental protection. The bus system in the city is developing rapidly, and the design of bus lines and the establishment of bus stations are more and more reasonable and efficient. But still there is access to information on the board, people are not available at the bus stop outside the bus information, even at the bus stop, and people for their own special still cannot meet the demand, in order to solve the problem of these are not perfect, the author designed the bus query system based on J2EE.
This thesis will introduce the function of the whole system implementation and the way of realization and the problems and thinking in the whole realization process from the requirements to the test of the whole software development. First of all, realize the function of the whole system including the bus route query bus routes between two points (planning), bus query (according to the bus route information query it) and the bus stops query (according to transit site keyword query) and user logged in the history of query, etc. Secondly, in terms of implementation, the related technologies of the basic J2EE are used, and in the implementation of query function, it is used to introduce the high virtue map JS API.
Key words: J2EE;JS API;database;bus-search
目录
摘要 3
Abstract 4
第1章 引言 6
1.1选题背景 6
1.1.1公交车行业发展背景 6
1.1.2公交车行业技术发展情况 6
1.3项目主要介绍 6
1.4开发工具 7
1.5开发环境 7
1.6论文几个部分安排 7
第2章 技术介绍 8
第3章 系统可行性分析和需求分析 9
3.1可行性分析 9
3.2系统功能需求 9
3.3系统非功能需求 10
第4章 系统的设计 11
4.1总体设计介绍 11
4.2系统WBS图 11
4.3各个模块详细设计 12
4.3.1登陆注册模块设计 12
4.3.2个人信息模块设计 13
4.3.3查询模块设计 14
4.3.4数据库的设计 15
第5章 系统的实现 16
5.1登陆注册模块 16
5.2个人信息模块 17
5.3公交查询模块 18
5.3.1地图的加载 18
5.3.2公交路线查询 18
5.3.3公交车查询 19
5.3.4公交站点查询 20
5.3.5查询功能总体逻辑流程 20
第6章 测试 21
第7章 总结与展望 22
7.1总结 22
7.2展望 22
参考文献 23
致谢 24
第1章 引言
1.1选题背景
1.1.1公交车行业发展背景
这两年,我们国家的公交车的数量大约有 60.9 万台,每年至少还有 9 万台的增长的数量,公交车数量增长迅速。而公交车的更新时间为 6~8 年,当其数量趋于稳定的时候,对应每年更新公交车在 9~12 万台之间,其中 10 米以上占的比例已经占了很大的比重。2016 年公交车的销量为 12.1 万辆,高于以往的水平。可以看出,公交车需求在不断增大,许多城市的公共公交设施越来越先进和完善,大多数公交车车站站台都有站牌,方便人们规划自己的出行计划,但是随着城市的发展,城市的“体型”越来越大,就算是长期在城市生活的人,也不能找到任意地方的出行路线,虽然现在很多城市有详细的地图,人们能通过地图来指引方向,但是在这个高速发展的时代,这种繁琐并且效率低的方式并不能被人们所接受。另外,随着城市人口增多,公交车拥挤问题逐渐浮现,有调查显示,中国61.6%的人对他们生活的城市的公共交通不满意。在这些被调查者中,70后占37.7%,80后占43.5%,24.3%的人在普通省会城市,19.1%的人在北上广等大城市。30.9%的人在地级市,21.8%的人在县城或县级市。对于造成拥堵的原因,很多人都表达了自己的观点,78.3%的人表示是上下班时间集中,出行人数太多;74.2%的人认为城市交通整体规划不合理;68.7%的人表示城市化进程过快,交通无法满足需要;52.5%的人表示公交车班次太少,运力不足。现在,人们在选择出行路线不仅需要考虑距离因素,还要考虑到交通状况、坐车人数等等许多的因素。人们对于坐车时的体验越来越重视。
1.1.2公交车行业技术发展情况
如今,城市公交车站、公交车路线、公交车运用的技术越来越先进,其设计的合理性、简洁性、方便性越来越强,公交车拥有了先进定位设备,在公交车站有了更详细的公交车信息。
1.2研究意义
公交系统越来越先进,需要一个系统来提供给用户进行相关公交信息的查询,这不仅方便了用户出行,还有利于整个公交系统的运行,因为用户规划好了自己路线,省去了多余的对公交系统的依赖和使用,并且在选择时候有时候用户会根据实际情况来选择路线,使得公交系统使用更效率化更合理化。
1.3项目主要介绍
本系统基于J2EE,采用的是B/S结构。该系统可以分为解五个部分:UI界面、数据库、控制器、服务器、JS API。其中JS API和UI界面紧密相连,通过调用JS API能方便地获得自己想要的数据。在功能上对于登陆后的用户,能够获得查询历史查询记录的功能,该功能在个人信息中可以查看。对于游客身份的用户来说,他能够和登陆用户一样能够用到三大公交车相关的查询功能。首先公交线路查询功能,用户通过输入起点和终点来获得公交线路规划,该功能能详细得描绘出具体的出行路线,并且在地图上绘制出来。其次公交车查询功能,用户通过输入公交车名字来获得该公交车的具体路线以及经过的站点。最后公交车站点查询能够通过关键字来查询相关的公交站点,通过在地图上显示其详细地点。
1.4开发工具
HBuilder、MySQL、 Eclipse、 Tomacat
1.5开发环境
操作系统:Window 10
1.6论文几个部分安排
第一部分主要描述一下系统的一些背景情况
第二部分主要介绍一下系统在开发过程中用到的相关技术和一些自己的技术设计
第三部分主要进行系统的可行性分析以及需求分析。
第四部分主要介绍系统各个部分的设计。
第五个部分主要介绍系统各个部分如何实现。
第六个部分主要展示一下系统各个测试的测试结果。
第七个部分主要对整个系统从立项到实现的总结以及对未来的要求和展望。
第2章 技术介绍
(1)高德地图JS API
这是高德地图给外界提供的对其数据访问的一个接口,我们可以通过外部调用来获得其相应的数据。我们需要创建一个开发者账号来获取开发者的key值,然后在调用过程中加入JS 引用声明语句来获取相应的服务。比如说我们可以直接获得地图的API然后通过自己创建的容器将地图注入,从而在自己的容器中可以显示出一幅非常详细的地图,通过对其参数的设置能够将地图的基本操作激活,从而来满足自己的开发需求。另外高德地图非常友好地提供调用时候的要求,我们可以根据自己的需求来选择具体的调用方式从而获得自己想要的返回数据显示到地图或者自己设计的结果栏。运用该API还是需要我们去挖掘更深层次的逻辑方法,去了解到底是怎样得到这样的返回结果。而且对于运用该技术的时候还是要注意调用的次数限制,合理地进行相应的测试操作。可以说利用它你可以完成大部分的地图上的操作。笔者使用的只是它在公交车查询方面能够提供的一些服务。
(2)HTML选项卡
在前端设计中经常使用到这种非常灵活而且不占页面空间的设计,而系统运用的选项卡是通过获取每个tab的index索引通过该索引来设置3个content名的div标签的display值,从而实现在点击tab每个键的时候能显示相应的搜索框
(3)正则表达式
正则表达式就是对一些字符串包括特殊的字符操作的一种逻辑,系统中用到正则表达式是来确保密码的强度,将密码的字符和数字的个数进行要求,从而使得密码在强度上达到要求,加大了密码的安全性,保证用户的密码不容易被别人盗取。
在正则表达式的准确性的确认上,可以使用相应的测试用例来验证其正确性。
(4)J2EE
J2ee现在更多面向的是做we app 而手机端的app是采用J2me体系结构模式来实现,而且现在JSP更多的只用来页面间的跳转,它现在就相当于实现界面,而servlet更多的用来对数据库进行操作。
第3章 系统可行性分析和需求分析
3.1可行性分析
首先在成本上web app是基于J2EE是基于HTML5新标准的新技术,它的使用方式十分广泛,只要开发出来就可以在一套设备上使用,而且它的开发时间周期比一般原生APP短,更加减少了它的成本。其次,它可以在界面设计上出彩,容易做的更加符合人们想要的美感,另外在系统的维护上面更加的便利。
由此再结合一个查询系统需要的一些优势:操作简洁、界面简约大气可以看出,该系统再可行性方面非常强。
3.2系统功能需求
该公交查询系统用于解决人们在出行规划需要用到的功能。假设一下场景,当我们要选择出去到某个地方去,我们需要知道我们能走怎么样的公交路线到那去,我们需要知道大致的路线来规划出自己最想要的出行路线。或者说,当我们需要知道一辆公交车的路径知道它在地图上具体的路线,包括它的起点和终点的位置,还有它经过的每个公交车站。再者我们想要去一个公交站点,我们需要知道它的具体的地理位置。另外,对于自己以前查询过的关键词,我们有时候想要去查看,这时候就需要一个功能就是查看历史查询记录。
对于现在的公交站点越来越合理,越来越现代化,能提供的信息越来越多,我们需要一个系统来应对各种各样的查询需求来克服时空地点的限制。
下面是各个功能的需求具体分析
- 登陆注册
登陆需要用户输入自己的账号密码,在输入账号不存在和密码错误的时候能够提示用户相关错误信息。而用户在注册的时候,需要提示用户在密码和用户名选取的时候,复杂度必须达到要求
- 查询模块
用户需要输入相应的关键字来查询想要得到的信息,首先需要帮用户缩小搜索范围,就需要给用户一个城市选择器,其次,在用户输入的时候需要给用户提供友好的输入提示来帮助用户高效准确的搜索关键字。在查询结果方面,需要返回用户清晰、准确的查询结果。
- 个人信息模块
用户在自己信息处理方面需要用到的是自己密码管理,所以首先需要提供给用户修改密码的功能,另外在查询尤其是公交查询方面需要给用户提供一个历史记录查询的功能来保证用户可以在使用的时候的便利性。
3.3系统非功能需求
性能上系统做到交互过程中响应请求的能力,在系统设计初期就想到将各个部分的耦合度降到最低,利于后面系统的维护和移植。另外,系统对网络的要求不高。
在易用性方面,系统总共就拥有三个主界面:首页、个人信息页、登陆注册页。在首页就能完成三个主要的公交查询功能,返回地结果都在首页上一目了然,在用户进入首页时,就能直接进行自己想要的操作,用户能轻松地得到自己想要地查询结果,没有过多繁琐地页面跳转,用户不会遇到太多的页面以至于在页面间苦苦地寻找自己想要的信息。如今社会的发展,人们的生活速度不断加快,人们更愿意更快更准确地获得信息,所以该系统在易用性上考虑到了很多。
第4章 系统的设计
4.1总体设计介绍
整个系统主要是提供公交相关信息的查询:公交车线路查询、公交车查询、公交站点查询。另外加入的登陆注册功能主要为实现历史查询记录。
该系统的首页有三大主要部分组成:container标签“装有”地图,一个tab搜索框浮在地图左上角,城市选择器浮在地图右上角,用户按钮在两个中间。搜索结果直接在地图或弹出结果框显示。用户信息页主要提供修改用户密码和查看查询记录的功能。
4.2系统WBS图
根据各个模块的功能画出WBS图,如图4-1。
图4-1
4.3各个模块详细设计
4.3.1登陆注册模块设计
图4-2
这是最基础也是完成历史查询记录的前提,用户在进入系统首页后,点击头像按钮,系统将判断是否登陆,没有登陆将跳转至登陆页面,用户根据自己是否注册来判断自己接下来的操作,未注册的用户点击注册按钮跳转至注册界面,根据信息填写相应的注册信息,对于密码的选用必须符合要求才能通过安全性要求,然后用户跳转至登陆界面进行登陆操作,只有用户名和密码填写正确才能登陆成功。值得注意的是在注册时,必须是没有注册的用户才能注册,对于已经存在的用户,将不能进行注册操作,另外在登陆成功后,通过调用session 相关方法,可以设置最大会话时间来保证系统的效率。
如下图4-3是该模块的时序图:
图4-3
4.3.2个人信息模块设计
图4-4
用户进入首页后,点击头像按钮,未登陆的用户需要进行登陆操作,登陆成功后可以进入个人信息页,里面有个人基本信息展示,再通过一个tab页,来实现修改密码和历史查询记录功能,当用户点击修改密码,tab跳转到修改密码操作栏,用户输入正确的用户名和原密码后才能进行改密操作,另外在选取新密码时候依然需要考虑自己的安全性,满足密码的复杂度才能真正实现密码的修改。修改成功后该用户会自动退出到未登陆状态,但此时仍然可以使用查询功能模块的所有功能。用户点击历史查询记录后,将会跳转到相应的显示页,系统将会把数据库中当前状态下的用户的查询记录渲染进去展示给用户看,用户可以查看自己的历史查询记录并且对于一些比较私密或者不愿意留下的记录可以通过右边的删除按键来删除,在删除时候为了保证错删误删,将会在点击删除按钮后弹出提示框,提示用户是否删除,此时用户只能点击提示框中相应操作才能进行下一步的删除,在确定无误后用户可以将此记录进行删除。
如下图4-5是该模块的时序图:
图4-5
4.3.3查询模块设计
图4-6
查询模块用例图如上4-6
用户进入首页之后,可以看到三个做成tab的查询框,并且在右上角有城市选择器,用户可以根据自己所在的城市选择相应的城市。点击第一个tab选项,输入自己想要的起点和终点,点击搜索按钮,tab框下面会弹出结果框,里面返回的是多条线路供用户选择,用户点击其中某条线路,地图上将会显示出该路线的详细信息,用户可以自己选择自己想要哪条路线来作为自己出行的选择。如果用户想查询具体的公交车信息,可以点击第二个tab键,选项卡将会跳到第二个查询界面,根据用户输入的公交车名字,返回该公交车在地图上的路线,包括它的起点和终点还有它经过的每个公交车站。当用户想查询公交车站,可以输入想要查询的公交车站关键字,地图将会显示相关公交车站位置。没有多余的页面,用户可以在一个页面完成自己想要的查询操作,查询操作简洁明了。
但是要注意到的是,用户有时候为了保证,可能在搜索之前设置选择的城市为自己所在城市,右上角的城市选择器可以让用户的城市设置在自己所在地。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: