版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件概要设计说明书拟制某某某日期2018年10月20日审核日期批准日期文档修改记录修改日期版本/状态作者修改章节修改描述2017-1017某某某初版发布填写说明1. 系统结构的定义本体系对整个软件系统按如下结构方式进行划分:系统?子系统?模块?子模块 其中:(1)“系统?子系统”划分属于“系统设计”,在系统设计说明书中予以描述。(2)“子系统?模块”划分属于“概要设计”,在本说明书中予以描述。(3)“模块?子模块”划分属于“详细设计”,在详细设计说明书中予以描述。如果系统相对简单,可以省略“子模块”这一层次。2. 如果填写了系统设计说明书,则在本说明书中略过“系统?子系统”划分的相关内容(即第
2、2章)。3. 如果系统相对简单,不需要做“系统 ?子系统”划分,这种情况下,取消填写系统设计说明书,只须填写本说明书,直接套用“子系统?模块”划分(即第 3章)进行“系统?模块”划分(把其中“子系统”一词替换为“系统”) ,并删除 本说明书中“系统?子系统”划分的相关内容(第 2章)。目录1. 简介1.1. 背景和目的本文档编制的目的是说明对软件系统的设计考虑,包括软件系统的基本处理 流程,软件系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据 结构设计和出错处理设计等,为软件的详细设计奠定基础。1.2. 范围本文档适用于消息推送项目二期产品的服务端1.3. 术语和缩略语缩略语英文全
3、名中文解释XMPPTheExte nsibleMessag ingan dPrese neeProtocol可扩展通讯和表示协议2. 系统总体设计裁剪说明:如果已编写系统设计说明书,或项目不做“系统?子系统”划分,此章省略;否则内部的各节必须按要求填写。 “系统 子系统”划分。目的:1)设计系统整体框架:系统最高层次的逻辑结构、物理结构;2)子系统的划分与依赖关系定义、子系统之间的接口定义、子系统功能定义。1.1. 任务概述1.1.1. 目标实现目标和功能。1.1.2. 需求概述参考“软件需求规格说明书”1.2.设计概述1.2.1.总体约束1.2.2.系统外部接口1.2.3.设计方案概述建立一
4、套即时通讯&消息推送的解决方案:1)云端运用spring+mina+jgroups建立一个分布式的服务端系统,以XMPP 协议提供接口;2)终端运用smack建立一个XMPP协议的客户端,调用协议接口实现消息接 收和终端展示。1.3. 系统架构设计1.3.1. 系统的逻辑架构设计131.1. 单IDC服务器架构图分六层结构:负载均衡层、接入层、逻辑处理层、数据访问层、数据层、WEB层。1)负载均衡层:TV终端通过域名访问云端,DNS智能解析终端的IP地址让 它连接就近的分发服务器,从 分发服务器 获取接入服务器列表,然后断幵 XMPP连接;2)接入层:TV终端和接入服务器建立XMPP长
5、连接,创建会话;3)逻辑处理层:终端协议服务器、推送服务器(RS、统计服务器。a)终端协议服务器:终端往接入服务器发送协议包,接入服务器转发给终端协议服务器处理;b)推送服务器:负责从MQ取出消息、解析消息(条件体和消息体)、终 端在线和离线查询、按各接入服务器有哪些终端登录把消息包分发给 接入服务器;c)统计服务器:运用quartz执行定时任务,实现终端每天在线数、终端 每小时在线数、终端每天激活数、终端登录次数、消息推送结果等统 计功能4)数据访问层:提供数据访问组件,如MysqlJDBC接口、jedis缓存接口提供第三方推送接口,供第三方云端调用的API,提供单点推送(明消息/暗消息)、
6、条件(区域+机型)推送、regid推送。5)数据层:Mongodb集群,Mysql数据库(主从+读写分离),ActiveMQ消息队列,Redis缓存服务器。6)WEB层:运营平台、第三方推送平台。1312 多IDC服务器架构图Ttu1.32 系统的物理架构设计1.4. 子系统定义1.4.1. 子系统列表子系统编号子系统名称(标识)功能描述幵发方式1运营平台子系统由超级管理员和运营人员使用,提 供第三方管理、基础数据、消息管 理、运维、统计、系统设置、日志 查询等功能。自行幵发2第三方推送接口子系统供第三方云端调用的 API,提供单点推送(明消息 /暗消息)、条件自行幵发(区域+机型)推送、re
7、gid推送。3第三方推送平台子系统给第三方使用,提供幵发者账号注 册、应用管理、消息发布、消息推 送结果查询等功能。自行幵发4推送服务器子系统云端的一个逻辑服务器,实现从 MQ 取出消息、解析消息(条件体和消 息体)、终端在线和离线查询、按 各接入服务器有哪些终端登录把消 息包分发给接入服务器。自行幵发5后台任务子系统云端的后台任务系统,运用quartz执行疋时任务,头现终端每天在线 数、终端每小时在线数、终端每天 激活数、终端登录次数、消息推送 结果等统计功能。自行幵发6云端与终端接 口:分发服务 器、接入服务 器、终端协议服 务器为消息盒子终端提供云端接口,用 XMPP协议。提供获取接入服
8、务器列 表、电视终端获取唯一标识 userid、以 userid 登录认证、建 立会话及长连接、推送消息、反馈 消息接收和点击情况、终端应用激 活上报等协议。自行幵发7云端集群在云端用JGroups技术组建一个集自行幵发群,管理各逻辑服务器,实现各成 员之间的通讯、成员状态反馈、成 员列表维护等功能。注:幵发方式可选:采购、外包、自行幵发、复用。1.42子系统间关系裁剪说明:必填明确子系统之间的调用关系、子系统间的接口(消息、数据结构)以及相关子系统之间的协同工作,可以使用结构图、(交互)事务图、消息序列图、ER图描述。3. 子系统1设计裁剪说明:必填标题上加入子系统的编号及名称(标识) “子
9、系统一一 模块”划分。目的:1)设计子系统整体框架:子系统的逻辑结构;2)模块的划分与依赖关系定义、模块之间的接口定义、模块功能定 义。1.5. 任务概述1.5.1. 目标裁剪说明:可选说明设计意图目标(总目标、分期目标)、作用范围等。1.52 需求概述裁剪说明:可选解释软件产品将完成或不完成的功能(可以直接描述也可以参考相关文档) 1.6. 设计概述1.6.1. 总体约束1.6.1.1. 开发规范(1)编码约定规定代码体系、模块之间的接口和命名规则。(2)文件约定规定子系统的所有配置、日志等文件命名方式与格式。(3)目录约定规定子系统的目录结构,包括运行目录、源文件目录、配置目录、日志目录、
10、数据目录等。1.6.1.2. XX约束列出对软件设计有重要影响的系统内外部约束和限制,可选的约束包括:?用户环境?内存或其它资源限制?数据存储和分发需求?安全和可靠性需求?性能需求?测试和可维护性需求1.62子系统外部接口裁剪说明:如果第2章已删除,这里必填(如果有)。描述该软件子系统与外部实体的接口,包括用户界面、软件接口、硬件接口 和通信接口。软件子系统的外部实体,包括:操作系统、驱动程序、硬件、中断、其它软 件子系统等。描述待幵发软件子系统与外部实体的关系,可以使用系统架构图、顶层数据 流图、事务图等来描述系统结构和交互关系,并标示出外部实体和本系统相互作 用的性质(比如:消息、库调用)
11、和类型(比如:0酿务、通信服务、系统工具等)。详细描述子系统外部接口的参数,如:?接口名称?调用方式??传输的数据:-哪些数据项? ?-数据格式? ?-长度? ? -类型? ??频度(实时/批处理)??数据同步机制??平台无关性? ?遵循的标准??提供的功能??前置条件??后置条件?163.设计方案概述裁剪说明:必填。如果在“设计概述”中已描述过的部分,可略。描述内容包括:(1)整个设计所采用的方法:面向对象设计还是结构化设计(2)采用的系统架构:例如 MVC架构、N层架构(3) 使用的相应技术和工具:例如OMT Rose Visio(4)采用的框架技术的形式(5)使用的设计模式:层模式、微内
12、核模式、代理模式等(6)描述资源/内存分配,Flash资源/文件分配(7)描述哪些模块采用软件复用1.7. 子系统架构设计裁剪说明:必填定义子系统的总体逻辑结构,定义模块划分以及模块之间的依赖关系。可以采用分层结构描述如何将子系统分解为模块。结构描述可以使用结构图、层次分解图、数据流图,并用文字说明相互间的关系。举例,绘制结构图如下:具有继承等关系的类图的可使用UML等工具画出关系图,如下:1.8.模块定义3.1.1.模块列表裁剪说明:必填列举模块时,可以采用表格方式(编号可以省略)。com. tel c ommon. c sh are. widgetcom.tcl. common, csha
13、reLoainActivityBaseTabActlvktvcom. tel. e ommon. e sh are. ht tpMy Home ActivityWeibgCq ntentAc tivitycom. tel, c QmrnQiri- q share, d bP os tW eiboActivityMySpaceAetMtycom. tcLcornmon. cshare. dmSearchA 匚 tiHiityWfiibaMgrLoaoutActIvlityc om. tcL commo n. c share, utilcom t 匚 L com mon-cshareB eMcep
14、ti anweiboAan droid模块编号模块名称(标功能简述幵发方式识)注:幵发方式可选:采购、外包/自行幵发/复用3.12模块间关系裁剪说明:必填明确模块之间的调用关系、模块间的接口(消息、数据结构)以及相关模块之间的协同工作,如模块间时序图,协作图,以及系统之间状态切换流程图。3.1.3. 模块描述3.1.3.1. 模块 1标题上加入模块的编号及名称(标识)1)功能描述裁剪说明:必填说明该模块具备什么样的基本功能,以及每个功能之间的相互关系。2)性能描述裁剪说明:必填说明对模块的性能要求,包括精度、时间特性和处理速度。3)接口描述裁剪说明:必填说明与其它模块的接口,与其它系统或硬件的
15、接口。对于接口函数,可以采用以下形式描述:接口 1: 形式:输入:输出:返回:描述返回什么。描述:总体描述该接口实现的目的。需要明确的信息包括:(1)输入项列出模块每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输 入方式、数量和频度、输入介质等;可以是逻辑层面的输入项,如:图片资源、媒体流、网络数据等,也可以是具体的物理层面的 输入项,如变量1、变量2,等等。(2)输出项列出模块每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围、输 出方式、数量和频度、输出介质等。4)配置描述裁剪说明:可选说明该模块所处的逻辑位置、物理位置,如指明模块放在哪个应用
16、服务器或客户端的哪个目 录、哪个文件(库),或是在数据库内部建立的对象。3.1.32 模块 24. 非功能性需求的实现方案裁剪说明:整章可选6.1. 性能的考虑如:为满足延时、吞吐量等性能,在既定硬件环境约束下所采取的设计方案。62兼容性的考虑对以前版本的兼容,以及平滑升级的考虑。63安全的考虑如:作为应用软件,在安全方面更多的是考虑访问控制,包括使用什么样的权限管理、分配、验证方案。64可移植性的考虑系统如果有跨平台的需求,要考虑操作系统、中间件、应用服务器特性、数据库及第三方服务移植。描述如何在不同的平台移植,是否为可配置的?6.5. 集成与测试的考虑各个子系统以及模块以什么先后次序进行幵发、集成(组装)和测试,即是采用自底向上法还是自顶向下法。6.6. 可扩展性的考虑不仅有对系统功能扩展的设计考虑,还要考虑系统的性能扩展,即可伸缩性。即考虑:(1)如何最低成本地添加新的功能? (2)如何最低成本的复制一个新系统,并且新旧系统可以做成统一体?6.7. 可靠性的考虑对故障检测、故障隔离、故障恢复、容错、冗余、备份的设计考虑。68可维护性的考虑内容应涉及:(1)系统模块是否可以装配?功能模块是否可以配置?整个系统是否已经 参数化?(2)提供什么样的维护方式、接口及介面?
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老年认知康复游戏开发师岗位招聘考试试卷及答案
- 2025 九年级道德与法治上册两个一百年奋斗目标课件
- 民航机场消防安全管理指南
- 水利工程设计施工与验收规范
- 保险行业理赔操作规范指南
- 企业质量管理体系建设与实施手册
- 项目进度与风险管理手册
- 建筑工程项目合同管理指南
- 采购管理流程与规范
- 轻工食品生产与质量控制规范
- 液压与气动应用技术(第3版)课件 任务5-2汽车起重机支腿的控制回路的设计与应用
- 2026年湖南现代物流职业技术学院单招职业技能考试题库含答案
- 小学阶段关联词重点归纳
- 华住协议书酒店
- 高标准农田建设工程质量专项整治技术手册
- 海关面试题目解析及答案
- 2025年江西省农村(社区)“多员合一岗”工作人员招聘考试历年参考题库含答案详解(5套)
- (高清版)DB44∕T 1075-2012 《蒸压陶粒混凝土墙板》
- 体育场馆方案汇报
- 2025中国西电集团校园招聘笔试历年参考题库附带答案详解
- 变电站综合自动化课件 二次回路识图
评论
0/150
提交评论