评审检查表
版本
修改状态
修改日期
修改摘要
修改人
文档修改情况记录
1 / 11
目录
1.
2.
3.
4.
5.
6.
7.
项目计划检查表 .................................................................................................................... 3
需求规格说明书检查表 ........................................................................................................4
概要设计说明书检查表 ........................................................................................................5
详细设计说明书检查表 ........................................................................................................6
编码检查表 ............................................................................................................................ 7
测试用例检查表 .................................................................................................................. 10
产品验收和发布检查表 ...................................................................................................... 11
2 / 11
1. 项目计划检查表
项目编号
工作产品
检查日期
项目计划检查表
检查人员
检查结果标记 合格 不合格 TBD 待完成 NA 不适用
检查情况
检查项: 项;有效检查项: 项;通过项: 项;通过率:
序号 主要检查项
检查结果 说明
标准化
1
2
3
4
完整性
5
6
7
8
9
10
有规定的文档标识
引用的文档现行有效
文档编写的内容、格式符合相关标准、规定
的要求
文档签署完整
文档有独立的版本说明部分
文档列出了项目的验收标准
文档列出了项目组成员和项目相关人员、角
色、职责
文档选择了项目生命周期模型
文档选定了项目里程碑
对项目进行了估计(规模、工作量、进度、
关键计算机资源、成本)
进行了 WBS 工作分解
文档作了项目的风险估计及风险管理计划
11
12
13
14
15
16
17
符合性检查
文档分析了项目所需的知识技能及培训计划
编写了配置管理计划
编写度量计划
编写质量保证计划
使用 project 项目管理工具编写项目进度计划
18
19
20
风险管理计划的风险是否排序,对前三个是
否进行了分析,缓解计划是否合理
培训计划中的培训内容是否是项目组需要
的、可行的
配置管理计划中的配置库机构划分是否合
理,是否对开发过程中的工作产品进行了配
置项的设置
3 / 11
21
22
23
承诺性
24
质量保证计划是否检查了列表,和开发计划
的进度是否一致
项目进度计划的工作任务是否包括了生命周
期的所有工作(如:是否覆盖了所有需求的
设计和开发)
项目进度计划的资源和时间分配是否合理,
里程碑的划分和交付物是否明确
计划中列出的相关人员是否都了解自己的角
色和职责,并在承诺记录上签字
2. 需求规格说明书检查表
需求规格说明书检查表
项目编号
工作产品
检查日期
检查人员
检查结果标记 合格 不合格 TBD 待完成 NA 不适用
检查情况
检查项: 项;有效检查项: 项;通过项: 项;通过率:
序号 主要检查项
检查结果 说明
标准化
1
2
有规定的文档标识
引用的文档现行有效
3
4
5
文档编写的内容、格式符合相关标准、规定
的要求
文档签署完整
设计陈述中的命名、术语和缩写是否上下文
一致
完整性和正确性
6
文档有独立的版本说明部分
7
8
9
10
11
12
没有丢失任何需求或必要信息,重点在于用
户任务
是否包括了所有的原始需求(指系统或软件
需求,通常限制在开发或验证上)
规格说明书中是否指明了所有已知的用户或
系统需求?所有用户要完成的任务都包含了
吗(只有用户代表才能决定用户需求的正确
性)
需求表达是否清晰、易理解、无二义性
每个功能需求都适当地指定了输入、输出项
已经明确陈述出所有的条件与限制
4 / 11
13
14
15
16
17
一致性
18
19
20
21
数据精度、时间特性和适应性是否已经明确
运行需求是否明确(运行平台、接口需求、
用户界面等),符合初始需求
对质量的要求是否明确、合理(正确性、健
壮性、安全性等)
是否分析了潜在的需求
是否标识并解决了需求中的潜在问题
是否存在冲突或重复的需求项
开发计划、产品和活动与需求是否保持一致
是否可以根据软件需求规范中的信息制定出
详细的测试集,并且每项需求是否可以测试
是否有《需求跟踪矩阵》
3. 概要设计说明书检查表
概要设计说明书检查表
项目编号
工作产品
检查日期
检查人员
检查结果标记 合格 不合格 TBD 待完成 NA 不适用
检查情况
检查项: 项;有效检查项: 项;通过项: 项;通过率:
序号 主要检查项
检查结果 说明
标准化
1
2
3
4
完整性
5
6
7
8
9
10
追溯性
11
12
符合性
13
有规定的文档标识
引用的文档现行有效
文档编写的内容、格式符合相关标准、规定
的要求
文档签署完整
文档有独立的版本说明部分
有文档的文字目录页
有总体设计部分
有功能设计
有接口设计
有性能设计
设计是否可以追踪到需求
需求是否可追溯到设计
是否每个设计都是可测试的或以别的方式可
5 / 11
以确定的
设计范围、边界是否清晰,文档中是否清晰
阐明了系统的各项特性及预期的结果
逻辑性、算法和处理过程是否正确
文档是否符合客户的需要
设计是否考虑到未来的扩充性
设计的系统是否易于维护
14
15
16
17
18
4. 详细设计说明书检查表
详细设计说明书检查表
项目编号
工作产品
检查日期
检查人员
检查结果标记 合格 不合格 TBD 待完成 NA 不适用
检查情况
检查项: 项;有效检查项: 项;通过项: 项;通过率:
序号 主要检查项
检查结果 说明
标准化
1
2
有规定的文档标识
引用的文档现行有效
3
4
5
完整性
5
6
7
8
9
10
11
12
13
14
15
16
17
文档编写的内容、格式符合相关标准、规定
的要求
文档签署完整
设计陈述中的命名、属于和缩写是否上下文
一致
文档有独立的版本说明部分
每个设计是否都有相应的标识
每个设计的输入/输出是否进行了描述
关键的用户接口是否进行了描述
用户接口是否模块化,并且修改时不影响其
他程序
是否提供了一致的错误处理机制
各子系统、模块之间的关系是否描述得清楚
系统的设计是否考虑了系统的可扩展性
设计是否考虑了重用性
重用构件是否进行了标识
是否说明了重用模块的获得方式和相关的文
档
系统的设计是否考虑了系统的易移植性
设计是否使用标准的技术,避免使用怪异的、
6 / 11
不易理解的方式和方法
设计的调用宽度、调用深度、耦合度、内聚
度和结构化程序是否进行了描述
设计是否可以追踪到需求
需求是否可追溯到设计
18
追溯性
19
20
5. 编码检查表
通过结合编码检查表和代码检查单,可以比较清楚地确定代码问题的位置。
5.1. 代码检查表
项目编号
工作产品
检查日期
代码检查表
检查人员
检查结果标记 合格 不合格 TBD 待完成 NA 不适用
检查情况
检查项: 项;有效检查项: 项;通过项: 项;通过率:
序号 主要检查项
检查结果 说明
规范性
1
2
3
4
5
6
7
8
9
10
11
12
符合性
13
14
15
编码是否符合项目或组织的编码标准
头文件包含是否完整
参数在程序开始时是否被初始化
参数在程序循环时是否被初始化
在函数或过程调用的时候参数是否被初始化
函数调用的格式和参数是否正确
变量的声明和拼写是否一致
变量声明的范围是否恰当
是否所有的指针都被初始化为 NULL
程序中申请的内存使用后是否释放
是否每个= =、‖等都验证了正确性
是否打开的文件都及时关闭了
源代码单元是否已经完成
源代码单元是否已经经过了调试
源代码单元是否实现了设计的全部功能
5.2. 代码检查内容
重要性 激活
级别
检查项
命名
重要
20
命名规则是否与所采用的规范保持一致
7 / 11
重要
重要
注释
重要
重要
重要
Y
Y
声明、空白、缩进
重要
重要
Y
语句/功能分布/规模
重要
重要
规模
重要
Y
20
50
10
10
10
10
50
10
20
40
40
20
20
20
20
20
20
20
40
20
40
20
20
重要
可靠性(总则/变量和语句)
重要
Y
Y
Y
重要
重要
重要
重要
重要
重要
重要
重要
重要
40
80
80
70
20
20
20
20
80
80
80
是否遵循了最小长度最多信息原则
has/can/is 前缀的函数是否返回布尔型
注释是否清晰且必要
复杂的分支流程是否已经被注释
距离较远的}是否已经被注释
非通用变量是否全部被注释
函数是否已经有文档注释(功能、输入、返回及其他可选)
特殊用法是否被注释
每行是否只声明了一个变更(特别是那些可能出错的类型)
变更是否已经在定义的同时初始化
类属性是否都执行了初始化
代码段落是否被合适地以空行分隔
是否合理地使用了空格使程序更清晰
代码行长度是否在要求之内
折行是否恰当
包含复合语句的{}是否成对出现并符合规范
是否给单个的循环、条件语句也加了{}
If/if-else/if-else if-else/do-while/switch-case 语句的格式是否符
合规范
单个变量是否只做单个用途
单行是否只有单个功能(不要使用“;”进行多行合并)
单个函数是否执行了单个功能并与其命名相符
操作符++和—的应用是否符合规范
单个函数是否不超过规定行数
缩进层数是否不超过规定
是否已经消除了所有警告
常数变量是否声明为 final
对象使用前是否进行了检查
局部对象变量使用后是否被复位为 NULL
对 数 组 的 访 问 是 否 是 安 全 的 ( 合 法 的 index 取 值 为
[0,MAX_SIZE-1])
是否确认没有同名变量局部重复定义问题
程序中是否只使用了简单的表达式
是否已经用()使操作符优先级明确化
所有判断是否都使用了(变量= =)的形式
是否消除了流程悬挂
是否每个 if-else 语句都有最后一个 else 以确保处理了全集
是否每个 switch-case 语句都有最后一个 default 以确保处理了
8 / 11