业务系统软件概要设计说明书.docx
《业务系统软件概要设计说明书.docx》由会员分享,可在线阅读,更多相关《业务系统软件概要设计说明书.docx(24页珍藏版)》请在冰豆网上搜索。
业务系统软件概要设计说明书
.
深圳市华域无线技术有限公司
密级
★★
文档编号
软件概要设计说明书
页数
共页
版本
A.0
生效日期
HSWOKR业务系统软件概要设计说明书
制定:
BenZhong
审核:
批准:
深圳市华域无线技术有限公司
ShenzhenHojyWirelessTechnologyCo.,Ltd.
修订履历
页次
1
2
3
发行版
A.0
最新版本
A.0
A.0
A.0
生效日期
修订日期
修订页次
修改前版次
修订后版次
修订内容
确认
2012-03-26
初稿
钟斌
2012-04-24
修改接口:
最新版本查询接口,验证码计算方法,去除content-md5,增加IMEI与SN做为MD5计算值
钟斌
2012-05-07
更新4.2章节,增加相关的界面
钟斌
2012-05-29
更新4.1.1章节,增加长度说明
钟斌
2012-6-12
更新3.2.2与3.2.3章节,增加用户名命名规范与update.zip升级包大小限制
钟斌
1引言
2
2.1目的
2.2
本设计文档的输入文档为《HSWORK解决方案》。
它主要的目标是细化系统软件功能模块,定义系统软件架构,定义通讯接口,设计数据库结构及相关运行环境的配置等。
2.3范围
2.4
2.4.1本文档适用于HSWORK项目
2.4.2
2.4.3本文档适于开发人员,测试人员以及后续开发的设计人员
2.4.4
2.5定义
2.6
UE:
userequipment用户设备
HSWORK:
华域升级业务系统
OSS:
OpenStorageService阿里巴巴云计算公司提供的开放云存储服务
2.7参考资料
2.8
《13-产品版本管理办法A_2.pdf》
3软件系统状态与交互描述
4
4.1软件系统结构和层次结构
4.2
图中HSWORK业务系统部分为本文档设计部分。
4.3软件系统原理描述
4.4
1、发布版本:
1,1、制作升级包,将它放在阿里的云存储中。
1.2、新增版本信息,配置策略
2、查询版本信息
3、返回当前版本信息,如果有更新,则返回升级包下载地址
4、下载升级包
5、终端升级
4.5软件系统交互描述
4.6
4.7
4.8
系统软件设计图
说明:
1、界面链接请求,view控制器处理请求;
2、
3、view控制器加载界面内容;
4、
5、view控制器将界面内容,返回给浏览器;
6、
7、如遇到界面为Grid,则发送ajax请求;json控制器负责处理ajax数据请求;
8、
9、Json控制器准备好格式化数据;
10、
11、Json控制器通过调用service封装好的业务服务方法生成所需的json数据;
12、
13、将JSON数据返回浏览器,浏览器将会通过jqgrid将数据呈现给用户;
14、
5软件系统设计
6
6.1软件设计概念和原理
6.2
6.3
6.4
controller
此包主要用于接受相关的来自客户端request请求,包括GET,POST,PUT,DELETE,以及ajax数据请求
domain
主要是与数据库表结构相关,一个数据库实体表对应一个类
json
此包提供jqgrid请求所需要的数据,通过json格式
persistence
它是一个数据库持久层,往下与数据库通讯,往上与业务层通讯
此层主要是处理SQL,它在XML中进行定义
service
此包主要一个业务接口层或是业务接口层,对外提供业务接口与业务接口封装实现
6.5系统模块设计
6.6
6.6.1基础数据管理模块
6.6.2
1、客户代码维护
2、
规则:
两位数字组成
操作:
C(增加)U(修改)R(查询)D(删除)
3、产品名称维护
4、
规则:
"V"+{产品类别}+{产品型号}+"R"+{[0-9]}+{[0-9]}+"C"+{[0-9]}+{[0-9]}+"S"+{客户代码}
操作:
C(增加)U(修改)R(查询)D(删除)
5、产品类别维护(class)
6、
规则:
1----代表TD类
2----代表WCDMA类
3----代表EDGE类
操作:
C(增加)U(修改)R(查询)D(删除)
7、产品型号维护(model)
8、
规则:
{产品类型}+{[0-9]}+{[0-9]}
操作:
C(增加)U(修改)R(查询)D(删除)
9、产品类型维护(type)
10、
规则:
1――代表TD智能手机
2――代表WCDMA智能手机
3——代表USB产品类型数据卡
5——代表USB及UART串口混合类型的Module
6——代表mini-PCIE接口类型的Module
8――代表普通手机
操作:
C(增加)U(修改)R(查询)D(删除)
6.6.3软件版本维护模块
6.6.4
1、新增版本
2、
上传完整版本文件:
"V"+{产品类别}+{产品型号}+"R"+{[0-9]}+{[0-9]}+"C"+{[0-9]}+{[0-9]}+"S"+{客户代码}.zip,此完整版本文件与工具中所用的版本文件不一样,它是需要可以支持终端自主写flash的。
上传步长为1的升级包文件:
update.zip,如当前最新的版本为R06,那么此升级包提供给R05版本;
上传步长为2的升级包文件:
update.zip,如当前最新的版本为R06,那么此升级包提供给R04版本;
上传步长为3的升级包文件:
update.zip,如当前最新的版本为R06,那么此升级包提供给R03版本;
update.zip文件大小不超过10M
3、发布版本
4、
发布Bata版本:
用于测试
发布Release版本
5、版本管理
6、
维护历史版本,针对Release版本不允许删除与修改,
6.6.5系统设置模块
6.6.6
升级策略配置:
控制升级终端的数量,指定哪些型号,哪个客户可以升级。
用户维护
用户名命名规则:
1、只能以字母开头
2、区分大小写,
3、只能由字母与数字组成
4、用户名长度为6~16
角色维护
6.6.7WebService接口模块(详见接口设计部分)
6.6.8
1、最新版本查询
2、
HSWORK处理查询请求流程
UE查询版本时序图
3、终端信息上报
4、
5、升级包下载
6、
7接口设计
8
8.1终端通讯接口
8.2
8.2.1最新版本查询
8.2.2
请求消息接口:
GET/newversionHTTP/1.1\r\n
Host:
\r\n
Date:
Wed,12Apr201117:
50:
00GMT\r\n
X-HOJY-Version:
V1312R01C01S99\r\n
X-HOJY-Authorization:
HOJY_c8fdb181845a4ca6b8fec737b3581d76\r\n
X-HOJY-IMEI:
12234567890000\r\n
X-HOJY-SN:
1234567898888\r\n\r\n
注:
X-HOJY-Authorization验证码计算方法如下:
"X-HOJY-Authorization:
HOJY_"+MD5(MD5(X-HOJY-IMEI+X-HOJY-SN)+“\n”+DATE+“\n”+RequestResource)
其中:
DATE表示此次操作的时间
RequestResource表示http请求中的资源,如此样例中为:
/newversion
DATE和RequestResource不能为空
响应消息接口:
HTTP/1.1200OK
Date:
Wed,01Mar201112:
00:
00GMT
Content-Type:
application/xml
Content-Length:
302
Connection:
close
Server:
HServer
xmlversion="1.0"encoding="UTF-8"?
>
V1312R01C01S99
1
firmwarename
简体中文描述
firmwarereleaseDescription
c61ce360a734c018685fbf5e1662c0fd
16787
0
0
0
http:
//10.0.0.1/hswork/update.zip
http:
//10.0.0.2/hswork/update.zip
字段说明
序号
字段名
意义
长度
备注
1
ver
版本
参考《13-产品版本管理办法A_2.pdf》中嵌入式软件版本长度
2
num
文件数量
暂不启用,默认值为:
1
3
name
名称
暂不启用
4
desc_cn
中文说明
暂不启用
5
desc_en
英文说明
暂不启用
6
md5
MD5检验码
32
7
size
大小
8
level
层级:
0-无差分,完整升级;1-部分差分;2-完全差分;
暂不启用,默认值为:
0
9
needbackup
是否需要备份:
0-不需要;1-需要;
暂不启用,默认值为:
0
10
needrestart
是否需要重启:
0-不需要;1-需要;
暂不启用,默认值为:
0
11
downloadurl
update.zip下载URL
255
注:
如无最新的版本则返回201消息。
样例如下:
HTTP/1.1201OK
Date:
Wed,01Mar201112:
00:
00GMT
Content-Length:
0
Connection:
close
Server:
HServer
8.2.3终端信息上报
8.2.4
请求消息接口:
PUT/deviceinfoHTTP/1.00\r\n
Host:
\r\n
Date:
Wed,12Apr201117:
50:
00GMT\r\n
Content-Md5:
c8fdb181845a4ca6b8fec737b3581d76\r\n
Content-Type:
text/plain\r\n
X-HOJY-Authorization:
HOJY_c8fdb181845a4ca6b8fec737b3581d76\r\n
X-HOJY-IMEI:
12234567890000\r\n
X-HOJY_SN:
1234567898888\r\n\r\n
{$data}
响应消息接口:
HTTP/1.1200OK
Date:
Wed,01Mar201112:
00:
00GMT
8.2.5升级包下载
8.2.6
8.3业务系统用户接口
8.4
登录界面
主体界面
新增版本信息
发布升级包
9可测试性设计
10
日志输出
privatestaticfinalLoggerlogger=LoggerFactory.getLogger(AjaxController.class);
logger.debug("Receivedrequesttogetallusers");
目录:
${TOMCAT}/logs
日志文件:
catalina.out
11可移植性设计
12
OSS部分将会与GOOGLE,亚马逊API集成
InterfaceCloudStorageDrive{
//TODO输入你的accessId和accessKey
staticStringaccessId;
staticStringaccessKey;
staticStringossEndpoint;
//TODO输入你的bucket名称
publicstaticStringbucketName="hswork";
//TODO输入你的object名称
publicstaticStringobjectName="update.zip";
//上传文件接口
publicstaticvoiduploadFile()throwsException{}
publicstaticvoiddeleteFile()throwsException{}
}
//阿里云存储服务
ClassAliOssimplements CloudStorageDrive{}
//亚马逊云存储服务
ClassAmazonS3Eximplements CloudStorageDrive{}
13异常设计
14
14.1软件系统的异常描述
14.2
针对上传更新包,由于系统限制为最大的升级步长,则需要判断最新版本与基础版本的步长是否大于3,如果是,则需要提醒用户,异常数据。
14.3软件系统的风险描述
14.4
无。
15其他设计
16
16.1配置设计
16.2
部署数据库初始化配置
系统数据持久层配置
系统登录鉴权配置
16.3数据库设计
16.4
17附录
18
18.1软件开发环境
18.2
开发框架:
Spring3.1.0+MyBatis+jQuery1.7.2+jqGrid4.1.1+jQueryUI1.8.19
数据库:
mysql5.0+
Web服务器:
tomcat
JDK环境:
jdk7+
开发环境:
JSP、MYSQL:
xampp-win32-1.7.7-VC9.7z
开发工具:
springsource-tool-suite-2.9.1.RELEASE-e3.7.2-win32.zip
18.3软件生产环境
18.4
数据库:
mysql5.0.8
Web服务器:
CentOSrelease5.7+Tomcat/7.0.27
JDK环境:
jdk1.7.0_02-b13
18.5关键点的附录
18.6
说明软件系统引用的关键技术,关键算法,关键接口等,在上面不好展开说明,都可在附录详细描述。