软件详细设计说明书
3 数据结构
3.1 数据结构定义
实现该模块的主要数据结构定义。
可以使用C语言描述数据结构定义,对于每个成员变量必须进行说明。
如果涉及到配置描述,也请在这里说明。因为有的宏定义可能是通过make config文件生成的,所以这里需要描述涉及到哪些宏。
3.2 数据结构关系图(可选)
画出模块内部数据结构之间以及和外部基础结构之间的关系图,并文字描述其关系。数据结构之间的关联关系对应关系是如何的。
如果图中还不足以描述清楚的部分,必须附加文字说明
3.3 公共头文件定义
将所有开放给外部模块可以访问的数据结构和函数定义保存在公共头文件中,这个公共头文件在include下的特定目录中。 需要罗列出公共头文件名,保存路径,以及公共头文件的内容。 比如: Xxx.h (路径:include/net/xxx) 如果在include下有多个头文件,那么必须制定一个主文件,也就是说,只要include了这个主文件,就可以得到这个模块对外提供的所有服务功能的声明了。
4 子模块(实体)1详细设计说明
主要从数据结构和函数(算法)两个方面进行详细设计说明。对于详细设计,如果你觉得还有一些要素的描述可以帮助理解本设计文档,则可以增加一个或多个小节进行描述,这个由设计人员自行把握,不做强制约定。
注:因为详细设计的目的是为了编码,所以其设计输出应当尽可能地使后面的编码工作变得方便快捷,同时达到设计目标要求。可以说,前面的总体设计工作主要在于阐述设计思想,目的是为了使项目的审核者、维护者、编码者更好地理解设计原理,也为了他们在必要的时候更好地理解代码。而详细设计则详细具体地描述了设计目标的实现方法和步骤。所以,本节是编码的直接依据(编码的输入),是对前面总体设计工作的具体实现(设计的输出)。
版权所有 侵权必究
6
软件详细设计说明书
4.1 数据结构
具体定义模块1相关的数据结构,并加以解释说明。
4.2 处理流程详细说明
各模块的函数之间是存在关联关系的,为了增加可读性,子模块的每个功能实现流程在这里说明。 (1) 功能1 这里描述实现这个子模块功能有几个步骤 (2) 功能2 ? 简单的步骤可以用文字描述,复杂的必须使用流程图表示(可以使用函数间的调用关系或流程来表示)。这个要和前面的总体设计模板中的5.3.1节关联起来,是对该节的进一步细化设计和说明。
4.3 编码设计
本节须说明模块1涉及的源文件,主要函数(或称子模块、子程序)名称和说明,并用程序描述语言(如伪代码)实现主要函数 主要函数列表格式如下: 主要函数名称 文件一 函数1 简要描述函数的功能 函数简要说明 。。。,。。。 函数n 文件二 函数1 。。。,。。。 函数n 4.3.1 函数1
【功 能】
简要描述函数的功能 【参数】
列出此函数的各输入项,说明其类型、名称、含义、取值范围等 7
版权所有 侵权必究
软件详细设计说明书
【返回值】
列出此函数的各输出项,说明其类型、名称、含义、取值范围等 【算 法】
用程序描述语言描述此函数的处理过程、算法逻辑。对于逻辑比较简单的函数,可以概括地说一下算法,或者略去此项。 对于数据结构访问需要上锁、关中断等操作必须在这里说明。 需要提供调试内容的,需要在这里说明。 【使用说明】
说明该函数的外部定义包含在哪个头文件里。 说明调用此函数时的注意事项,以及设计者认为应当交待的其它事项。
4.3.2 函数2
。。。。
4.3.n 函数n
。。。。
5 子模块(实体)2详细设计说明
用类似方式,说明第2个模块乃至第N个模块的设计考虑。
6 附录 子系统定义表
如果本详细设计所对应的最后实现代码并未组织成一个子系统的话,就不需要填下面的表格。
填表说明: 表格项 Name Class Version Init routine Dependance Sequence
该子系统的名字 该子系统的类别 该子系统自身的版本信息; 该子系统初始化函数 该子系统的依赖信息 该子系统的启动顺序要求 填 写 说 明 版权所有 侵权必究
8
软件详细设计说明书
模块子系统信息表 Name Class Version Init Routine Dependance Sequence
版权所有 侵权必究
9

