文档介绍:广州道路实时路况移动短信应用项目
技术规划方案
二〇一七二〇一七年十一月十一日
系统分析报告
数据分析(开发人员角度)
系统中的基础数据包括布线位置数据和地图数据。这些数据已经由其他系统提供,只需要按用户需求对数据做适当转换即可满足手机用户的需要。数据流如下图:
业务数据库
数据读取
地图生成
终端用户
线圈数据表
如上图,由于业务系统(线圈)记录的数据非常多,而且不够直接,往往很难从其中看出具体的交通状况信息,因此需要对这些数据进行抽象,定义一些规则,
如什么样的数据表示塞车,总结出具体的交通状况信息,然后以日常中熟知的形式表示。
例如,根据某个时段的车流量、车速和车长,推断当前的交通状况。
因此,需要提供交通状况的数据字典,以及相应的匹配规则。
将交通状况信息标记到地图上时,由于这些数据(地理位置+交通信息)中的地理位置的表示形式(如下图)可能会与web地图的格式不一致,不支持某些线圈地理位置的表示形式,因此需要进行转换或给出线圈具体的精度纬度,否则很难再web地图上标记该线圈所在路段。这样就要求在数据库系统中的线圈数据表需要添加属性,以记录精度纬度值。
因此,需要地理信息管理系统,对线圈的信息进行管理。
交通状况分类:1、畅通,2、缓行,3、拥挤。另外,是否还有一些其他
的附加信息,如该时刻某线圈所在路段车长,是否有交通事故发生等等。
交通状况信息显示形式,如图,这样地图中绿色段表示畅通,黄色段表示缓行,红色段表示拥挤。
二、业务分析(用户角度)
系统涉及的用户包括系统管理员,普通手机终端用户。因此业务需求分为系统管理员和手机终端用户两部分需求。
系统管理员:1、管理系统用户信息。包括添加用户,删除用户。
2、管理布线数据。包括添加布线点,删除布线点,查看布线点的使用情况是否异常(需要根据车流量判断)。
3、统计报表。了解各阶段各个布线点的车流量分布情况。
手机终端用户:1、查看某个布线点所在路段的车流量信息。
初步估计包括以上业务。
系统管理员操作流程图:
登入系统
管理用户信息
管理布线信息
统计报表
手机终端用户操作流程图:
登录
输入查询条件
接收实时地图
三系统设计
本系统由两部分组成,一是以手机为平台的移动设备端,即客户端;另一部分则为服务器端。系统结构可以采用两种结构:B/S结构和C/S结构。分别叙述如下:
B/S结构
采用B/S结构时,主要的工作都集中在服务器端,包括线圈数据的嵌入,路况信息的判断等。手机端不需要开发专门的软件,只需要通过手机浏览器访问服务器即可。由于要实时获取交通状况信息时,需要获取手机的地理位置信息,因此需要向移动提请求,以获得手机的地理位置。每个手机用户需要注册一个账户,将其绑定到手机号上面。(可以用手机号申请注册,密码信息会发送到该用户的手机上,增加安全性。)
B/S交通数据获取的流程:访问服务器时,手机登入系统,其中手机号会
绑定到用户信息中,服务器获取手机号之后向移动发请求,获取该号码所对应的手机的地理位置信息。根据手机地理位置信息,服务器实时将其周边的路况信息发送给手机用户。其流程图如下:
手机用户登入访问服务器
服务器向移动发请求,获取手机号所对应手机地理位置信息
服务器根据手机地理位置信息,实时将交通状况信息发送给手机用户
客户端设计
在手机端的软件设计中,本文采用了J2ME 技术,并将结构设计为视图层、模型层和控制层,即MVC 结构。视图层用来显示用户使用界,模型层则用来封装业务逻辑和核心数据,控制层用来控制用户的机器的交互工作。
服务器端设计
在服务器端,本文采用了J2EE 技术,并用到了struts,hibernate 等中间件。通过struts 中间件,我们将用户请求拦截,并进行处理。根据请求的不同,调用不同的action 来处理请求,用hibernate 则可以与数据库进行通信。
客户端与服务器端的通信
在设计好手机端和服务器端后,通过使用Http-Connection 接口,使两端进行有效的通信。即通过HttpConnection 接口,用来建立网络连接。这样,我们就可以通过网络来进行数据通信了.
UI展示
一般说来,网页浏览所消耗的流量并不是很大,普通页面仅会产生几十KB的流量,图片较多的页面会产生几百KB流量,只有网站首页(有很多图片、FLASH)才会消耗1MB左右的流量。Web地图中包含大量的信息,