软件概要设计说明书模板_第1页
软件概要设计说明书模板_第2页
软件概要设计说明书模板_第3页
软件概要设计说明书模板_第4页
软件概要设计说明书模板_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、软件概要设计说明书拟制某某某日期2018年10月20日审核日期批准日期文档修改记录修改日期版本/状态作者修改章节修改描述2017-10-17V1.0某某某初版V1.0发布填写说明1 .系统结构的定义本体系对整个软件系统按如下结构方式进行划分:系统子系统 模块 子模块其中:(1) “系统子系统”划分属于“系统设计”,在系统设计说明书中予以描述。(2) “子系统模块”划分属于“概要设计”,在本说明书中予以描述。(3) “模块子模块”划分属于“详细设计”,在详细设计说明书中予以描述。如果系统相对简单,可以省略“子模块”这一层次。2 .如果填写了系统设计说明书,则在本说明书中略过“系统子系统”划分的相

2、关内容(即第 2章)。3 .如果系统相对简单,不需要做“系统子系统”划分,这种情况下,取消填写系统设计说明书,只须填写本说明书,直接套用“子系统模块”划分(即第 3章)进行“系统 模块”划分(把其中“子系统” 一词替换为“系统”),并删除本说明书中“系统 子系统”划分的相关内容(第2章)。1 .简介01.1. 背景和目的01.2. 范围01.3. 术语和缩略语02 .系统总体设计02.1. 任务I述12.1.1. 目标12.1.2. 需求概述12.2. 设计概述12.2.1. 总体约束12.2.2. 系统外部接口 12.2.3. 设计方案概述12.3. 系统架构设计22.3.1. 系统的逻辑架

3、构设计 22.3.2. 系统的物理架构设计 32.4. 子系统定义42.4.1. 子系统歹U表 42.4.2. 子系统间关系 43 . 子系统1设计 53.1. 任务I述53.1.1. 目标53.1.2. 需求概述53.2. 设计概述53.2.1. 总体约束53.2.2. 子系统外部接口 63.2.3. 设计方案概述73.3. 子系统架构设计 73.4. 模块定义93.4.1. 模块列表93.4.2. 模块间关系103.4.3. 模块描述104 .非功能性需求的实现方案 114.1. 性能的考虑 114.2. 兼容性的考虑124.3. 安全的考虑124.4. 可移植性的考虑 124.5. 集成

4、与测试的考虑 124.6. 可扩展性的考虑 124.7. 可靠性的考虑124.8. 可维护性的考虑 135 .难点及解决方案 136 .参考资料137 .附录141 .简介1.1. 背景和目的本文档编制的目的是说明对软件系统的设计考虑,包括软件系统的基本处理流程,软件系统的组 织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详 细设计奠定基础。1.2. 范围本文档适用于消息推送项目二期产品的服务端。1.3. 术语和缩略语缩略语英文全名中文解释XMPPThe Extensible Messaging and PresenceProtocol可扩展通讯和表示协

5、议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+jgrou

6、ps 建立一个分布式的服务端系统,以 XMPP协议提供接口;2) 终端运用smack建立一个XMPP协议的客户端,调用协议接口实现消息接收和终端展示。2.3. 系统架构设计2.3.1. 系统的逻辑架构设计. 单IDC服务器架构图WtBJJ处洋平台第三方根送平价逛辑处理信推逃眠务刷R51业绛服务瑞f判人数据时接)在MPP愠 势 总城接入丫接入眼务器制S)文件眼外期 XginLToiiKHL)低理服务.(PrOiy Server)P2P哌务器 岱 TUN,TURN员更均专乂4臣明舞腑DSI负载均衡层、接入层、逻辑处理层、数据访问层、数据层、WEB 层。分六层结构:1)负载均衡层:TV

7、终端通过域名访问云端,DNS智能解析终端的IP地址让它连接就近的分发服务器,从分发服务器获取接入服务器列表,然后断开XMPP连接;2)接入层:TV终端和接入服务器 建立XMPP长连接,创建会话;3)逻辑处理层:终端协议服务器、推送服务器( RS)、统计服务器。a)终端协议服务器:终端往接入服务器发送协议包,接入服务器转发给终端协议服务器处理;b)推送服务器:负责从 MQ取出消息、解析消息(条件体和消息体)、终端在线和离线查询、按各接入服务器有哪些终端登录把消息包分发给接入服务器;c) 统计服务器:运用 quartz执行定时任务,实现终端每天在线数、终端每小时在线数、终 端每天激活数、终端登录次

8、数、消息推送结果等统计功能。4)数据访问层:提供数据访问组件,如 Mysql JDBC接口、jedis缓存接口。提供第三方推送接 口,供第三方云端调用的API,提供单点推送(明消息/暗消息)、条件(区域+机型)推送、regid推送。5)数据层:Mongodb集群,Mysql数据库(主从+读写分离),ActiveMQ消息队列,Redis缓存服务器。6) WEB层:运营平台、第三方推送平台。. 多IDC服务器架构图需要整理2.3.2. 系统的物理架构设计1DCITV.端2.4. 子系统定义2.4.1. 子系统列表子系统编号子系统名称(标识)功能描述开发方式1运营平台子系统由超级管理员

9、和运营人员使用,提供第三方 管理、基础数据、消息管理、运维、统计、 系统设置、日志查询等功能。自行开发2第三方推送接口子系 统供第二方云端调用的API ,提供单点推送(明消息/暗消息)、条件(区域+机型)推送、regid推送。自行开发3第二方推送平台子系 统给第二方使用,提供开发者账号注册、应用 管理、消息发布、消息推送结果查询等功 能。自行开发4推送服务器子系统云端的一个逻辑服务器,实现从MQ取出消息、解析消息(条件体和消息体)、终端在线和离线查询、按各接入服务器有哪些终 端登录把消息包分发给接入服务器。自行开发5后台任务子系统云端的后台任务系统,运用quartz执行定时任务,实现终端每大在

10、线数、终端每小时 在线数、终端每天激活数、终端登录次数、 消息推送结果等统计功能。自行开发6云端与终端接口:分 发服务器、接入服务 器、终端协议服务器为消息盒子终端提供云端接口,用XMPP协议。提供狄取接入服务器列表、电视终端 族取唯一标识userid、以 userid 登录认证、建立会话及长连接、推送消息、反馈消 息接收和点击情况、终端应用激活上报等协 议。自行开发7云端集群在玄端用JGroups技术组建一个集群,管 理各逻辑服务器,实现各成员之间的通讯、 成员状态反馈、成员列表维护等功能。自行开发注:开发方式可选:采购、外包、自行开发、复用。2.4.2. 子系统间关系裁剪说明:必填 明确子

11、系统之间的调用关系、子系统间的接口(消息、数据结构)以及相关子系统之间的协同工作,可以使用结构图、(交互)事务图、消息序列图、 ER图描述。3 .子系统1设计裁剪说明:必填标题上加入子系统的编号及名称(标识) “子系统 > 模块”划分。目的:1)设计子系统整体框架:子系统的逻辑结构;2)模块的划分与依赖关系定义、模块之间的接口定义、模块功能定义。3.1. 任务概述3.1.1. 目标裁剪说明:可选 说明设计意图目标(总目标、分期目标)、作用范围等。3.1.2. 需求概述裁剪说明:可选 解释软件产品将完成或不完成的功能(可以直接描述也可以参考相关文档)3.2. 设计概述3.2.1. 总体约束

12、. 开发规范裁剪说明:可选。如果已填写在 ,此处则略。(1)编码约定规定代码体系、模块之间的接口和命名规则。(2)文件约定规定子系统的所有配置、日志等文件命名方式与格式。(3)目录约定规定子系统的目录结构,包括运行目录、源文件目录、配置目录、日志目录、数据目录等。. XX 约束裁剪说明:可选。如果已填写在 ,此处则略。列出对软件设计有重要影响的系统内外部约束和限制,可选的约束包括:?用户环境?内存或其它资源限制?数据存储和分发需求?安全和可靠性需求?性能需求?测试和可维护性需求 3.2.2. 子系统外部接口裁剪说明:如果第 2章已删除,这

13、里必填(如果有)。描述该软件子系统与外部实体的接口,包括用户界面、软件接口、硬件接口和通信接口。软件子系统的外部实体,包括:操作系统、驱动程序、硬件、中断、其它软件子系统等。描述待开发软件子系统与外部实体的关系,可以使用系统架构图、顶层数据流图、事务图等来 描述系统结构和交互关系,并标示出外部实体和本系统相互作用的性质(比如:消息、库调用)和类 型(比如:OS服务、通信服务、系统工具等)。详细描述子系统外部接口的参数,如:?接口名称 ?调用方式 ?传输的数据:-哪些数据项?-数据格式?-长度?-类型??频度(实时/批处理)?数据同步机制?平台无关性?遵循的标准?提供的功能?前置条件?后置条件3

14、.2.3. 设计方案概述3.2.4. 必填。如果在“3.1设计概述”中已描述过的部分,可略。描述内容包括:(1)整个设计所采用的方法:面向对象设计还是结构化设计(2)采用的系统架构:例如 MVC架构、N层架构(3)使用的相应技术和工具:例如 OMT、Rose、Visio(4)采用的框架技术的形式(5)使用的设计模式:层模式、微内核模式、代理模式等(6)描述资源/内存分配,Flash资源/文件分配(7)描述哪些模块采用软件复用3.3. 子系统架构设计裁剪说明:必填 定义子系统的总体逻辑结构,定义模块划分以及模块之间的依赖关系。可以采用分层结构描述如何将子系统分解为模块。结构描述可以使用结构图、层

15、次分解图、数据流图,并用文字说明相互间的关系。举例,绘制结构图如下:具有继承等关系的类图的可使用UML等工具画出关系图,如下:pgcom. tel. common, c shareLogin Activitycom. tclcamman. eshre. widget3 一。?WeiboC on Cent ActivityPostWeiboActivityMySpaceActivitySearchAetivitycom. tell, common, eshare-httpcom. tcLco mm on. eshare, dbcom.teliCorrirnon.cshairB-dmLogout

16、Activitycom.tcl. ccmmonc share, utilcom. CcL commo n. eshj re. exc e p tionweibo4android3.4. 模块定义3.4.1.模块列表裁剪说明:必填 列举模块时,可以采用表格方式(编号可以省略)。模块编号模块名称(标识)功能简述开发方式注:开发方式可选:采购、外包 /自行开发/复用3.4.1. 模块间关系裁剪说明:必填 明确模块之间的调用关系、模块间的接口(消息、数据结构)以及相关模块之间的协同工作, 如模块间时序图,协作图,以及系统之间状态切换流程图。3.4.2. 模块描述3.5. 3.1.模块 1标题上加入模块

17、的编号及名称(标识)1)功能描述裁剪说明:必填 说明该模块具备什么样的基本功能,以及每个功能之间的相互关系。2)性能描述裁剪说明:必填 说明对模块的性能要求,包括精度、时间特性和处理速度。3)接口描述裁剪说明:必填 说明与其它模块的接口,与其它系统或硬件的接口。对于接口函数,可以采用以下形式描述:接口 1 :形式:输入: 输出: 返回:描述返回什么。描述:总体描述该接口实现的目的。需要明确的信息包括:(1)输入项列出模块每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入 方式、数量和频度、输入介质等;可以是逻辑层面的输入项,如:图片资源、媒体流、网络数据等,也可以是具

18、体的物理层面的输 入项,如变量1、变量2,等等。(2)输出项列出模块每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围、输出 方式、数量和频度、输出介质等。4)配置描述裁剪说明:可选 说明该模块所处的逻辑位置、物理位置,如指明模块放在哪个应用服务器或客户端的哪个目录、哪个文件(库),或是在数据库内部建立的对象。3.4.32 模块 2同 。4.非功能性需求的实现方案裁剪说明:整章可选 6.1. 性能的考虑如:为满足延时、吞吐量等性能,在既定硬件环境约束下所采取的设计方案。6.2. 兼容性的考虑对以前版本的兼容,以及平滑升级的考虑。6.3. 安全的考虑如:作为应用软件,在安全方面更多的是考虑访问控制,包括使用什么样的权限管理、分配、 验证方案。6.4. 可移植性的考虑系

温馨提示

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

评论

0/150

提交评论