第六章 软件项目质量管理

本章内容提要

软件质量管理的基本概念
全面软件质量管理
缺陷跟踪
缺陷移除和预防
软件质量的常用度量
案例分析

第一节 软件质量管理的基本概念

  • 软件质量就是软件与用户需求相一致的程度。具体地说,软件质量是软件符合明确叙述的功能和性能需求、以及所有专业开发的软件都应具有的隐含特征的程度。
  1. 用户需求是衡量软件质量的基础。
  2. 除满足明确定义的需求外,还要满足隐含的需求。

软件质量的重要性

  • 软件质量问题可能导致经济损失甚至灾难性的后果。
  • 质量是软件产品和软件组织的生命线。
  • 质量问题会增加开发和维护软件产品的成本。

软件质量属性

第六章 软件项目质量管理

软件质量的形成

  • 软件的质量形成于软件的整个开发过程中,而不是事后的检查(如测试)。
  • 20世纪80年代起,质量管理逐步从单一的关注产品,转移到关注生产好产品的过程上,并且将过程的作用扩大到了组织运行的所有领域。

质量产生于过程

  • 要真正地提高软件质量,必须有一个成熟和稳定的软件过程。

第六章 软件项目质量管理

质量成本(CoQ)

  • 质量成本是为了达到产品或服务的质量而付出的所有努力的总成本,包括三部分:
  1. 预防成本:为防止将缺陷引入软件而进行的预防工作所消耗的费用。
  2. 评价成本:检查软件是否包含缺陷的工作所消耗的费用。
  3. 失效成本:修复缺陷工作所消耗的成本。

    PAF(Prevention / Appraisal / Failure)成本模型

第六章 软件项目质量管理

在项目早期预防和检测缺陷比在项目晚期检测和排除缺陷更有效、更节省成本。

软件项目质量管理的目标

  • 软件项目质量管理的目标无疑是保证软件产品的质量。但是,对于一个具体的软件项目来说,保证软件产品的质量并不意味着追求“完美的质量”。
  • 对于绝大多数普通软件来说,没有必要付出巨大代价追求“零缺陷”,如果由于追求完美质量而造成严重的成本超支和进度拖延,而获得的质量提升为用户所带来的效益又极为有限,就得不偿失了。
  • 在软件项目中,对于软件的各种质量属性并不是放在同等重要的位置上,项目组织应该把关注点放在那些用户最关心的,对软件整体质量影响最大的质量属性上,这些质量属性称为“质量要素”。
  • 软件项目质量管理的目标是在项目整体目标的约束之下,使软件质量满足用户需求。

第二节 全面软件质量管理

第六章 软件项目质量管理
  • 软件过程改进可遵循某种过程改进模型(如CMMI)来执行。

第三节 缺陷跟踪

  • 缺陷跟踪是指从缺陷被发现开始到被改正为止的整个跟踪流程。

第六章 软件项目质量管理

缺陷移除效率

  • 软件开发阶段的缺陷移除效率是衡量该阶段软件过程能力的一个重要指标,该指标可以定义为:

第六章 软件项目质量管理

缺陷的早期发现百分比

  • 应该在软件项目的早期阶段尽可能多地移除缺陷,这样不仅能够提高软件质量,还有利于降低项目成本。IBM公司用来管理质量的四个度量之一就是缺陷的早期发现百分比,也就是审查缺陷移除效率,如下式:

第六章 软件项目质量管理
  • 优点:主动

              改进软件过程,降低出错几率
              降低质量成本,实现项目效益

缺陷的概念

  • 软件缺陷是指软件对其期望属性的偏离,它包含三个层面的信息:

1. 失效(failure):指软件系统在运行时其行为偏离了用户的需求,即缺陷的外部表现。
2. 错误(fault):指存在于软件内部的问题,如设计错误、编码错误等,即缺陷的内部原因。
3. 差错(error):指人在理解和解决问题的思维和行为过程中所出现的问题,即缺陷的产生根源。

缺陷原因分析

  • 一个差错可导致多个错误,一个错误又可导致多个失效。
  • 软件缺陷原因的分析不能只停留在“错误”这一层面上,而要深入到“差错”层面,才能防止一个缺陷(以及类似缺陷)的重复发生。
  • 因此软件缺陷的根本原因往往与过程及人员问题相关,缺陷预防总是伴随着软件过程的改进。
  • 软件缺陷原因分析过程一般包括选择缺陷数据、分析缺陷数据、识别公共原因并提出改进措施三个步骤。采用该方法的软件组织通常是在软件项目的每个开发阶段结束后,或者定期(如每个月末)进行缺陷原因分析,提出改进措施,从而促进组织的过程改进。

软件缺陷原因分析方法

Step1:选择缺陷数据。
    对小项目,可选择某一时期内发现的所有缺陷。
    对大项目,可选择一个缺陷样本集合。
Step2:分析缺陷的根本原因
    对缺陷逐个进行分析,常以会议的方式进行。
    可对分析出的根本原因进行分类,例如:
    IBM:疏忽、培训、通信失效、书写错误
    Motorola:开发阶段相关、人员相关、项目相关、复审相关

  • 缺陷原因分析工具——因果图(鱼骨图)

第六章 软件项目质量管理
通常以每千行无注解代码为一个单位

案例分析

“软件缺陷管理和度量系统”质量管理计划

改进软件质量的一些要求

软件质量活动必须经过规划并明文规定
质量活动必须尽早开始
质量小组必须独立存在
质量小组的人员应该经过必要的培训

本章内容小结

理解质量管理的基本概念
    软件质量、质量属性、质量形成、质量成本
理解全面软件质量管理所包含的措施
理解缺陷跟踪流程
理解缺陷预防的作用和方法
掌握常用质量度量

来源:yongchaocsdn

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年6月2日
下一篇 2018年6月2日

相关推荐