系统架构设计笔记(56)—— 验证与确认

213 阅读2分钟

验证与确认都是确定软件产品是否满足其预期要求和条件的过程。验证可适用于分析、 设计、编码、测试和评审等众多的过程,而确认通常用于验收过程。

1 验证

软件项目的验证一般应包括合同验证 、 过程验证 、 需求验证 、 设计验证 、 编码验证 、 集成验证和文档验证。

(1)合同验证

  1. 供方具有满足需求的能力。
  2. 需求是一致的并复盖了用户的需要。
  3. 为处理需求变更和升级问题规定了适当的规程。
  4. 规定了各方之间的接口及其合作规程与范围,包括所有权 、 许可权 、 版权和保密要求。按照需求规定了验收准则和规程。

(2)过程验证

  1. 项目是适当的 、 及时的。
  2. 为项目选择的过程是适当的并满足合同要求的。
  3. 用于项目过程的标准 、 规程和环境是适当的。
  4. 根据合同要求为项目配备了经过培训的人员。

(3)需求验证

  1. 需求是明确的、一致的、无歧义的。
  2. 需求是可行的。
  3. 需求是可测试的。

(4)设计验证

  1. 设计是正确的,是可以实现需求的。
  2. 可以从需求导出设计,可以从设计追踪需求。

(5)编码验证

  1. 编码是正确的,可以实现设计和需求。
  2. 可以从设计导出编码,可以从编码追踪设计。

(6)集成验证

  1. 每一个软件项的软件部件和软件单元已完整、正确地集成到软件项中。
  2. 系统的硬件项、软件项和人工操作已完整、正确地集成到系统中。

(7)文档验证

  1. 文档是充分的、完备的、一致的。
  2. 文档制订是及时的。
  3. 文档配置管理遵循了规定的规程。

2 确认

如果项目需要开展确认工作,应建立一个确认过程,以确认软件产品满足其预期用途。确认可以是组织内部的,也可以由独立的第三方实施。

一般来讲,确认过程应包括下列任务:

(1)编写测试需求 、 测试用例和测试规程。 (2)确保这些测试需求 、 测试用例和测试规程可以反映软件产品的预期用途。 (3)执行测试。 (4)确认软件产品满足其预期用途。