软件质量管理的信任机制之确认

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章 软件质量管理的信任机制——确认 人们的日常生活往往离不开对各种各样的事情进行确认,例如:当使用信用卡的时候,服务员会要求顾客确认银联回执单上的金额,然后在上面签字;当顾客在银联回执单上签字后,服务员还要确认签字笔迹是否与信用卡上的相符;当一对恋人打算结婚的时候,他们都会去民政局进行婚姻登记,以在法律上确认他们的合法关系,当然在婚姻登记时也需要男女双方签字确认。

在软件研发过程中也离不开各种确认的工作,例如:甲乙双方签订合同时,要对合同上的金额、完工时间、项目范围等内容进行确认,确认后要双方签字、盖章;当需求人员在完成《软件需求说明书》后,为了减少需求的变更,往往也会给客户进行确认。

由此可见,确认是一种行为,该行为的方式有很多,既可以通过口头方式进行确认,也可以通过书面形式进行确认。确认的深层含义是承诺,换句话说一个人的承诺是通过确认的方式来体现的。例如:顾客不在银联回执单上签字,那么就代表顾客否定了本次交易,这是一种相反的承诺,那么银行就会按照顾客的这种承诺拒绝付款给商家;当一对恋人没有进行婚姻登记,那么在法律上也就没有给彼此一个共同生活的承诺,因此他们还有权力选择他人;在软件研发过程中如果客户没有对《软件需求说明书》的内容进行确认,也就是他没有给出承诺,那么再发生需求变更时他也不会感到愧疚。 确认(Validation )简称V AL ,确认管理是软件工程体系中的一名新成员,它与配置管理、风险管理、度量管理等分支同等重要,是软件质量体系中不可或缺的环节。 确认是指对软件研发生命周期中某个过程所产出的工作产品进行的审查,这些工作产品

可以是《软件需求说明书》、合同等文档,也可以是开发出来的组件或最终产品,甚至可以

是对某个生命周期阶段进行的整体审查。

确认的目的就是确保某个过程或阶段“做对的工作产品”,并使它符合使用者的期望,并且只有通过审查后的工作产品才能交付给“使用者”使用。

在软件研发过程中有两个重要的确认过程是众所周知的,一个是“客户”对《软件需求说明书》的确认,另一个是项目组开发出来的最终产品要在客户现场进行验收测试,以确认该产品是否符合“客户”的需要。这两个确认都是针对客户方的,但是在确认管理过程中却是不使用“客户”两个字的,而用“使用者”来代替“客户”,这是为了避免广大软件从业人员对确认过程的误解。《软件需求说明书》是软件项目范围的依据,它用来描述软件产品的功能,软件产品的最终“使用者”就是“客户”;验收测试的目的就是确保产品达到“客户”也就是最终“使用者”的要求。但在软件确认管理中并不是只有“客户”才需要对项目的工作产品进行确认,项目组或公司内部同样需要对某些工作产品进行确认,而这种确认往本书从软件质量管理的流程和技术方法等方面对软件质量管理体系进行了详尽的讲述,并对日常工作中的案例进行剖析,使广大软件质量管理人员能够更加清楚了解和掌握软件质量管理的精髓。

作者:张瑾

往非常关键,但进行确认的人却不是合同的甲方,因此在软件确认管理中要用“使用者”这个名称来对它进行代替。

那么什么时候才会出现项目组内部的确认呢?很多人对这个事情都有疑问,这是可以理解的,因为在早期的软件工程中谈及确认管理的内容是非常少的。但项目组内的确认工作是天天都在进行的,例如:对《概要设计》文档进行评审并且合格通过后,与会人员都会在评审记录上签字。这个过程中就“包含”了确认的内容。但有人又会说同行评审是“验证”的过程,怎么会包含确认的内容呢?大家可以想想,首先确认的目的是承诺,那么签字就代表了与会人员对《概要设计》文档的正确性进行了承诺。其次参加本次评审的人员中一定会有软件开发人员,软件开发人员将是这份《概要设计》文档的“使用者”,只有“使用者”对该工作产品的质量进行确认后才能被使用。因此,在对《概要设计》文档进行评审时,这个过程除了对《概要设计》文档的内容进行验证,与会人员中的“使用者”还要对其内容是否符合要求并且是否可以指导软件开发人员的工作进行确认。

由此可见,在软件生命周期内凡是一个环节“输出”的工作成果都将成为后续环节的“输入”,那么上一个环节的生产者要承诺该工作产品是符合质量要求的,后续环节的“使用者”也要对其工作产品进行确认。这就好比“亲兄弟明算账”,通过这样的方式来建立相互间的信任关系。

1.1. 软件确认流程及最佳实践

为了确保对工作产品确认的效果,通常建议该工作产品在仿真环境下进行审查,因此建立确认的环境是确认管理中的一个部分。一个软件项目所产出的工作产品非常多,仅配置项列表中的内容就有几十项,项目组需要在项目计划阶段识别所需进行确认的工作产品。确认是以使用者的视角来对工作产品进行审查,因此要在制订项目计划时就确定哪些项目关系人要对哪些工作产品进行确认。接下来我们对确认管理的流程和最佳实践进行举例讲解。

1.1.1.确认的准备工作

确认工作在准备阶段包括以下3个方面的内容,这些内容都应该在项目计划阶段完成:

①选择需要确认的工作产品与产品组件

②建立和维护确认环境

③建立确认的流程及准则

1.选择需要确认的工作产品与产品组件

在选择需要确认的工作产品和产品组件时,可以根据项目的生命周期模型,并配合项目配置项列表来进行识别。配置项列表中的内容都是项目关键的工作产品,因为配置项是项目

基线的组成部分,虽然并不是所有配置项都需要进行确认,但是确认管理的工作还需要很多资源、时间和成本的投入,这要根据项目的实际情况进行确定。

在识别完待确认的对象后就应该为它制订相应的确认方法,并确定参与确认的角色。软件项目中确认的方法有以下两大类,软件生命周期中常见的确认内容及方法如表3-1所示。

①对文档类型的工作产品进行确认,通常可以与其文档的评审合并进行。

②对产品或产品组件进行确认时,通常可以与单元测试、集成测试、系统测试和验收测试合并进行。

表3-1 软件项目中参加的确认内容及确认方法

在项目计划阶段通过对配置项列表中的配置项进行识别,挑选适当的工作产品在项目过

相关文档
最新文档