详细设计文档格式

1、背景


(背景、原因)

2、名词解释


(对文档中出现新的或不常见的名词、概念或简略语给出定义和解释)

3、设计目标


3.1、实现的功能

(概要描述要实现的功能,列出要实现的功能点及子功能点,并对每一个功能点进行详细说明。功能点之间的层级和关联关系要明晰。仅描述功能,不需要涉及实现方案、功能取舍等问题)

3.2、性能指标

(性能目标需要分解到模块,描述对该模块的性能要求。比如响应时间、CPU峰值、内存分配等)

4、系统环境


4.1、假设与其它模块联系

(与外界其他系统/模块的联系。采用文字分条列出或采用模块结构图描述均可)

4.2、相关软件及硬件

(系统所需的软,硬件,包括操作系统,机器型号及配置要求。建议采用表格形式列出)

4.3、模块限制

(系统已知的或可预知的限制)

4.4、数据规模估计

(通过调研或经验,对数据规模进行估计,包括用户量、数据量、带宽消耗及增长速度等方面分条列出)

5、设计思路及折衷


( 描述模块设计中需要解决或考虑的关键问题,解决这些问题可能有不同方案, 在这里加入方案设计的选择, 折衷及解释,并在后面的模块设计中对选中的方案给出进一步阐述。建议分类列出,比如性能、可扩展性、安全性、服务稳定性、反作弊、复用等方面。)

6、模块设计


6.1、模块流程图及说明

( 描述模块设计架构,对模块相关的实现流程和业务规则进行详细说明。描述实现流程时,建议采用流程图的方式,也可以采用伪码或文字描述。无论采取哪种方式,都要注意分支的完备性,特别是异常分支。)

6.2、数据结构及说明

( 说明在该模块中涉及到的核心数据结构的核心内容(可以以文字描述或代码的方式给出),并进行必要说明)

6.3、算法描述(可选)

( 对关键或复杂的算法进行描述,该节可根据需要进行裁剪)

6.4、与其它模块的接口

( 说明模块调用的接口方式并进行定义,如函数的参数定义、返回值,接口数据结构和定义等。若需要使用外部提供的lib库,需要在设计阶段协调好将使用的版本,并在此进行说明)

6.5、异常处理

( 对模块中异常情况的处理进行说明,比如输入数据不合法、内存分配失败、模块内部错误需要向外部模块返回的错误码及含义等。)

6.6、边界值说明

( 对模块中使用的边界值进行定义)

6.7、配置项说明

( 对模块涉及到的配置项进行说明)

6.8、测试考虑

( 说明从测试角度考虑设计方案,以及单元测试或联合测试需要考虑的关键事项。比如,测试计划、单元测试的思路、联合测试的重点、测试工具的开发和使用等。)

7、风险评估及对其它模块/系统影响(可选)


7.1、已知的或可预知的风险

( 在这里加上已经知道的或可能会发生的风险,包括技术、业务等方面。最好针对每个风险,列出相应的应对措施)

7.2、与其它模块/系统可能的影响

( 在“4.1 ”中描述了该模块与其它模块的依赖关系。在这里描述这些依赖关系可能带来的影响。包括本模块对其它模块可能造成的影响以及其它模块可能给本模块造成的影响两个方面)

8、设计评审意见


No 问题描述 提出人 处理方式/说明 状态
1 Open
2 Closed
3

9、附件及参考资料


上一篇:C++中的NULL和nullptr的区别


下一篇:2.6 相对和绝对路径 2.7 cd命令 2.8 创建和删除目录mkdir/rmdir 2.9 rm命令