湖南大学毕业设计(论文)
第 1 页
第一章 绪论
1.1 课题背景
随着我国社会经济、科技的高速发展,城市规模的扩大,人们上班、上学、出游等活动量也随之增长,导致部分城市严重拥堵,比如上海、北京、深圳这样的大城市,公交线路系统庞大,车辆众多,交通拥堵不断加剧,给出行带来诸多不便。智能公交的发展对于广大出行者来说显得越来越重要[1]。
然而现有公交系统存在诸多问题,人们去公交站点乘公交车常常会遇到以下几种情况:(1)马上就要到公交站点了,却眼看着公交车刚刚开走。(2)在公交站点等了很长时间也没来车,犹豫着是改用其它交通工具还是再等一等。(3)换乘站点有多路车可供选择,有的离目的地近,但是车次间隔长;有的离目的地稍远,但是车次间隔短,不知乘哪一路 更好。(4)对于外地人员或者对某些地区不太熟悉的人员不知乘坐什么线路公交车才能到达目的地。
随着移动3G、4G网络的发展的日渐成熟,目前大部分智能手机都能通过应用客户端从互联网获取大量信息,基于智能手机平台开发的实时公交查询系统就是通过从服务器获取公交线路信息、地理位置分析乘车方案及公交实时到站信息。
目前很多手机软件,如“高德地图”,“百度地图“,”车来了“,”无线城市“,”掌上公交’等,都具备公交查询和路线选择功能,然而他们多数是基于静态数据的查询,无法反映实时交通路况,解决不了以上问题,当然也有少数一些具备实时查询功能,但却并不完善,存在信息不全、信息不稳、系统不稳等问题c。
1.2 研究内容
本课题通过调研城市实际交通状况、查阅相关文献资料,根据自己所学知识,开发一个基于android平台的实时公交查询手机应用。实时分析的基本思想是将公路上的人流信息以唯一标识、时间、位置为属性进行统计分析,找出每天每个人在公路上在特定时间内的流动规律,以此推断公交的到站时间,并在手机app中显示,以此作为乘客的候车依据,从而实现“实时”。研究内容主要分为三个部分:公交线路、站点数据,手机
湖南大学毕业设计(论文)
第 2 页
客户端,PC服务器端。
公交线路、站点数据方面,从互联网资源获取各城市的公交信息,并存储在本地数据库中,以便手动更新及客户端的调用。
手机客户端方面,先设计好简洁、美观的显示和操作界面,根据从服务器下载下来离线公交信息,为用户提供合适的外出乘车方案,并能随时随地离线查询公交线路、站点信息。
PC服务器端方面,根据公交查询系统的功能需求,设计服务器与手机客户端之间的交互流程和通信机制,管理各个城市的公交线路、站点数据,实现公交数据的增、删、改、查。根据用户乘车方案以上传的实时位置信息,分析公交的实时位置信息,预计公交到站时间。
1.3 工作内容
在整个课题设计中,使用了数据库系统设计、WEB系统实现、Android应用开发技术,其中包括SSH框架、JSP、HTML、CSS、JavaScript等技术。具体工作内容,包括以下四五个部分:
1. 设计系统的整体框架和交互机制,包括客户端与服务器之间的通信机制、通信接口的设计,在系统各个实体之间的交互流程的设计、服务器各组件间交互设计; 2. 数据库系统的设计及具体城市公交数据获取; 3. 服务器、客户端功能的代码实现; 4. 模拟数据的生成、系统测试
湖南大学毕业设计(论文)
第 3 页
第二章 需求分析与概要设计
2.1 需求分析
2.1.1 总体需求分析
基于Android平台的手机实时公交线路查询软件最基本的功能是能够有效的为用户提供查询服务,在最短的时间内给用户一条或多条到达目标地的路径,并且能够提示公交何时到站。整个查询过程中,公交线路数据是预先通过服务器下载到手机本地的,所以查询算在本地实现,而公交的到站时间是通过服务器实时获取的。
实时信息的获取是通过对公交运行状态(某时间点下对应的地理位置)的历史统计数据来建立对应的模型和分析,根据分析结果预测公交车在未来某个时间点的运行状态,综合当前实时运行信息与历史交通流量模型,实时预测公交车位置和公交车到站时间,以此作为依据向用户推荐计算出来的实时公交出行方案[2]。
乘车方案查询是计算用户请求的两点之间符合用户要求的综合最优的实时公交出行方案。查询算法包括直达算的和一次换乘算法。 2.1.2 系统数据库需求分析
实时公交查询系统以公交信息数据为基础,公交数据又分为静态和动态数据,其中
静态数据包括公交车的线路信息、站点信息、公交的线路轨等,动态数据包括公交车的实时位置数据、实时路况等[3]。
本系统的静态公交数据通过相关网络资源获取,根据这些原始数据的数据库和编码
规则,将这些信息完整有效地、完整地组织起来并存储到本地SQLite数据库中,并能够进行数据的增、删、改、查操作。在动态公交数据方面,主要是用户上传到服务器的实时位置信息,只要设计出相应的能存储用户名、对应的位置和时间信息的表即可。 2.1.3 服务器端需求分析
服务器作为后台,需要专业人员对服务器操作和维护,一般情况可由非专业人员借助管理软件对服务器进行常规维护。服务器可以通过数据库同步,为客户端数据库提供数据。通过仔细分析服务器需求之后,服务器端要完成以下功能:
1、服务器后台管理功能
湖南大学毕业设计(论文)
第 4 页
服务器后台管理是针对数据库进行操作,具有增、删、改、查功能。 2、数据同步功能。
采用Servlet技术,响应客户端请求,返回给客户端一端数据流,该数据流按照Xml语言规范写入数据流。
服务器端功能模块划分如图2.1所示。
图 2.1 服务器端功能模块图
2.1.4 客户端需求分析
客户端主要是手机,用户无法通过手机对本地数据库进行操作,也无法对服务器数据库操作,管理员可以通过手机浏览器登录到服务器管理员页面对数据库进行操作,可以使用一些功能。该软件应满足若干要求,比如能够随时掌握公交信息,动态更新最新数据等。也要考虑作为手机软件可能会出现查询速度慢,数据流量过大,过度依赖服务器等问题。通过仔细分析用户需求之后,该软件要完成以下功能:
1、 登录注册功能
用户可以注册个人账号,用户登录系统。 2、线路查询功能
湖南大学毕业设计(论文)
第 5 页
获得线路经过的每个站点信息以及线路的票价信息和发车时间信息。 3、站点查询功能
根据输入的具体站点,能够获得包含该站点的所有公交线路。
4、换乘查询功能
输入起点和终点,能够快速得出乘车方案,并存“查询历史”中,方便下次直接获取。 5、数据下载功能
根据客户端输入的城市名,服务响应查询结果并返回该城市公交线路数据库文件,客户端可点击下载到本地。
客户端功能模块划分如图2.2所示。
图2.2 客户端功能模块图
2.1.5 开发环境及工具需求分析