出租车呼叫应用设计_第1页
出租车呼叫应用设计_第2页
出租车呼叫应用设计_第3页
出租车呼叫应用设计_第4页
出租车呼叫应用设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

概要设计/CORNER-M2MS-DA-WXH-101-内部资料,注意保密--15-概要设计-内部资料,注意保密-出租车呼叫应用软件概要设计版本:V1.0发布时间:2011-12-8文件件变更记录*A-增加*M-修改*D删除变更版本号日期变更类型(A*M*D)修改人变更摘要审批人/日期备注(原因、进一步的说明等)1.02011-12-8A王鑫浩创建

目录1 概述 11.1 开发与设计的总体思想 11.2 参考文档 11.3 开发平台及编程语言 11.4 名词解释 22 用户界面设计 23 总体设计 33.1 产品总体结构 33.2 软件模块组成 43.2.1 功能软件模块图 43.2.2 功能模块说明 43.3 业务流程 63.3.1 软件系统业务时序图 63.4 通信设计 103.4.1 数采仪嵌入式软件对外通信方式 103.4.2 协议报文结构定义 103.5 数据存储设计 113.5.1 数据库设计 113.5.2 表结构设计 113.5.3 数据库表关系 123.6 性能设计 133.7 可靠性设计 133.8 兼容性设计 133.9 可移植性设计 143.10 可升级性设计 143.11 可维护性设计 143.12 安全性设计 14附录一 15HTTP报文结构 15附录二 17MD5码算法 17概述HYPERLINK开发与设计的总体思想出租车呼叫应用软件设计遵循以下原则,实现出租车驾驶员与乘客的双向查找,并以此为基础扩展对需求点的满足程度,形成为具有良好稳定性、可靠性、兼容性、可移植性、安全性、模块化、易于维护管理、拥有友好用户界面的应用软件,为此界面展示模块使用storyboard框架编写实现,其它功能模块使用OBJ-C编码,,以便于软件系统的功能升级、变更以及跨平台移植。开发平台及编程语言开发工具:XCODE4.3设计工具:EnterpriseArchitect7.5、MicrosoftOfficeWord2007、MicrosoftOfficeVisio2007编程语言:OBJ-C名词解释英文缩写原词组及汉语释义TCP/IPTransmissionControlProtocol/InternetProtocol的缩写形式,中译名为传输控制协议/因特网互联协议,又名网络通讯协议Socket通常也称作"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。是对TCP/IP协议的具体实现方式。MD5MessageDigestAlgorithmMD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。UnicodeUnicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。WebServices是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务HYPERLINK\o"点击见说明"用户界面设计用户界面提供界面化交互操作功能,功能范围涵盖需求规格说明书对界面功能的要求。详见界面展示DEMO。总体设计产品总体结构图3.1-1出租车呼叫应用软件总体架构如图3-1所示,出租车呼叫应用软件总体架构由“四个层次”构成;四个层次则包括:“用户层”、“应用展现层”、“服务层”、“基础设施层”。在出租车呼叫应用软件总体架构中,各个层次之间逻辑上相互独立,下一层为上一层提供支持和服务。基础设施层包括网络通信链路、无限通信设备、GPS定位设备及操作系统环境等基础软、硬件设备,为整个出租车呼叫应用软件的运行提供支持。服务层是整个软件系统的核心层级,地图信息模块、地理信息模块、数据收发模块、数据处理模块,这些服务模块直接为应用层实现各项功能提供支撑。应用展现层是对出租车呼叫应用软件各项功能需求的整体实现,包含用户人机界面及后台服务两个部分,通过服务层的各项服务,为用户提供友好的可视化界面以及与上位服务器的数据交互。用户及上位服务器层位于出租车呼叫应用软件总体架构的最顶层,脱离于出租车呼叫应用软件之外,包括数据解析服务器、数据库等、出租车呼叫应用软件用户,是出租车呼叫应用软件的数据接收方以及命令下达方。软件模块组成功能软件模块图图3.2-1出租车呼叫应用软件模块图功能模块说明模块名称模块功能模块接口依赖模块权限管理模块负责用户登录操作的处理,并赋予相应的操作权限以及软件配置参数修改功能。验证接口:输入:用户名、密码输出:验证结果配置修改接口:输入:修改参数输出:修改结果权限管理接口输入:权限修改参数输出:修改结果通讯管理模块通讯管理模块通讯管理模块负责完成数采仪与其它设备通信链路管理。Webservice链接WIFI连接GPRS/3G连接无数据管理模块数据管理模块负责完成对地理信息的采集、存储、发送及接收。数据采集接口输入:采集的原始数据输出:处理结果.展示数据提取接口输入:无输出:用于展示的实时数据发送策略配置接口:输入:配置参数输出:配置保存结果通讯管理模块、设备控制模块运行监控模块运行监控模块监测软件自身运行状态及存储空间使用状况。调用接口无地图信息模块通过调用GOOGLE地图API完成地图展示。通讯管理模块图形界面模块面展示模块提供可视化的数据信息与软件运行信息以及对其它模块配置参数的修改。数据管理模块版本监控模块版本监控模块负责监控服务器端最新软件版本与当前软件版本。通讯管理模块版本更新模块,版本更新模块实现对新就版本的下载、旧版本的备份,新旧版本的替换以及旧版本的恢复等功能。调用接口:输入:更新操作参数输出:更新执行结果数据库管理模块业务流程软件系统业务时序图图3.3-1数据收发业务时序图配置修改业务时序图图3.3-2修改配置参数业务时序图版本更新业务时序图图3.3-3版本更新业务时序图通信设计出租车呼叫应用软件对外通信方式基于GPRS无线网络建立的Internet通信,协议类型HTTP。局域网内的有线Socket服务器/客户端连接,协议类型TCP/IP。webservice,协议类型自定义。协议报文结构定义Internet通信报文使用HTTP1.1标准格式,详见附录一。基于TCP/IP协议的Socket连接。数据存储设计数据库设计出租车呼叫应用软件使用SQLite数据库,为提高软件系统可扩展性,对实时及周期数据等多张表的表结构进行了修改。原有表结构为每行存放一条数据,修改后实时数据表改为多行存储一条数据,周期数据表改为存储数据包结构数据。考虑到软件系统向下兼容性保留对原版表结构的支持,可通过参数配置进行选择。HYPERLINK\o"点击见说明"表结构设计T_RT实时数据表作用:该表存放检测仪表采集的实时数据。字段名称字段描述主外键说明是否允许为空RECORD_TIME数据采集时间戳NOTNULLRECORD_ID污染物编号外键NOTNULLRECORD_VALUE污染物监测数值NOTNULLSEND_FLAG发送标志NOTNULLPERIOD_FLAG周期数据计算标志T_RECORD污染物参数编码表作用:该表存放污染物参数编码信息。字段名称字段描述主外键说明是否允许为空RECORD_NO污染物参数编号主键NOTNULLRECORD_NAME污染物参数名称NOTNULLRECORD_INFO污染物参数说明信息NOTNULLT_PERIOD周期数据表作用:该表存放计算获得的周期数据。字段名称字段描述主外键说明是否允许为空RECORD_TIME数据采集时间戳NOTNULLPERIOD_DATA周期数据包NOTNULLPERIOD_TYPE周期数据类型NOTNULLSEND_FLAG发送标志T_UPDATE更新记录表作用:该表存放软件更新历史记录。字段名称字段描述主外键说明是否允许为空UPDATA_TIME更新发生时间NOTNULLFILE_NAME更新目标文件名NOTNULLFILE_PATH更新目标文件路径NOTNULLBACKUP_NAME备份文件名NOTNULLBACKUP_PATH备份文件路径NOTNULLBACKUP_RS更新操作结果NOTNULLT_USER用户表作用:该表存放用户登录信息。字段名称字段描述主外键说明是否允许为空USER_ID用户编号主键NOTNULLUSER_NAME用户名称NOTNULLUSER_PASSWORD用户密码USER_LEVEL用户级别T_RIGHT权限表作用:该表存放各项权限信息。字段名称字段描述主外键说明是否允许为空RIGHT_ID权限编号主键NOTNULLRIGHT_NAME权限名称NOTNULLRIGHT_LEVEL权限级别RIGHT_INFO权限说明信息T_USERRIGHT权限分配表作用:该表存放用户权限分配信息。字段名称字段描述主外键说明是否允许为空RIGHT_ID权限编号外键NOTNULLUSER_ID用户编号外键NOTNULL配置信息表作用:该表存放软件配置参数字段名称字段描述主外键说明是否允许为空SET_ID配置编号主键NOTNULLSET_NAME配置名称NOTNULLSET_VALUE配置参数值NOTNULL数据库表关系图3.5-1实时数据表关系图3.5-2权限模型表关系数据库部分数据库部分性能设计出租车呼叫应用软件中,影响性能的主要因素是通信传输能力,当通信数据量过大会产生数据阻塞,对数据实时性产生影响,对此使用异步HTTP通信,保证数据收发互不影响;同时使用可配置的发送策略,从时间上均衡通信带宽使用;并且软件各功能模块采用封装代理动态调用的方式,减少软件版本更新时的数据传输量,以提高软件通信传输性能。此外由于手机设备存储空间有限,每天定时对过期数据及各类日志文件进行清理,此时为软件运算性能峰值,为缓解软件运算压力,此时间段暂停版本更新功能,待清理完成后恢复。可靠性设计出租车呼叫应用软件为应对各种异常情况,保障系统稳定运行具备以下保障机制:线程状态监控,当某线程异常终止时重建线程。软件更新备份及还原,为保证软件系统更新时,更新文件传输的正确性,对更新文件使用MD5码进行正确性校验。(MD5码算法详见附录二)对软件版本更新时替换的文件进行备份并可通过备份进行版本还原操作。兼容性设计配置文件兼容性设计:软件系统各项配置参数使用Plist文件存储模式。配置参数缺失时,使用默认参数生成配置文件或配置数据。字符集设计:通讯报文及配置文件使用unicode字符集,并可根据实际需求进行变更。编码风格设计:源码编写过程中,命名规范、注释规范、代码风格严格遵循苹果公司OBJ-C编码指导规范之相关要求规定。可升级性设计产品本身升级可升级性:出租车呼叫应用软件升级过程采取自动化升级方式,更新文件下载完毕后无需人为干涉即可完成软件升级。安全性设计软件安全性设计:软件系统具备用户权限系统,可实现用户登录权限控制。硬件安全性设计:软件系统对硬件进行的各类控制操作,使用硬件设备支持的,安全可靠不会导致硬件设备损坏的方式实现。数据库安全性设计:数据库系统具备用户身份认证机制,各个数据库仅可由具备相应权限的用户或管理员进行操作。

附录一HTTP报文结构报文结构是指HTTP请求消息和HTTP响应消息结构。HTTP请求由3部分构成,分别是请求行、请求头域和请求正文,其中请求头域含通用信息头、请求头和实体头,报文格式如下:

请求行-通用信息头-请求头-实体头-空行-报文主体

请求行以方法字段开始,后面分别是URL字段和HTTP协议版本字段,并以CRLF结尾(即回车然后换行);

之后各头域信息也须以CRLF结尾,有关通用信息头,请求头和实体头方面的具体内容可以参照后续文章内容;

各头域信息和报文主体之间的一个空行表示头域信息已经结束了,空行内必须只有<CR><LF>而无其他空格。

一个实际的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=0X01234567B=0X89abcdefC=0Xfedcba98D=0X765432104.处理位操作函数:X,Y,Z为32位整数。F=X&YNOT&ZG=X&ZY?H=XxorYxorZI=Yxor)5.主要变换过程:使用常数组T[1...64],T[i]为32位整数用16进制表示,用16个32位的整数数组M表示。具体过程/*处理原文*/Fori=0toN/16-1do/*每一次,把原文存放在16个元素的数组X中.*/Forj=0to15doSetX[j]toM[i*16+j].end/结束对J的循环/*SaveAasAA,BasBB,CasCC,andDasDD.*/AA=ABB=BCC=CDD=D/*第1轮*//*以[abcdksi]表示如下操作a=b++X[k]+T[i])s).*//*Dothefollowing16operations.*/[ABCD071][DABC1122][CDAB2173][BCDA3224][ABCD475][DABC5126][CDAB6177][BCDA7228][ABCD879][DABC91210][CDAB101711][BCDA112212][ABCD12713][DABC131214][CDAB141715][BCDA152216]/*第2轮**//*以[a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论