软件质量管理的重要性是:软件质量管理的基本概念和全面软件质量管理
软件质量管理的重要性是:软件质量管理的基本概念和全面软件质量管理1. 失效(failure):指软件系统在运行时其行为偏离了用户的需求,即缺陷的外部表现。缺陷的概念优点:主动 改进软件过程,降低出错几率 降低质量成本,实现项目效益
缺陷移除效率
- 软件开发阶段的缺陷移除效率是衡量该阶段软件过程能力的一个重要指标,该指标可以定义为:
- 例如,在某软件项目的高层设计阶段通过设计审查发现和移除了730个缺陷,在该阶段开始时存在120个缺陷,在该阶段引入了860个缺陷,则该阶段的缺陷移除效率为:
缺陷的早期发现百分比
- 应该在软件项目的早期阶段尽可能多地移除缺陷,这样不仅能够提高软件质量,还有利于降低项目成本。IBM公司用来管理质量的四个度量之一就是缺陷的早期发现百分比,也就是审查缺陷移除效率,如下式:
早期开发阶段的缺陷移除
- 早期开发阶段的缺陷移除一般来说代价较低。缺陷的发现距离被引入的时间越近,移除缺陷所需的工作量就越少。
- 有研究者对来自IBM Santa Teresa实验室的数据进行了分析,发现软件生命周期的三个主要阶段,即设计、编码和用户使用(维护阶段)的缺陷移除代价的比率为:1:20:82。
缺陷预防
优点:主动
改进软件过程,降低出错几率
降低质量成本,实现项目效益
缺陷的概念
- 软件缺陷是指软件对其期望属性的偏离,它包含三个层面的信息:
1. 失效(failure):指软件系统在运行时其行为偏离了用户的需求,即缺陷的外部表现。
2. 错误(fault):指存在于软件内部的问题,如设计错误、编码错误等,即缺陷的内部原因。
3. 差错(error):指人在理解和解决问题的思维和行为过程中所出现的问题,即缺陷的产生根源。
缺陷原因分析
- 一个差错可导致多个错误,一个错误又可导致多个失效。
- 软件缺陷原因的分析不能只停留在“错误”这一层面上,而要深入到“差错”层面,才能防止一个缺陷(以及类似缺陷)的重复发生。
- 因此软件缺陷的根本原因往往与过程及人员问题相关,缺陷预防总是伴随着软件过程的改进。
- 软件缺陷原因分析过程一般包括选择缺陷数据、分析缺陷数据、识别公共原因并提出改进措施三个步骤。采用该方法的软件组织通常是在软件项目的每个开发阶段结束后,或者定期(如每个月末)进行缺陷原因分析,提出改进措施,从而促进组织的过程改进。
软件缺陷原因分析方法
Step1:选择缺陷数据。
对小项目,可选择某一时期内发现的所有缺陷。
对大项目,可选择一个缺陷样本集合。
Step2:分析缺陷的根本原因
- 对缺陷逐个进行分析,常以会议的方式进行。
- 可对分析出的根本原因进行分类,例如:
- IBM:疏忽、培训、通信失效、书写错误
- Motorola:开发阶段相关、人员相关、项目相关、复审相关
缺陷原因分析工具——因果图(鱼骨图)