李硕勋 张坤 工业和信息化部电子第五研究所
通过分析和调研,发现公交乘客多为20到40岁的上班族,该类人群有常坐的线路,会通过公交站查看、询问和地图工具等方式来规划出行路线,等车时不喜欢等待时间长、拥挤等情况,有强烈的了解公交实时信息的需求,手机类型多为iPhone和安卓智能机,也有少量的windows Phone,会用、甚至可以说是会非常熟练地使用智能手机,手机中常用浏览器有UC浏览器、QQ浏览器、Safari浏览器、安卓自带浏览器、谷歌浏览器等。
通过以上分析,发现当前市民出行主要面临以下问题:
1.环境陌生,找不到附近的公交站。
2.知道站点的位置,但是不知道公交车的位置,不知道需要等多久,等哪辆车可以更快上车。
有一辆公交车已经到达的时候,车上拥挤,不确定是不是同时到达两辆,应该上车还是再等等。
4.换乘路线规划不好,在站牌中自己查看耗费了大量的时间,并且也不一定是最优方案。
每日使用公交出行的人数约达2.8亿,每个等车的人都带着焦急和烦躁在等待,用户需要一个能够查看还有多久到站、公交车在哪两个站点之间、距离当前站点大概有多远、预估还有多久到达目的地的APP。
在前期调研期间,除了调研了公交车乘坐的用户,还调研了当前国内流行的LBS开发平台,并对主流开发平台做了详细的对比。当前不同平台的地图API都支持JavaScript,在平台适用性方面,除了MapBar和51地图,其他几款地图API都支持目前主流的浏览器,其中GoogleMap、百度地图、搜狗地图还支持Windows、mac、linux系统,大大方便了用户和程序员,在移动端,高德地图更胜一筹,除了支持Android、ios、Windows,还支持塞班系统。
目前在国内比较流行的主要是百度地图、腾讯地图和高德地图。无论是开发者还是用户,都更喜欢性能高、省电、省流量、内存占有率低的产品。
因此在对比腾讯地图、百度地图和高德地图的过程中,论文作者主要关注的是功能和性能两个方面。在性能对比上,耗电量、流量消耗、内存占有率、CPU占有率是主要对比指标,定位的场景主要有网络定位和GPS定位两种。
在产品功能方面,百度地图和高德地图是功能相对丰富的地图API,其中百度地图的优势主要在于可以给用户提供综合性的生活搜索平台,高德地图主要是解决位置服务和导航服务,鉴于智能出行系统并没有涉及导航功能的需求,因此百度地图比高德在功能上更有优势。
通过用户调研、分析调研结果、分析当前公交车运营情况,结合当前实时公交应用的研究现状与移动端开发技术,系统在HTML5客户端实现的功能主要有:
1)查看附近的公交站。
2)查看收藏的线路。
3)检索两点之间换乘方案。
4)搜索公交站。
5)搜索公交线路。
6)收藏常用的线路。
7)下载客户端。
8)提交位置信息。
其中查看公交信息、检索公交信息、检索换乘方案是最基础的功能,其他的功能都建立在基础功能之上,是对基础功能的补充和扩展。
除了最基本的需求,HTML客户端还应该有其他周边功能,满足运营的需要,同时也为以后数据分析做准备。其他功能性需求如图3-2所示:
1.提供安卓或者苹果平台的APP下载链接,根据不同的平台提供不同的应用商店下载链接,无需用户自己选择。
2.上传位置信息,为下一步研路况信息和出行数据做准备。
意见反馈,比如线路错误,实时信息不准确,设计问题,BUG等。
3.广告显示。
非功能性需求指的是系统的可靠性、健壮性、易使用性、可维护性、可操作性、可移植性、可重用性、可扩充性等不针对系统特定行为的需求。
在交互方式方面,简单的使用方式和良好的交互能够吸引用户的注意,通过对手机用户操作习惯和交互设计的了解,避免与用户习惯冲突,深入理解各种不同交互模式、特点及用户群体,为用户带来更优的体验。
在系统设计上,智能出行系统要符合高内聚低耦合的思想,通过MVC设计模式把程序分为视图层,控制器,模型层三个核心模块,修改三者中任何一个都不应该对其他两层造成太大影响,三层相互独立,各司其职。
此外,还应该在开发过程中充分考虑用户输入的各种情况、输入的边界值、极值等,对不合法输入进行处理。设计异常处理机制,考虑对错误、异常情况的处理,维护异常日志、错误日志,发生错误或者异常的时候提醒用户,并将错误写入日志,以便进行系统的优化。
1.开发环境:WebStonn+PHP+Apache+MYSQL
2.操作系统:Widows
开发语言:JavaScript,HTML5,CSS3,PHP
4.信息传递:HttpPost+json,Ht^)Get+json
5.数据库:MYSQL
通过上一章节中对智能出行系统客户端的需求分析,本章将基于MVC设计模式,结合需求分析,对需求分析进行细化,并且在这基础之上提出了实现的方案,系统的架构,介绍了总体设计。
HTML客户端首先通过百度地图定位API或者HTML5的Geolocation定位到用户当前位置,将用户的经纬度和数据库中经纬度信息匹配,通过控制器向模型层请求附近公交站静态信息以及实时信息,控制器首先请求服务器数据库和实时数据库中的实时数据,如果服务器中没有最近三分钟的实时信息,则安卓和ios客户端可以请求第三方服务器获得实时数据,得到实时数据以后将实时数据传入服务器实时数据库中,实时信息的有效性是三分钟。
整个系统分为安卓客户端、ios客户端、HTML5客户端,由共同的服务器提供服务,论文作者主要负责HTML5客户端和服务器的控制器开发。
在HTML5客户端的部分,百度地图JavaScriptAPI主要负责地图的显示功能、添加站点、标记站点、换乘方案查询。在开发初期,用户使用该系统过程中收集到的公交数据会上传到服务器,实现对公交车辆与线路的对应关系数据的统计。
在系统的部署方案上,选择云服务器,云服务器相比于传统的服务器有很大的优势,首先云服务器部署起来快,最多不超过十分钟,省去了使用传统服务器不可避免的选择和采购,节约了时间成本。其次使用云服务器可以不用提前估算使用量,传统服务器需要估算使用量,如果估算得比实际需要的少,会影响服务器性能,估算得比实际用的多,会造成浪费,云服务器可以轻松扩展。在可靠性方面.,云服务器如果出现问题可以直接迁移,而传统服务器需要维修,成本较高。除此之外,云服务器修改密码简单,容易管理,重装或者换系统可以保证数据安全,降低数据损失和服务器损失,节约了运维的人力资源,节约了支出。
智能出行系统旨在解决用户的焦虑,让用户更好的安排自己的行程,随时随地掌握当前实时交通状况,选择最优出行路线,减少等待时间,随时掌控自己的行程。