软件设计说明书子系统分层级的V.docx
- 文档编号:4496696
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:11
- 大小:22.71KB
软件设计说明书子系统分层级的V.docx
《软件设计说明书子系统分层级的V.docx》由会员分享,可在线阅读,更多相关《软件设计说明书子系统分层级的V.docx(11页珍藏版)》请在冰豆网上搜索。
软件设计说明书子系统分层级的V
软件设计说明书
产品发布标识_XXX子系统
[填写说明:
模板中用方括号括起来并以蓝色斜体显示的文本,用于向作者提供指导,在文档编辑完成后应该将其删除。
文档正文应使用常规、黑色、五号字体即系统设置的“正文”样式]
文档页眉处的“xxxx系统”和“版本号”仅为示例,请注意更新封页与页眉符合实际情况。
此处的版本号指的是产品版本号。
封页简要表中的产品名和子系统名,如无可以不填写。
当某一章节如没有内容时,必须注明NA,同时标注理由。
例如:
本节内容无需考虑
特别说明:
当本节内容参见其它文档内容,不能注明N/A,而应该写明参见某文档的具体章节。
]
[特殊说明:
产品对应的相关系统以及逻辑和物理结构划分参照下图]
项目名称
项目编号
项目经理
文档编号
文档版本
V1.0
编制
审批
郑州……公司版权所有
内部资料注意保密
修订记录:
版本号
修订人
修订日期
修订描述
V1.0
张志
2012-02-08
创建
1简介
1.1目的
[描述本设计文档的主要目的。
一般情况下,概要设计的目的是根据产品需求、软件需求文档中对需求的描述,结合架构设计文档中对方案的描述,对具体实现方案进行细化,精确到各模块的功能、实现及其模块之间的交互,指导后续的底层设计、编码、单元测试工作,并对测试工作起到辅助、参考作用。
其他情况请另外说明。
]
1.2文档范围
[简要说明此文档的范围:
它的相关项目以及受到此文档影响的任何其它事物。
例如,本文档适用的产品、模块,覆盖的范围等,受这份文档影响的相关产品、模块等,不在该文档覆盖范围内的但可能引起疑义的问题。
]
1.3预期的读者和阅读建议
[说明此文档的阅读对象,对读者的要求;简要说明此文档中其它章节包含的内容与文档组织方式,对于不同读者的阅读方式建议。
如:
目标读者是系统最终用户、系统分析员、项目经理、产品经理、市场人员等。
]
1.4参考文档
[适当时,提供相关的包含文档及参考文档。
概要设计说明书的参考文档应当包括但不限于:
产品需求说明书,软件需求说明书,架构设计说明书,数据库设计说明书,设计规范等;
同时,文档中说明为引用、参考的文档也应该在这里列出。
参考文档请按包含、相关的关系分别在下面列出。
]
1.4.1包含文档
[包含文档:
作为本概要设计的一部分,不可分割的组成部分,读者阅读本设计说明书时必须同时也阅读的文档。
如数据库设计说明书(如果数据库设计有变更)。
通常情况下概要设计文档没有包含文档]
1.4.2相关文档
[相关文档:
作为引用而列举的文档。
读者在阅读本设计说明书时如果有必要可以参考阅读的文档。
如产品需求说明书、设计规范文档等]
1.5缩略语和术语
[适当时,提供与此文档相关的术语及缩略语的定义。
]
缩略语/术语
全称
说明
2设计原则
[简要描述系统内部设计的原则及外部系统的接口设计原则。
例如,可能的系统内部设计原则包括但不限于:
高响应速度原则(系统的响应速度需要优先考虑的原则),用户交互界面友好优先考虑的原则,可参数化配置原则(通过参数进行功能配置,避免代码升级的原则);可能的接口设计原则包括但不限于:
符合通用标准的原则(采用业界通用标准的原则);
该部分可节选架构设计说明书中的相关内容,并且不得与架构设计说明书中的设计原则相冲突。
]
3设计策略
[描述概要设计的设计策略,这部分要求突出整个设计所采用的方法(是面向对象设计还是结构化设计)。
可节选架构设计中的相关内容]。
4第零层设计描述
4.1概述
[描述本子系统的上下文定义。
描述本子系统的设计概述,可参考或者引用架构设计中的相关内容,以达到从架构设计到概要设计之间的上下关联作用。
通常在“概述”中所需要重点关注的内容包括:
描述本子系统如何与外部实体一道组成功能实体(一般用图描述)
这些实体与本子系统发生交互作用或以某种方式影响本系统/子系统系统,比如,操作系统,驱动程序,硬件,中断,其它软件系统等.
外围实体和本子系统相互作用的性质(比如,消息,库调用)和类型(比如,OS服务,通信服务,系统工具等)。
]
4.2设计约束
4.2.1遵循标准
描述本软件所遵循的标准、规范
4.2.2硬件限制
描述本软件系统实现的硬件限制
4.2.3技术限制
描述本软件的技术限制
4.2.4其它
描述其它有关的设计考虑
5第一层设计描述
5.1模块分解描述
[描述本子系统的逻辑结构与模块的划分,包括模块的划分与各模块间的依赖关系、各模块的总体功能,描述可以使用结构图,层次分解图,自然语言]
5.1.1模块功能列表
模块名称
模块功能描述
[主要描述模块的功能及其意义]
模块1
模块2
模块3
5.1.2模块间交互图
[设计人员可以根据实际情况选择使用交互图、状态图、数据流图中一种或者多种来描述本子系统所有模块的交互关系图(至少需要提供一种示意图),并添加必要的文字描述。
]
5.1.3模块重用设计
[软件重用是利用事先建立好的软件产品创建新软件系统的过程。
这个定义蕴含着软件重用所必须包含的两个方面:
1.系统地开发可重用的软件产品。
这些软件产品可以是代码,但不应该仅仅局限在代码。
必须从更广泛和更高层次来理解,这样才会带来更大的重用收益。
比如软件产品还包括:
软件分析,设计,测试数据,原型,计划,文档,模板,框架等等。
2.系统地使用这些软件产品作为构筑新的软件产品,来建立新的系统。
软件重用的形式(或手段)很多,重用的级别有大有小。
主要有以下几种:
1.源代码模块或者类一级的重用。
这是最基本的软件重用形式。
2.二进制形式的重用。
如组件重用。
3.组装式重用。
比如:
把好几个应用程序的功能集成在一起。
例如,要建立一个门户站点应用,登陆用户既可以查询天气情况,又可以查看股市行情,还可以在线购物。
这些功能由不同网络应用服务供应商提供,通过这种组装式重用,就可以非常容易地把上述功能都集成到新的门户站点中。
4.分析级别重用。
5.设计级别重用。
6.软件文档重用。
软件重用技术
软件重用技术包括:
库函数,模板,面向对象、设计模式、组件、构架。
1.库函数
对于库函数的使用者,只要知道函数的名称,返回值的类型,函数参数和函数功能就可以对其进行调用。
2.面向对象
面向对象技术通过方法、消息、类、继承、封装、和实例等机制构造软件系统,并为软件重用提供强有力的支持。
如VC++中的MFC。
3.模板
模板相当于工业生产中所用的“模具”。
有各种各样的模板(如文档模板,网页模板等),利用这些模板可以比较快速地建立对应的软件产品。
模板把不变的封装在内部,对可能变化的部分提供了通用接口,由使用者来对这些接口进行设定或实现。
4.设计模式
设计模式作为重用设计信息的一种技术,。
设计模式描述了在我们周围不断重复发生的问题,该问题的解决方案的核心和解决方案实施的上下文。
设计模式命名一种技术并且描述它的成本和收益,共享一系列模式的开发者拥有共同的语言来描述他们的设计。
5.构件
构件应从以下几个方面来理解:
1)构件应是抽象的系统特征单元,具有封装性和信息隐蔽,其功能由它的接口定义。
2)构件可以是原子的,也可以是复合的。
因此它可以是函数,过程或对象类,也可以是更大规模的单元。
一个子系统是包含其它构件的构件。
3)构件是可配置和共享的,这是基于构件开发的基石,且构件之间能相互提供服务。
6.构架
构架应从以下几个方面来理解:
1)构架是与设计的同义理解,是系统原型或早期的实现;
2)构架是高层次的系统整体组织;
3)构架是关于特定技术如何合作组成一个特定系统的解释。
概要设计主要从库函数,模板,面向对象、设计模式等方面对重用设计进行描述]
5.1.3.1以往设计的重用
[说明将过去设计的信息、知识或者经验如何重新应用到本次概要设计及后续设计活动,包括:
库函数,模板,面向对象、设计模式等]
5.1.3.2可重用性考虑
[说明本次概要设计及后续设计活动的信息、知识或者经验可重新应用到其他设计的考虑,包括:
库函数,模板,面向对象、设计模式等]
5.2数据分解
本节描述本子系统中用到的全局数据结构,其中至少包括:
各分解模块直接访问的数据,被各分解模块用来在接口中使用的结构。
外部数据实体不必描述。
描述数据时要注意该数据是否真正为本级模块分解的公用数据。
1.数据实体1描述
(按照以下格式描述——)
标识:
类型与定义:
目的:
2.数据实体2描述
……
5.3接口描述
[本节描述子系统中设计实体(模块)间的接口
接口描述可以使用接口文件、参数表。
].
1.模块/子系统1提供的接口
对于接口函数,可以采用以下形式描述:
接口1描述:
总体描述该接口实现的目的;
形式:
输入:
输出:
返回:
描述返回什么。
2.模块/子系统2提供的接口
5.4数据库设计
[此节从本子系统的角度来列举与本概要设计有关的数据库对象变更等。
如有必要,数据库设计采用专门数据库设计模板,并编写成单独文档。
在这里请说明引用的数据库设计文档。
]
5.4.1实体、属性及它们之间的关系
本节列出所有的数据存储类的实体,详细描述实体的内容和并列出全部属性。
对每个属性,详细描述其数据库、数据大小、特定约束。
实体的所有约束及实体间的关系也要注明。
5.4.2实体关系图
本节描述关于上节提到的所有实体的E-R图。
5.5安全性设计
[本节应描述本子系统的安全性设计与实现方案。
系统安全性包括网络安全、系统安全、数据安全、交易安全等。
应充分考虑到本子系统的安全性,确保系统安全不会被危及。
不但要确保系统的保密和完整性,而且还要防止影响可用性的服务拒绝(Denial-of-Service)攻击。
可以把本子系统尽可能地分割成各个子功能模块,围绕各个子模块构建各自的安全区,明确模块之间的数据交互在安全上的考虑,包括数据的加密,权限的分配等。
这样更便于保证整体系统的安全。
如果设计中的一些服务是由WebService实现的,在考虑这些服务安全性的时候也要同时考虑效率的问题,因为WS-Security会为WebService带来一定的执行效率损耗。
]
6第二层设计
6.1MOD(编号):
模块一
[如有必要,可以从此节开始继续往下细分到子模块设计,但要新增以下2节:
“模块逻辑结构”(描述本模块的逻辑结构,包括子模块的划分与各子模块间的依赖关系)、“子模块概述”([描述各子模块的总体功能])。
同时,以逐一介绍各子模块的方法、接口等的方式进行设计描述]
6.1.1简介
[介绍本模块的相关信息,如提供模块名称及模块说明以及它提供的主要操作。
对于面向对象的设计,此处还需要使用类图描述]
6.1.2方法
[描述该模块内部的关键或主要方法。
]
6.1.2.1方法列表
[罗列该模块内部的关键或主要方法。
]
方法名称
完成功能
方法1
主要描述该方法的功能及其意义
方法2
……
6.1.2.2方法1
方法原型
针对服务描述服务名
原型定义
功能说明
所执行的操作、执行这些操作之后的结果、执行时的条件
调用关系
该方法可能公布给哪些其它实体使用,或者仅作为内部的私有方法
以及该方法可能还会调用的其他方法
输入参数
变量名变量类型描述
输出参数
变量名变量类型描述
返回值
类型描述
备注
6.1.2.2.1函数内部逻辑
[此节为可选内容。
对于重要的方法/函数,使用本节描述方法/函数的实现逻辑,利用流程图并配以流程说明,并建议使用伪码]
6.1.2.2.2函数设计备注
[此节为可选内容。
对于重要的方法/函数,使用本节描述方法/函数设计的一些特殊考虑,比如基于效率,历史原因,现场运行环境风险而导致实现变更,并给出之后处理建议,保证后续开发的延续性]
6.1.2.3方法n
方法原型
针对服务描述服务名
原型定义
功能说明
所执行的操作、执行这些操作之后的结果、执行时的条件
调用关系
该方法可能公布给哪些其它实体使用,或者仅作为内部的私有方法
以及该方法可能还会调用的其他方法
输入参数
变量名变量类型描述
输出参数
变量名变量类型描述
返回值
类型描述
备注
6.1.3实现方式
[明确模块的实现方式,包括模块实现时遵循的规范或者协议,例如IPC方式、线程和进程、EJB、COBRA、WEBSERVICE、JSP、动态链接库等实现方式。
]
6.1.4限制条件
[描述设计本模块时有关技术方面等限制条件,如单线程运行限制、内存容量限制、存储容量限制、网络带宽限制等。
]
6.1.5生命周期
[描述本模块执行的生命周期,在什么条件下结束等,如一次性运行、常驻内存等。
]
6.1.6第三方引用
[描述各模块所引用的第3方库、工具等,包括库、工具的名称、开发者/商、版本等信息,并描述其引用方式、接口等。
]
6.2MOD(编号):
模块二
7系统容错处理设计
7.1可能出错信息
[用一览表的方式说明可能的出错或故障情况,包括系统输出信息的形式、含意及处理方法。
]
7.2补救措施
[描述在出现错误的情况下如何采取补救措施,该部分可以单独列出,也可以和7.1中的表格合并。
]
8系统可维护性设计
[说明为了系统维护的方便而在程序内部设计中做出的安排,包括在程序中专门安排用于系统的检查与维护的检测点、日志、屏幕输出、专用模块、工具等。
]
9假设前提
[列出此方案中包括的所有假设前提。
例如,目标方案是针对试点情况;用户界面是图形界面/命令行界面;与客户/相关方达成的妥协和协定;对系统设计产生较大影响的约束条件等,可以引用需求文档、架构设计文档中相关章节的内容]
10风险
[以表格方式指明方案、模块设计的任何已知风险,如果可能,说明减少潜在风险的策略。
]
编号
风险
严重程度
规避措施
11附录
[与本概要设计说明书相关,但不方便在以上章节中包含的内容,或者由于在多个地方需要使用而篇幅较长的信息等,例如,相关的数据辞典,数据结构,方案原型(对比)测试结果等]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件设计 说明书 子系统 层级