XX概要设计说明书文档修改记录填写说明1. 系统结构的定义本体系对整个软件系统按如下结构方式进行划分:系统子系统模块子模块其中:(1)“系统子系统”划分属于“系统设计”,在系统设计说明书中予以描述。
(2)“子系统模块”划分属于“概要设计”,在本说明书中予以描述。
(3)“模块子模块”划分属于“详细设计”,在详细设计说明书中予以描述。
如果系统相对简单,可以省略“子模块”这一层次。
2. 如果填写了系统设计说明书,则在本说明书中略过“系统子系统”划分的相关内容(即第2章)。
3. 如果系统相对简单,不需要做“系统子系统”划分,这种情况下,取消填写系统设计说明书,只须填写本说明书,直接套用“子系统模块”划分(即第3章)进行“系统模块”划分(把其中“子系统”一词替换为“系统”),并删除本说明书中“系统子系统”划分的相关内容(第2章)。
目录1. 简介 ................................................................ 错误!未定义书签。
. 背景和目的.................................................... 错误!未定义书签。
. 范围.......................................................... 错误!未定义书签。
. 术语和缩略语.................................................. 错误!未定义书签。
2. 系统总体设计 ........................................................ 错误!未定义书签。
. 任务概述...................................................... 错误!未定义书签。
目标 .................................................... 错误!未定义书签。
需求概述 ................................................ 错误!未定义书签。
. 设计概述...................................................... 错误!未定义书签。
总体约束 ................................................ 错误!未定义书签。
系统外部接口 ............................................ 错误!未定义书签。
设计方案概述 ............................................ 错误!未定义书签。
. 系统架构设计.................................................. 错误!未定义书签。
系统的逻辑架构设计 ...................................... 错误!未定义书签。
系统的物理架构设计 ...................................... 错误!未定义书签。
. 子系统定义.................................................... 错误!未定义书签。
子系统列表 .............................................. 错误!未定义书签。
子系统间关系 ............................................ 错误!未定义书签。
3. 子系统1设计 ........................................................ 错误!未定义书签。
. 任务概述...................................................... 错误!未定义书签。
目标 .................................................... 错误!未定义书签。
需求概述 ................................................ 错误!未定义书签。
. 设计概述...................................................... 错误!未定义书签。
总体约束 ................................................ 错误!未定义书签。
子系统外部接口 .......................................... 错误!未定义书签。
设计方案概述 ............................................ 错误!未定义书签。
. 子系统架构设计................................................ 错误!未定义书签。
. 模块定义...................................................... 错误!未定义书签。
模块列表 ................................................ 错误!未定义书签。
模块间关系 .............................................. 错误!未定义书签。
模块描述 ................................................ 错误!未定义书签。
4. 非功能性需求的实现方案............................................... 错误!未定义书签。
. 性能的考虑.................................................... 错误!未定义书签。
. 兼容性的考虑.................................................. 错误!未定义书签。
. 安全的考虑.................................................... 错误!未定义书签。
. 可移植性的考虑................................................ 错误!未定义书签。
. 集成与测试的考虑.............................................. 错误!未定义书签。
. 可扩展性的考虑................................................ 错误!未定义书签。
. 可靠性的考虑.................................................. 错误!未定义书签。
. 可维护性的考虑................................................ 错误!未定义书签。
5. 难点及解决方案 ...................................................... 错误!未定义书签。
6. 参考资料 ............................................................ 错误!未定义书签。
7. 附录 ................................................................ 错误!未定义书签。
1.简介1.1.背景和目的本文档编制的目的是说明对软件系统的设计考虑,包括软件系统的基本处理流程,软件系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计奠定基础。
1.2.范围本文档适用于消息推送项目二期产品的服务端。
1.3.术语和缩略语缩略语英文全名中文解释XMPP The Extensible Messaging and Presence可扩展通讯和表示协议Protocol2.系统总体设计{ 裁剪说明:如果已编写系统设计说明书,或项目不做“系统子系统”划分,此章省略;否则内部的各节必须按要求填写。
}{“系统──> 子系统”划分。
}{ 目的:1)设计系统整体框架:系统最高层次的逻辑结构、物理结构;2)子系统的划分与依赖关系定义、子系统之间的接口定义、子系统功能定义。
}2.1.任务概述2.1.1.目标实现目标和功能。
2.1.2.需求概述参考“软件需求规格说明书。
2.2.设计概述2.2.1.总体约束2.2.2.系统外部接口2.2.3.设计方案概述建立一套即时通讯&消息推送的解决方案:1)云端运用spring+mina+jgroups建立一个分布式的服务端系统,以XMPP协议提供接口;2)终端运用smack建立一个XMPP协议的客户端,调用协议接口实现消息接收和终端展示。
2.3.系统架构设计2.3.1.系统的逻辑架构设计2.3.1.1.单IDC服务器架构图分六层结构:负载均衡层、接入层、逻辑处理层、数据访问层、数据层、WEB层。
1)负载均衡层:TV终端通过域名访问云端,DNS智能解析终端的IP地址让它连接就近的分发服务器,从分发服务器获取接入服务器列表,然后断开XMPP连接;2)接入层:TV终端和接入服务器建立XMPP长连接,创建会话;3)逻辑处理层:终端协议服务器、推送服务器(RS)、统计服务器。
a)终端协议服务器:终端往接入服务器发送协议包,接入服务器转发给终端协议服务器处理;b)推送服务器:负责从MQ取出消息、解析消息(条件体和消息体)、终端在线和离线查询、按各接入服务器有哪些终端登录把消息包分发给接入服务器;c)统计服务器:运用quartz执行定时任务,实现终端每天在线数、终端每小时在线数、终端每天激活数、终端登录次数、消息推送结果等统计功能。
4)数据访问层:提供数据访问组件,如Mysql JDBC接口、jedis缓存接口。
提供第三方推送接口,供第三方云端调用的API,提供单点推送(明消息/暗消息)、条件(区域+机型)推送、regid推送。
5)数据层:Mongodb集群,Mysql数据库(主从+读写分离),ActiveMQ消息队列,Redis缓存服务器。
6)WEB层:运营平台、第三方推送平台。