软件概要设计说明书范例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XX概要设计说明书
文档修改记录
填写说明
1. 系统结构的定义
本体系对整个软件系统按如下结构方式进行划分:系统→子系统→模块→子模块
其中:
(1)“系统→子系统”划分属于“系统设计”,在系统设计说明书中予以描述。
(2)“子系统→模块”划分属于“概要设计”,在本说明书中予以描述。
(3)“模块→子模块”划分属于“详细设计”,在详细设计说明书中予以描述。如果系统相对简单,可以省略“子模块”这一层次。
2. 如果填写了系统设计说明书,则在本说明书中略过“系统→子系统”划分的相关容(即第2章)。
3. 如果系统相对简单,不需要做“系统→子系统”划分,这种情况下,取消填写系统设计说明书,只须填写本说明书,直接套用“子系统→模块”划分(即第3章)进行“系统→模块”划分(把其中“子系统”一词替换为“系统”),并删除本说明书中“系统→子系统”划分的相关容(第2章)。
目录
1.简介1
1.1.背景和目的1
1.2.围1
1.3.术语和缩略语1
2.系统总体设计1
2.1.任务概述2
2.1.1.目标2
2.1.2.需求概述2
2.2.设计概述2
2.2.1.总体约束2
2.2.2.系统外部接口2
2.2.
3.设计方案概述2
2.3.系统架构设计3
2.3.1.系统的逻辑架构设计3
2.3.2.系统的物理架构设计5
2.4.子系统定义5
2.4.1.子系统列表5
2.4.2.子系统间关系6
3.子系统1设计6
3.1.任务概述7
3.1.1.目标7
3.1.2.需求概述7
3.2.设计概述7
3.2.1.总体约束7
3.2.2.子系统外部接口8
3.2.3.设计方案概述9
3.3.子系统架构设计10
3.4.模块定义11
3.4.1.模块列表11
3.4.2.模块间关系12
3.4.3.模块描述12
4.非功能性需求的实现方案13
6.1.性能的考虑13
6.2.兼容性的考虑14
6.3.安全的考虑14
6.4.可移植性的考虑14
6.5.集成与测试的考虑14
6.6.可扩展性的考虑14
6.7.可靠性的考虑15
6.8.可维护性的考虑15
5.难点及解决方案15
6.参考资料15
7.附录16
1. 简介
1.1. 背景和目的
本文档编制的目的是说明对软件系统的设计考虑,包括软件系统的基本处理流程,软件系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计奠定基础。
1.2. 围
本文档适用于消息推送项目二期产品的服务端。
1.3. 术语和缩略语
2. 系统总体设计
{ 裁剪说明:如果已编写系统设计说明书,或项目不做“系统 子系统”划分,此章省略;否则部的各节必须按要求填写。}
{“系统──> 子系统”划分。}
{ 目的:1)设计系统整体框架:系统最高层次的逻辑结构、物理结构;
2)子系统的划分与依赖关系定义、子系统之间的接口定义、子系统功能定义。}
2.1. 任务概述
2.1.1. 目标
实现目标和功能。
2.1.2. 需求概述
参考“软件需求规格说明书_V1.0.doc”。
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层:运营平台、第三方推送平台。
2.3.1.2. 多IDC服务器架构图
需要整理