《软件概要设计说明书范例.docx》由会员分享,可在线阅读,更多相关《软件概要设计说明书范例.docx(20页珍藏版)》请在三一办公上搜索。
1、模板编号GEN_WEB某某某有限公司模板版本V3.0XX 概要设计说明书拟制某某某日期2018 年10月20日审核日期批准日期版权所有侵权必究模板编号GEN_WEB某某某有限公司模板版本V3.0文档修改记录修改日期版本 / 状态作者修改章节修改描述2017-10-17V1.0某某某初版 V1.0 发布版权所有侵权必究模板编号GEN_WEB某某某有限公司模板版本V3.0填写说明1. 系统结构的定义本体系对整个软件系统按如下结构方式进行划分:系统子系统模块子模块其中:( 1)“系统子系统”划分属于“系统设计”,在系统设计说明书中予以描述。( 2)“子系统模块”划分属于“概要设计”,在本说明书中予以
2、描述。( 3)“模块 子模块”划分属于“详细设计”,在详细设计说明书中予以描述。如果系统相对简单,可以省略“子模块”这一层次。2. 如果填写了系统设计说明书,则在本说明书中略过“系统子系统”划分的相关内容(即第2章)。3.如果系统相对简单,不需要做“系统子系统”划分,这种情况下,取消填写系统设计说明书,只须填写本说明书,直接套用“子系统模块”划分(即第3 章)进行“系统模块”划分(把其中“子系统”一词替换为“系统”),并删除本说明书中“系统子系统”划分的相关内容(第 2 章)。版权所有侵权必究模板编号GEN_WEB某某某有限公司模板版本V3.0目录1.简介 .11.1.背景和目的 .11.2.
3、范围 .11.3.术语和缩略语 .12.系统总体设计.12.1.任务概述 .22.1.1.目标 .22.1.2.需求概述 .22.2.设计概述 .22.2.1.总体约束 .22.2.2.系统外部接口 .22.2.3.设计方案概述 .22.3.系统架构设计 .32.3.1.系统的逻辑架构设计 .32.3.2.系统的物理架构设计 .42.4.子系统定义 .52.4.1.子系统列表 .52.4.2.子系统间关系 .53.子系统 1 设计.63.1.任务概述 .63.1.1.目标 .63.1.2.需求概述 .63.2.设计概述 .63.2.1.总体约束 .63.2.2.子系统外部接口 .73.2.3.
4、设计方案概述 .83.3.子系统架构设计 .83.4.模块定义 .10版权所有侵权必究模板编号GEN_WEB某某某有限公司模板版本V3.03.4.1.模块列表 .103.4.2.模块间关系 .113.4.3.模块描述 .114. 非功能性需求的实现方案. 126.1.性能的考虑 .126.2.兼容性的考虑 .136.3.安全的考虑 .136.4.可移植性的考虑 .136.5.集成与测试的考虑. 136.6.可扩展性的考虑 .136.7.可靠性的考虑 .136.8.可维护性的考虑 .145.难点及解决方案. 146.参考资料 .147.附录 .15版权所有侵权必究模板编号GEN_WEB某某某有限
5、公司模板版本V3.01. 简介1.1. 背景和目的本文档编制的目的是说明对软件系统的设计考虑,包括软件系统的基本处理流程,软件系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计奠定基础。1.2. 范围本文档适用于消息推送项目二期产品的服务端。1.3. 术语和缩略语缩略语英文全名中文解释XMPPTheExtensibleMessagingandPresence可扩展通讯和表示协议Protocol2. 系统总体设计 裁剪说明:如果已编写系统设计说明书,或项目不做“系统子系统”划分,此章省略;否则内部的各节必须按要求填写。“系统 子系统”划分。 目
6、的: 1)设计系统整体框架:系统最高层次的逻辑结构、物理结构;2)子系统的划分与依赖关系定义、子系统之间的接口定义、子系统功能定义。版权所有侵权必究1模板编号GEN_WEB某某某有限公司模板版本V3.02.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 协议的客
7、户端,调用协议接口实现消息接收和终端展示。版权所有侵权必究2模板编号GEN_WEB某某某有限公司模板版本V3.02.3. 系统架构设计2.3.1. 系统的逻辑架构设计2.3.1.1.单 IDC 服务器架构图分六层结构:负载均衡层、接入层、逻辑处理层、数据访问层、数据层、WEB 层。1) 负载均衡层: TV 终端通过域名访问云端, DNS 智能解析 终端的 IP 地址让它连接就近的分发服务器,从 分发服务器 获取接入服务器列表,然后断开XMPP 连接;2) 接入层: TV 终端和 接入服务器 建立 XMPP 长连接,创建会话;3) 逻辑处理层:终端协议服务器、推送服务器(RS )、统计服务器。a
8、) 终端协议服务器 :终端往接入服务器发送协议包,接入服务器转发给终端协议服务器处理;b) 推送服务器 :负责从 MQ 取出消息、解析消息(条件体和消息体) 、终端在线和离线查询、按各接入服务器有哪些终端登录把消息包分发给接入服务器;版权所有侵权必究3模板编号GEN_WEB某某某有限公司模板版本V3.0c) 统计服务器:运用 quartz 执行定时任务,实现终端每天在线数、终端每小时在线数、终端每天激活数、终端登录次数、消息推送结果等统计功能。4) 数据访问层:提供数据访问组件,如Mysql JDBC 接口、 jedis 缓存接口。提供第三方推送接口,供第三方云端调用的 API ,提供单点推送
9、(明消息 /暗消息)、条件(区域 +机型)推送、 regid 推送。5)数据层:Mongodb集群, Mysql 数据库(主从+读写分离),ActiveMQ消息队列, Redis 缓存服务器。6) WEB 层:运营平台、第三方推送平台。2.3.1.2.多 IDC 服务器架构图需要整理2.3.2. 系统的物理架构设计版权所有侵权必究4模板编号GEN_WEB某某某有限公司模板版本V3.02.4.子系统定义2.4.1. 子系统列表子系统编号子系统名称(标识)1运营平台子系统第三方推送接口子系2统第三方推送平台子系3统4推送服务器子系统5后台任务子系统云端与终端接口:分6发服务器、接入服务器、终端协议
10、服务器7云端集群功能描述开发方式由超级管理员和运营人员使用,提供第三方管理、基础数据、消息管理、运维、统计、 自行开发系统设置、日志查询等功能。供第三方云端调用的API ,提供单点推送(明消息 / 暗消息)、条件(区域 + 机型)推自行开发送、 regid 推送。给第三方使用,提供开发者账号注册、应用管理、消息发布、消息推送结果查询等功自行开发能。云端的一个逻辑服务器,实现从MQ 取出消息、解析消息(条件体和消息体)、终端自行开发在线和离线查询、按各接入服务器有哪些终端登录把消息包分发给接入服务器。云端的后台任务系统,运用quartz执行定时任务,实现终端每天在线数、终端每小时自行开发在线数、
11、终端每天激活数、终端登录次数、消息推送结果等统计功能。为消息盒子终端提供云端接口,用XMPP协议。提供获取接入服务器列表、电视终端获取唯一标识userid 、以 userid登录认自行开发证、建立会话及长连接、推送消息、反馈消息接收和点击情况、终端应用激活上报等协议。在云端用 JGroups技术组建一个集群,管理各逻辑服务器,实现各成员之间的通讯、自行开发成员状态反馈、成员列表维护等功能。注:开发方式可选:采购、外包、自行开发、复用。2.4.2. 子系统间关系 裁剪说明:必填 明确子系统之间的调用关系、子系统间的接口(消息、数据结构)以及相关子系统之间的协同工作,可以使用结构图、(交互)事务图
12、、消息序列图、ER 图描述。 版权所有侵权必究5模板编号某某某有限公司模板版本3. 子系统 1 设计 裁剪说明:必填 标题上加入子系统的编号及名称(标识)“子系统 模块”划分。 目的: 1)设计子系统整体框架:子系统的逻辑结构;2)模块的划分与依赖关系定义、模块之间的接口定义、模块功能定义。3.1. 任务概述3.1.1.目标 裁剪说明:可选 说明设计意图目标(总目标、分期目标)、作用范围等。3.1.2.需求概述 裁剪说明:可选GEN_WEBV3.0 解释软件产品将完成或不完成的功能(可以直接描述也可以参考相关文档)3.2. 设计概述3.2.1.总体约束3.2.1.1. 开发规范 裁剪说明:可选
13、。如果已填写在2.2.1.1 ,此处则略。( 1)编码约定 规定代码体系、模块之间的接口和命名规则。版权所有侵权必究6模板编号GEN_WEB某某某有限公司模板版本V3.0( 2)文件约定 规定子系统的所有配置、日志等文件命名方式与格式。( 3)目录约定 规定子系统的目录结构,包括运行目录、源文件目录、配置目录、日志目录、数据目录等。3.2.1.2. 约束 裁剪说明:可选。如果已填写在2.2.2.2 ,此处则略。 列出对软件设计有重要影响的系统内外部约束和限制,可选的约束包括:? 用户环境? 内存或其它资源限制? 数据存储和分发需求? 安全和可靠性需求? 性能需求? 测试和可维护性需求 3.2.
14、2.子系统外部接口 裁剪说明:如果第2 章已删除,这里必填(如果有)。 描述该软件子系统与外部实体的接口,包括用户界面、软件接口、硬件接口和通信接口。 软件子系统的外部实体,包括:操作系统、驱动程序、硬件、中断、其它软件子系统等。 描述待开发软件子系统与外部实体的关系,可以使用系统架构图、顶层数据流图、事务图等来描述系统结构和交互关系,并标示出外部实体和本系统相互作用的性质(比如:消息、库调用)和类型(比如: OS 服务、通信服务、系统工具等)。 详细描述子系统外部接口的参数,如:? 接口名称? 调用方式? 传输的数据:哪些数据项?版权所有侵权必究7模板编号GEN_WEB某某某有限公司模板版本
15、V3.0数据格式?长度?类型?? 频度(实时 / 批处理)? 数据同步机制? 平台无关性? 遵循的标准? 提供的功能? 前置条件? 后置条件 3.2.3. 设计方案概述 裁剪说明:必填。如果在“3.1 设计概述”中已描述过的部分,可略。 描述内容包括:( 1 )整个设计所采用的方法:面向对象设计还是结构化设计( 2)采用的系统架构:例如MVC 架构、 N 层架构( 3)使用的相应技术和工具:例如OMT 、 Rose 、 Visio( 4 )采用的框架技术的形式( 5 )使用的设计模式:层模式、微内核模式、代理模式等( 6 )描述资源 /内存分配, Flash 资源 /文件分配( 7 )描述哪些
16、模块采用软件复用3.3. 子系统架构设计 裁剪说明:必填 定义子系统的总体逻辑结构,定义模块划分以及模块之间的依赖关系。 可以采用分层结构描述如何将子系统分解为模块。版权所有侵权必究8模板编号GEN_WEB某某某有限公司模板版本V3.0 结构描述可以使用结构图、层次分解图、数据流图,并用文字说明相互间的关系。 举例,绘制结构图如下:具有继承等关系的类图的可使用UML 等工具画出关系图,如下:版权所有侵权必究9模板编号GEN_WEB某某某有限公司模板版本V3.03.4. 模块定义3.4.1. 模块列表 裁剪说明:必填 列举模块时,可以采用表格方式(编号可以省略)。模块编号模块名称(标识)功能简述
17、开发方式版权所有侵权必究10模板编号GEN_WEB某某某有限公司模板版本V3.0注:开发方式可选:采购、外包/自行开发 /复用3.4.2. 模块间关系 裁剪说明:必填 明确模块之间的调用关系、模块间的接口(消息、数据结构)以及相关模块之间的协同工作,如模块间时序图,协作图,以及系统之间状态切换流程图。3.4.3. 模块描述3.4.3.1. 模块 1 标题上加入模块的编号及名称(标识)1 )功能描述 裁剪说明:必填 说明该模块具备什么样的基本功能,以及每个功能之间的相互关系。2 )性能描述 裁剪说明:必填 说明对模块的性能要求,包括精度、时间特性和处理速度。3 )接口描述 裁剪说明:必填 说明与
18、其它模块的接口,与其它系统或硬件的接口。 对于接口函数,可以采用以下形式描述:接口 1:形式:输入:输出:版权所有侵权必究11模板编号GEN_WEB某某某有限公司模板版本V3.0返回:描述返回什么。描述:总体描述该接口实现的目的。 需要明确的信息包括:( 1)输入项列出模块每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入方式、数量和频度、输入介质等;可以是逻辑层面的输入项,如:图片资源、媒体流、网络数据等,也可以是具体的物理层面的输入项,如变量 1、变量 2,等等。( 2)输出项列出模块每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围、输出方式、数量和频度、输出介质等。4 )配置描述 裁剪说明:可选 说明该模块所处的逻辑位置、物理位置,如指明模块放在哪个应用服务器或客户端的哪个目录、哪个文件(库),或是在数据库内部建立的对象。3.4.3.2. 模块 2 同 3.3.3.1 。 4. 非功能性需求的实现方案 裁剪说明