出租车呼叫应用概要设计.docx
- 文档编号:29135063
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:23
- 大小:335.90KB
出租车呼叫应用概要设计.docx
《出租车呼叫应用概要设计.docx》由会员分享,可在线阅读,更多相关《出租车呼叫应用概要设计.docx(23页珍藏版)》请在冰豆网上搜索。
出租车呼叫应用概要设计
出租车呼叫应用软件
概要设计
版本:
V1.0
发布时间:
2011-12-8
文件件变更记录
*A-增加*M-修改*D删除
变更版本号
日期
变更类型
(A*M*D)
修改人
变更摘要
审批人/日期
备注(原因、进一步的说明等)
1.0
2011-12-8
A
王鑫浩
创建
目录
1概述1
1.1开发与设计的总体思想1
1.2参考文档1
1.3开发平台及编程语言1
1.4名词解释2
2用户界面设计2
3总体设计3
3.1产品总体结构3
3.2软件模块组成4
3.2.1功能软件模块图4
3.2.2功能模块说明4
3.3业务流程6
3.3.1软件系统业务时序图6
3.4通信设计10
3.4.1数采仪嵌入式软件对外通信方式10
3.4.2协议报文结构定义10
3.5数据存储设计11
3.5.1数据库设计11
3.5.2表结构设计11
3.5.3数据库表关系12
3.6性能设计13
3.7可靠性设计13
3.8兼容性设计13
3.9可移植性设计14
3.10可升级性设计14
3.11可维护性设计14
3.12安全性设计14
附录一15
HTTP报文结构15
附录二17
MD5码算法17
1概述
1.1开发与设计的总体思想
出租车呼叫应用软件设计遵循以下原则,实现出租车驾驶员与乘客的双向查找,并以此为基础扩展对需求点的满足程度,形成为具有良好稳定性、可靠性、兼容性、可移植性、安全性、模块化、易于维护管理、拥有友好用户界面的应用软件,为此界面展示模块使用storyboard框架编写实现,其它功能模块使用OBJ-C编码,,以便于软件系统的功能升级、变更以及跨平台移植。
1.2开发平台及编程语言
开发工具:
XCODE4.3
设计工具:
EnterpriseArchitect7.5、MicrosoftOfficeWord2007、MicrosoftOfficeVisio2007
编程语言:
OBJ-C
1.3名词解释
英文缩写
原词组及汉语释义
TCP/IP
TransmissionControlProtocol/InternetProtocol的缩写形式,中译名为传输控制协议/因特网互联协议,又名网络通讯协议
Socket
通常也称作"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
是对TCP/IP协议的具体实现方式。
MD5
MessageDigestAlgorithmMD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。
Unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。
它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
XML
用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
WebServices
是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务
2用户界面设计
用户界面提供界面化交互操作功能,功能范围涵盖需求规格说明书对界面功能的要求。
详见界面展示DEMO。
3总体设计
3.1产品总体结构
图3.1-1出租车呼叫应用软件总体架构
如图3-1所示,出租车呼叫应用软件总体架构由“四个层次”构成;四个层次则包括:
“用户层”、“应用展现层”、“服务层”、“基础设施层”。
在出租车呼叫应用软件总体架构中,各个层次之间逻辑上相互独立,下一层为上一层提供支持和服务。
基础设施层包括网络通信链路、无限通信设备、GPS定位设备及操作系统环境等基础软、硬件设备,为整个出租车呼叫应用软件的运行提供支持。
服务层是整个软件系统的核心层级,地图信息模块、地理信息模块、数据收发模块、数据处理模块,这些服务模块直接为应用层实现各项功能提供支撑。
应用展现层是对出租车呼叫应用软件各项功能需求的整体实现,包含用户人机界面及后台服务两个部分,通过服务层的各项服务,为用户提供友好的可视化界面以及与上位服务器的数据交互。
用户及上位服务器层位于出租车呼叫应用软件总体架构的最顶层,脱离于出租车呼叫应用软件之外,包括数据解析服务器、数据库等、出租车呼叫应用软件用户,是出租车呼叫应用软件的数据接收方以及命令下达方。
3.2软件模块组成
3.2.1功能软件模块图
图3.2-1出租车呼叫应用软件模块图
3.2.2功能模块说明
模块名称
模块功能
模块接口
依赖模块
权限管理模块
负责用户登录操作的处理,并赋予相应的操作权限以及软件配置参数修改功能。
验证接口:
输入:
用户名、密码
输出:
验证结果
配置修改接口:
输入:
修改参数
输出:
修改结果
权限管理接口
输入:
权限修改参数
输出:
修改结果
通讯管理模块
通讯管理模块
通讯管理模块负责完成数采仪与其它设备通信链路管理。
Webservice链接
WIFI连接
GPRS/3G连接
无
数据管理模块
数据管理模块负责完成对地理信息的采集、存储、发送及接收。
数据采集接口
输入:
采集的原始数据
输出:
处理结果.
展示数据提取接口
输入:
无
输出:
用于展示的实时数据
发送策略配置接口:
输入:
配置参数
输出:
配置保存结果
通讯管理模块、设备控制模块
运行监控模块
运行监控模块监测软件自身运行状态及存储空间使用状况。
调用接口
无
地图信息模块
通过调用GOOGLE地图API完成地图展示。
通讯管理模块
图形界面模块
面展示模块提供可视化的数据信息与软件运行信息以及对其它模块配置参数的修改。
数据管理模块
版本监控模块
版本监控模块负责监控服务器端最新软件版本与当前软件版本。
通讯管理模块
版本更新模块,
版本更新模块实现对新就版本的下载、旧版本的备份,新旧版本的替换以及旧版本的恢复等功能。
调用接口:
输入:
更新操作参数
输出:
更新执行结果
数据库管理模块
3.3业务流程
3.3.1软件系统业务时序图
图3.3-1数据收发业务时序图
3.3.2配置修改业务时序图
图3.3-2修改配置参数业务时序图
3.3.3版本更新业务时序图
图3.3-3版本更新业务时序图
3.4通信设计
3.4.1出租车呼叫应用软件对外通信方式
1.基于GPRS无线网络建立的Internet通信,协议类型HTTP。
2.局域网内的有线Socket服务器/客户端连接,协议类型TCP/IP。
3.webservice,协议类型自定义。
3.4.2协议报文结构定义
1.Internet通信报文使用HTTP1.1标准格式,详见附录一。
2.基于TCP/IP协议的Socket连接。
3.5数据存储设计
3.5.1数据库设计
出租车呼叫应用软件使用SQLite数据库,为提高软件系统可扩展性,对实时及周期数据等多张表的表结构进行了修改。
原有表结构为每行存放一条数据,修改后实时数据表改为多行存储一条数据,周期数据表改为存储数据包结构数据。
考虑到软件系统向下兼容性保留对原版表结构的支持,可通过参数配置进行选择。
3.5.2表结构设计
3.5.2.1T_RT实时数据表
作用:
该表存放检测仪表采集的实时数据。
字段名称
字段描述
主外键说明
是否允许为空
RECORD_TIME
数据采集时间戳
NOTNULL
RECORD_ID
污染物编号
外键
NOTNULL
RECORD_VALUE
污染物监测数值
NOTNULL
SEND_FLAG
发送标志
NOTNULL
PERIOD_FLAG
周期数据计算标志
3.5.2.2T_RECORD污染物参数编码表
作用:
该表存放污染物参数编码信息。
字段名称
字段描述
主外键说明
是否允许为空
RECORD_NO
污染物参数编号
主键
NOTNULL
RECORD_NAME
污染物参数名称
NOTNULL
RECORD_INFO
污染物参数说明信息
NOTNULL
3.5.2.3T_PERIOD周期数据表
作用:
该表存放计算获得的周期数据。
字段名称
字段描述
主外键说明
是否允许为空
RECORD_TIME
数据采集时间戳
NOTNULL
PERIOD_DATA
周期数据包
NOTNULL
PERIOD_TYPE
周期数据类型
NOTNULL
SEND_FLAG
发送标志
3.5.2.4T_UPDATE更新记录表
作用:
该表存放软件更新历史记录。
字段名称
字段描述
主外键说明
是否允许为空
UPDATA_TIME
更新发生时间
NOTNULL
FILE_NAME
更新目标文件名
NOTNULL
FILE_PATH
更新目标文件路径
NOTNULL
BACKUP_NAME
备份文件名
NOTNULL
BACKUP_PATH
备份文件路径
NOTNULL
BACKUP_RS
更新操作结果
NOTNULL
3.5.2.5T_USER用户表
作用:
该表存放用户登录信息。
字段名称
字段描述
主外键说明
是否允许为空
USER_ID
用户编号
主键
NOTNULL
USER_NAME
用户名称
NOTNULL
USER_PASSWORD
用户密码
USER_LEVEL
用户级别
3.5.2.6T_RIGHT权限表
作用:
该表存放各项权限信息。
字段名称
字段描述
主外键说明
是否允许为空
RIGHT_ID
权限编号
主键
NOTNULL
RIGHT_NAME
权限名称
NOTNULL
RIGHT_LEVEL
权限级别
RIGHT_INFO
权限说明信息
3.5.2.7T_USERRIGHT权限分配表
作用:
该表存放用户权限分配信息。
字段名称
字段描述
主外键说明
是否允许为空
RIGHT_ID
权限编号
外键
NOTNULL
USER_ID
用户编号
外键
NOTNULL
3.5.2.8配置信息表
作用:
该表存放软件配置参数
字段名称
字段描述
主外键说明
是否允许为空
SET_ID
配置编号
主键
NOTNULL
SET_NAME
配置名称
NOTNULL
SET_VALUE
配置参数值
NOTNULL
3.5.3数据库表关系
图3.5-1实时数据表关系
图3.5-2权限模型表关系
3.6性能设计
出租车呼叫应用软件中,影响性能的主要因素是通信传输能力,当通信数据量过大会产生数据阻塞,对数据实时性产生影响,对此使用异步HTTP通信,保证数据收发互不影响;同时使用可配置的发送策略,从时间上均衡通信带宽使用;并且软件各功能模块采用封装代理动态调用的方式,减少软件版本更新时的数据传输量,以提高软件通信传输性能。
此外由于手机设备存储空间有限,每天定时对过期数据及各类日志文件进行清理,此时为软件运算性能峰值,为缓解软件运算压力,此时间段暂停版本更新功能,待清理完成后恢复。
3.7可靠性设计
出租车呼叫应用软件为应对各种异常情况,保障系统稳定运行具备以下保障机制:
1.线程状态监控,当某线程异常终止时重建线程。
2.软件更新备份及还原,为保证软件系统更新时,更新文件传输的正确性,对更新文件使用MD5码进行正确性校验。
(MD5码算法详见附录二)对软件版本更新时替换的文件进行备份并可通过备份进行版本还原操作。
3.8兼容性设计
配置文件兼容性设计:
软件系统各项配置参数使用Plist文件存储模式。
配置参数缺失时,使用默认参数生成配置文件或配置数据。
字符集设计:
通讯报文及配置文件使用unicode字符集,并可根据实际需求进行变更。
编码风格设计:
源码编写过程中,命名规范、注释规范、代码风格严格遵循苹果公司OBJ-C编码指导规范之相关要求规定。
3.9可升级性设计
产品本身升级可升级性:
出租车呼叫应用软件升级过程采取自动化升级方式,更新文件下载完毕后无需人为干涉即可完成软件升级。
3.10安全性设计
软件安全性设计:
软件系统具备用户权限系统,可实现用户登录权限控制。
硬件安全性设计:
软件系统对硬件进行的各类控制操作,使用硬件设备支持的,安全可靠不会导致硬件设备损坏的方式实现。
数据库安全性设计:
数据库系统具备用户身份认证机制,各个数据库仅可由具备相应权限的用户或管理员进行操作。
附录一
HTTP报文结构
报文结构是指HTTP请求消息和HTTP响应消息结构。
HTTP请求由3部分构成,分别是请求行、请求头域和请求正文,其中请求头域含通用信息头、请求头和实体头,报文格式如下:
请求行-通用信息头-请求头-实体头-空行-报文主体
请求行以方法字段开始,后面分别是URL字段和HTTP协议版本字段,并以CRLF结尾(即回车然后换行); 之后各头域信息也须以CRLF结尾,有关通用信息头,请求头和实体头方面的具体内容可以参照后续文章内容; 各头域信息和报文主体之间的一个空行表示头域信息已经结束了,空行内必须只有
一个实际的HTTP请求报文如下:
GET/FileOp/fileIO.jspHTTP/1.1
Accept:
*/*
Referer:
http:
//localhost:
8080/FileOp/
Accept-Language:
zh-cn
User-Agent:
Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)
Host:
localhost:
8080
Connection:
Keep-Alive
Cookie:
JSESSIONID=9277F9B1D242ABB277A1E358C88833EC
这是一个只有请求行和头域信息的HTTP请求消息,其中请求行请求方法是GET,请求的URI是/index.html, 使用的协议是HTTP,协议的版本是1.1。
这里需要详细了解的是HTTP协议标准的请求方法,HTTP定义了八种方 法来指示确认的资源执行所需的行为,大致如下:
HEAD:
要求与GET请求相应的回复一样的应答,但是没有回应的内容。
这对找回写在回应标题中的meta-infomation有帮助,不需要传输整个内容。
GET:
请求某个特殊的资源,是目前网上最通用的方法。
POST:
向确定的资源提交需要处理的数据。
这些数据包括在请求的内容里。
这可以造成新资源的产生和更新已有资源。
PUT:
上传特定资源。
DELETE:
删除特定资源。
TRACE:
返回接收的请求,客户端可因此察看在请求过程中什么中间服务器被加进来或者有所改变。
OPTIONS:
返回服务器支持的HTTP方法,这可以用来检查网络服务器的功能。
CONNECT:
将请求连接转换成透明的TCP/IP通道,通常通过非加密的HTTP代理利用SSL-加密通讯(HTTPS)。
其中HEAD、GET、OPTIONS和TRACE被定义为安全方法,这些方法针对的只是信息的返回,并不会改变服务器的状态。
而POST、PUT和DELETE通常会改变服务器的状态,所以是不安全的。
HTTP响应与HTTP请求相似,主要也由3部分构成,分别是状态行、响应头域和响应正文,具体的响应报文格式如下:
状态行-通用信息头-响应头-实体头-空行-报文主体.
状态行中状态码元由3位数字组成,表示请求是否被理解或被满足,状态码含义参加文章后续表格。
原因分析是对原文的状态码作简短的描述,状态码用来支持自动操作,而原因分析用来供用户使用。
响应正文就是用户在浏览网页时看到的内容,可以包含各种信息,包括文字、图片和动画等。
一个实际HTTP响应报文如下:
HTTP/1.1200OK
Date:
Mon,10Feb199723:
48:
22GMT
Server:
Apache/1.1.1HotWired/1.0
Content-type:
text/html
Last-Modified:
Tues,11Feb199722:
45:
55GMT
HTTP响应的第1行表示通信使用的协议及其版本、状态码和状态描述。
其中的状态码是规定好的,例如,200表示请求成功,500表示服务器错误等。
如例子中第1行表示使用HTTP1.1版,状态码为200,状态描述为OK,也就是请求成功了。
附录二
MD5码算法
1.补位:
MD5算法先对输入的进行补位,使得位长度LEN对512求余的结果是448。
即扩展至K*512+448位。
即K*64+56个字节,K为整数。
具体补位操作:
补一个1,然后补0至满足上述要求。
2.补长度:
用一个64位的数字表示的原始长度B,把B用两个32位数表示。
这时,数
据就被填补成长度为512位的倍数。
3.初始化MD5参数:
四个32位整数用来计算信息摘要,初始化使用的是十六进制表
示的数字
A=0X01234567
B=0X89abcdef
C=0Xfedcba98
D=0X76543210
4.处理位操作函数:
X,Y,Z为32位整数。
F=X&YNOT&Z
G=X&ZY?
H=XxorYxorZ
I=Yxor)
5.主要变换过程:
使用常数组T[1...64],T[i]为32位整数用16进制表示,用16个32位
的整数数组M表示。
具体过程
/*处理原文*/
Fori=0toN/16-1do
/*每一次,把原文存放在16个元素的数组X中.*/
Forj=0to15do
SetX[j]toM[i*16+j].
end/结束对J的循环
/*SaveAasAA,BasBB,CasCC,andDasDD.*/
AA=A
BB=B
CC=C
DD=D
/*第1轮*/
/*以[abcdksi]表示如下操作
a=b++X[k]+T[i])s).*/
/*Dothefollowing16operations.*/
[ABCD071][DABC1122][CDAB2173][BCDA3
224]
[ABCD475][DABC5126][CDAB6177][BCDA7
228]
[ABCD879][DABC91210][CDAB101711][BCDA
112212]
[ABCD12713][DABC131214][CDAB141715]
[BCDA152216]
/*第2轮**/
/*以[abcdksi]表示如下操作
a=b++X[k]+T[i])s).*/
/*Dothefollowing16operations.*/
[ABCD1517][DABC6918][CDAB111419][BCDA
02020]
[ABCD5521][DABC10922][CDAB151423]
[BCDA42024]
[ABCD9525][DABC14926][CDAB31427][BCDA
82028]
[ABCD13529][DABC2930][CDAB71431][BCDA
122032]
/*第3轮*/
/*以[abcdksi]表示如下操作
a=b++X[k]+T[i])s).*/
/*Dothefollowing16operations.*/
[ABCD5433][DABC81134][CDAB111635]
[BCDA142336]
[ABCD1437][DABC41138][CDAB71639][BCDA
102340]
[ABCD13441][DABC01142][CDAB31643]
[BCDA62344]
[ABCD9445][DABC121146][CDAB151647]
[BCDA22348]
/*第4轮*/
/*以[abcdksi]表示如下操作a=b++X[k]+T[i])s).*/
/*Dothefollowing16operations.*/
[ABCD0649][DABC71050][CDAB141551]
[BCDA52152]
[ABCD12653][DABC31054][CDAB101555]
[BCDA12156]
[ABCD8657][DABC151058][CDAB61559]
[BCDA132160]
[ABCD4661][DABC111062][CDAB21563]
[BCDA92164]
/*然后进行如下操作*/
A=A+AA
B=B+BB
C=C+CC
D=D+DD
end/*结束对I的循环*/
6.输出结果。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 出租车 呼叫 应用 概要 设计