4.5 系统的验证与系统的确认

系统的验证是看系统能否满足原来任务文件提出的要求,而系统的确认要看系统能否满足用户要求http://en.wikipedia.org/wiki/verification_and-validation.。二者相似之处是,都要对系统的开发进行检验,但要求却是不同的。

西方有一句谚语说:“做正确的事比正确地做事更重要(Do right things is more important than doing things right)。”可以说,通过了系统的验证只能说明你是正确地做了事(Do things right),而通过了系统的确认则是说明你做了正确的事(Do right things)。

在许多系统工程项目中,常常忽视这两种过程,或者把二者混为一谈。这就会使开发工作完成得虎头蛇尾,使得系统不能完全保证质量。

系统的验证和系统的确认都是漫长的、费时费力的烦琐工作,但是对一些关键性的系统工程任务来说,却是非常重要的,关系到系统开发的成败,因此不能掉以轻心。

4.5.1 系统的验证

系统的验证是一种质量控制过程,用来评价所开发的系统是否达到任务文件所提出的要求。系统的验证可在生命周期的每一个阶段进行。验证结果要形成文档,当达不到要求时,还要确定补救的步骤。在有些场合,系统的验证要考虑安全和风险条件以及某些临界与极限情况。

系统的验证包括对系统进行静态的检验和动态的测试。它的主要技术是检验技术、测试技术、审查技术。不同的系统有不同的验证方式方法(例如软件系统开发就有自己一定的方式方法)。对一些实物系统来说,验证包括检查:

(1)设计是否合格。

(2)安装是否合格。

(3)运行是否合格。

(4)性能是否合格。

检验的根据是有关的文档,当安装是由用户自己进行(即所谓DIY)或者在已有设备上进行加装或改造时,文档就显得特别重要。而当合格性检验是和环境地点有关时,当对象移动后,要再度进行合格检验。

当系统的验证是由第三方按照某种标准来进行时,这种验证通常称为认证(Certification)。认证结果是要出具认证文件的。

系统的验证过程包含下列步骤:

(1)制定验证的具体步骤。

(2)落实进度。

(3)设置进行验证的环境与工具。

(4)实施各具体步骤

(5)将验证结果形成文件。

4.5.2 系统的确认

系统的确认是一种质量保证过程,涉及系统能否保证满足委托者与用户的需求。一般说来,系统的确认是在开发工作完成之后而且系统的验证已经通过才进行的。

系统的确认可以分为:

(1)预期性确认。

(2)回顾性确认。

也可分为:

(1)全面确认。

(2)部分确认。

(3)再确认。

系统的确认包括下列步骤:

(1)制定确认的策略与具体步骤。有的项目在生命周期的开始就要有委托者参加来制定,包括都有谁参加确认,都需要确认什么项目,在什么地方进行,等等。

(2)保证系统已经准备就绪。

(3)实施各具体步骤,向委托者与用户展示系统是否满足要求。如果达到预期要求,就算通过确认。

(4)如果尚未达到预期要求,就提出改进建议。

(5)一直到委托者与用户接受为止。然后编写确认文件。

系统的确认方法中还要包括怎样设置系统的情景,进行哪一级的测试等。