第 1 章 软件质量管理的信任机制——确认 人们的日常生活往往离不开对各种各样的事情进行确认,例如:当使用信用卡的时候服务员会要求顾客确认银联回执单上的金额,然后在上面签字;当顾客在银联回执单上签字后,服务员还要确认签字笔迹是否与信用卡上的相符;当一对恋人打算结婚的时候,他们都会去民政局进行婚姻登记,以在法律上确认他们的合法关系,当然在婚姻登记时也需要男女双方签字确认。 在软件研发过程中也离不开各种确认的工作,例如:甲乙双方签订合同时,要对合同上的金额、完工时间、项目范围等内容进行确认,确认后要双方签字、盖章;当需求人员在完成《软件需求说明书》后,为了减少需求的变更,往往也会给客户进行确认。 由此可见,确认是一种行为,该行为的方式有很多,既可以通过口头方式进行确认,也可以通过书面形式进行确认。确认的深层含义是承诺,换句话说一个人的承诺是通过确认的方式来体现的。例如:顾客不在银联回执单上签字,那么就代表顾客否定了本次交易这是一种相反的承诺,那么银行就会根据顾客的这种承诺拒绝付款给商家;当一对恋人没有进行婚姻登记,那么在法律上也就没有给彼此一个共同生活的承诺,因此他们还有权力选择他人;在软件研发过程中假如客户没有对《软件需求说明书》的内容进行确认,也就是他没有给出承诺,那么再发生需求变更时他也不会感到愧疚。 确认(Validation)简称 VAL,确认管理是软件工程体系中的一名新成员,它与配置管理、风险管理、度量管理等分支同等重要,是软件质量体系中不可或缺的环节。 确认是指对软件研发生命周期中某个过程所产出的工作产品进行的审查,这些工作产品可以是《软件需求说明书》、合同等文档,也可以是开发出来的组件或最终产品,甚至可以是对某个生命周期阶段进行的整体审查。 确认的目的就是确保某个过程或阶段“做对的工作产品”,并使它符合使用者的期望并且只有通过审查后的工作产品才能交付给“使用者”使用。 在软件研发过程中有两个重要的确认过程是众所周知的,一个是“客户”对《软件需求说明书》的确认,另一个是项目组开发出来的最终产品要在客户现场进行验收测试,以确认该产品是否符合“客户”的需要。这两个确认都是针对客户方的,但是在确认管理过程中却是不使用“客户”两个字的,而用“使用者”来代替“客户”,这是为了避开广阔软件从业人员对确认过程的误解。《软件需求说明书》是软件项目范围的依据,它用来描述软件产品的功能...