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