软件详细设计说明书.docx
《软件详细设计说明书.docx》由会员分享,可在线阅读,更多相关《软件详细设计说明书.docx(7页珍藏版)》请在冰豆网上搜索。
软件详细设计说明书
文档编号
产品版本
密级
产品名称:
共页
[XX模块]
软件详细设计说明书
(仅供内部使用)
拟制:
日期:
yyyy-mm-dd
审核:
日期:
yyyy-mm-dd
核准:
日期:
yyyy-mm-dd
签发:
日期:
yyyy-mm-dd
文档版本:
版权所有XX
文件修改记录
修改日期
版本
修改页码、章节、条款
修改描述
作者
yyyy-mm-dd
软件详细设计说明书
关键词:
摘要:
缩略语说明:
缩略语
英文全名
中文解释
参考资料:
列出本文档的所有参考文献(包括:
正式/非正式出版物、公司/部门文档等),格式如下:
作者+书名(或杂志、文献、文档)+出版社(或期号、卷号、公司文档编号)+出版日期
模板使用说明:
[1]注明可选的部分,可以根据实际情况选择是否填写;如果不必说明,请务必保留相关的章节标题,同时在该可选章节的内容中填入“无”;未注名可选的,则必须描述;如果有些设计此模版中没有合适的地方填写,则补充在最后的其他栏目中
[2]模版中斜体字相当于撰写指南,最后文稿请将本模板中所有的斜体字部分全部删除。
[3]模板里并不说明设计技术和方法,而只是说明应包含哪些内容,以及如何描述、组织这些内容。
[4]对于移植的代码,描述可以相对简单一些,但以下这些章节不能省略:
代码框架描述、第3节可以简写,第4节可以根据项目实际情况简写
1目的
阐明编写详细设计说明书的目的
2代码框架描述
本部分描述系统的源代码分布框架,说明源代码存放的目录结构、各源文件的功能。
总体设计中有一个开发视图,这一部分就是对总体设计中开发视图的进一步细化。
2.1目录结构
说明系统源代码文件存放的目录、子目录,及其包含的文件列表。
如下:
目录名称
目录说明
包含源文件列表
2.2源文件说明
如下表格式对系统包含的源代码文件进行大致说明:
源文件名称
文件描述
子模块1
文件1
文件n
子模块2
文件1
文件n
注:
“目录结构”和“源文件说明”表格在详细设计后期和编码阶段都可能被修改。
2.3模块配置文件说明
该模块在配置文件中的实现脚本代码。
3数据结构
3.1数据结构定义
实现该模块的主要数据结构定义。
可以使用C语言描述数据结构定义,对于每个成员变量必须进行说明。
如果涉及到配置描述,也请在这里说明。
因为有的宏定义可能是通过makeconfig文件生成的,所以这里需要描述涉及到哪些宏。
3.2数据结构关系图(可选)
画出模块内部数据结构之间以及和外部基础结构之间的关系图,并文字描述其关系。
数据结构之间的关联关系对应关系是如何的。
如果图中还不足以描述清楚的部分,必须附加文字说明
3.3公共头文件定义
将所有开放给外部模块可以访问的数据结构和函数定义保存在公共头文件中,这个公共头文件在include下的特定目录中。
需要罗列出公共头文件名,保存路径,以及公共头文件的内容。
比如:
Xxx.h(路径:
include/net/xxx)
如果在include下有多个头文件,那么必须制定一个主文件,也就是说,只要include了这个主文件,就可以得到这个模块对外提供的所有服务功能的声明了。
4子模块(实体)1详细设计说明
主要从数据结构和函数(算法)两个方面进行详细设计说明。
对于详细设计,如果你觉得还有一些要素的描述可以帮助理解本设计文档,则可以增加一个或多个小节进行描述,这个由设计人员自行把握,不做强制约定。
注:
因为详细设计的目的是为了编码,所以其设计输出应当尽可能地使后面的编码工作变得方便快捷,同时达到设计目标要求。
可以说,前面的总体设计工作主要在于阐述设计思想,目的是为了使项目的审核者、维护者、编码者更好地理解设计原理,也为了他们在必要的时候更好地理解代码。
而详细设计则详细具体地描述了设计目标的实现方法和步骤。
所以,本节是编码的直接依据(编码的输入),是对前面总体设计工作的具体实现(设计的输出)。
4.1数据结构
具体定义模块1相关的数据结构,并加以解释说明。
4.2处理流程详细说明
各模块的函数之间是存在关联关系的,为了增加可读性,子模块的每个功能实现流程在这里说明。
(1)功能1
这里描述实现这个子模块功能有几个步骤
(2)功能2
…
简单的步骤可以用文字描述,复杂的必须使用流程图表示(可以使用函数间的调用关系或流程来表示)。
这个要和前面的总体设计模板中的5.3.1节关联起来,是对该节的进一步细化设计和说明。
4.3编码设计
本节须说明模块1涉及的源文件,主要函数(或称子模块、子程序)名称和说明,并用程序描述语言(如伪代码)实现主要函数
主要函数列表格式如下:
主要函数名称
函数简要说明
文件一
函数1
简要描述函数的功能
。
。
。
,。
。
。
函数n
文件二
函数1
。
。
。
,。
。
。
函数n
4.3.1函数1
【功能】
简要描述函数的功能
【参数】
列出此函数的各输入项,说明其类型、名称、含义、取值范围等
【返回值】
列出此函数的各输出项,说明其类型、名称、含义、取值范围等
【算法】
用程序描述语言描述此函数的处理过程、算法逻辑。
对于逻辑比较简单的函数,可以概括地说一下算法,或者略去此项。
对于数据结构访问需要上锁、关中断等操作必须在这里说明。
需要提供调试内容的,需要在这里说明。
【使用说明】
说明该函数的外部定义包含在哪个头文件里。
说明调用此函数时的注意事项,以及设计者认为应当交待的其它事项。
4.3.2函数2
。
。
。
。
4.3.n函数n
。
。
。
。
5子模块(实体)2详细设计说明
用类似方式,说明第2个模块乃至第N个模块的设计考虑。
6附录子系统定义表
如果本详细设计所对应的最后实现代码并未组织成一个子系统的话,就不需要填下面的表格。
填表说明:
表格项
填写说明
Name
该子系统的名字
Class
该子系统的类别
Version
该子系统自身的版本信息;
Initroutine
该子系统初始化函数
Dependance
该子系统的依赖信息
Sequence
该子系统的启动顺序要求
模块子系统信息表
Name
Class
Version
InitRoutine
Dependance
Sequence
Welcome!
!
!
欢迎您的下载,
资料仅供参考!