第三章 - 软件质量工程体系
1 概述
系统工程学的思想
系统工程学是为了研究多个子系统构成的整体系统所具有的多种不同目标的相互协调,以期系统功能的最优化、最大限度地发挥系统组成部分的能力而发展起来的一门科学。
软件质量工程体系的建立
建立和实施质量管理体系的方法
- 确定顾客和其他相关方的需求和期望;
- 建立组织的质量方针和质量目标;
- 确定实现质量目标必需的过程和职责;
- 确定和提供实现质量目标必需的资源;
- 规定测量每个过程的有效性和效率的方法;
- 应用这些测量方法确定每个过程的有效性和效率;
- 确定防止不合格并消除产生原因的措施;
- 建立和应用持续改进质量管理体系的过程。
要将软件质量管理作为一个系统来管理,运用系统科学的方法,通过有关质量的各种信息反馈与调控,对软件质量进行全面、综合的系统性管理,包括软件质量计划、组织、协调、控制,以实现软件质量的目标。
软件质量工程体系的构成
2 软件质量因素和指标
软件质量指标
软件的 6 个品质要素
正确性:实现的功能达到设计规范,并满足用户需求的程度
可靠性:规定的时间和条件下,仍能维持其性能水准的程度
易用性:用户掌握软件操作所要付出的时间以及努力程度
效率:软件执行某项功能所需电脑资源(含时间)的有效程度
可维护性:当环境改变或软件发生错误时,执行修改或恢复所做努力的程度
可移植性:从一个(系统/环境)移到另一(系统/环境)的容易成程度。
可移植性的质量指标:独立性、可重用性、互操作性、虚拟性、一般性。
软件质量因素
软件质量因素:影响软件质量特性或影响软件指标的参数。
分类:
- 软件产品的质量因素
- 软件过程的质量因素
软件产品的质量因素
软件过程的质量因素
1.项目计划过程:
和客户的沟通能力、软件产品特性定义的方法、项目计划策略、评审的流程、范围、方式和程度、协同工作流程、合同和用户管理流程和方法、文档编写、管理等的规范和流程
2.项目设计过程:
软件产品指标的定义和解释、设计流程、设计标准、协同工作流程、文档编写、管理等的规范和流程
3.项目实施过程:
变更控制流程、执行过程跟踪方法、流程和相适应的系统、缺陷处理流程、文档编写、管理等的规范和流程
4.软件维护过程:
变更控制流程、用户反馈、相应处理机制、回归测试流程
5.软件商业环境过程:
软件改进的策略、产品开发模式、市场定位、产品标准等
3 软件质量模型分析
软件质量模型
软件质量指标和软件质量因素的分析是为了建立软件模型。
软件模型是描述他们之间的关系,分析软件质量因素究竟如何影响质量指标的,从而寻求最优的质量保证解决方案,最终达到软件质量目标。
1.McCall 软件质量模型 (GE模型, 1977)
11个指标构成,分为产品操作,产品修订和产品转移
2.Boehm 模型 (1978)
基于很多特性和标准
3.ISO简化的软件质量模型
包括6个质量目标,每个质量目标有很多属性
模型评价和分析
- 存在差别:
软件质量特性、影响因素或质量指标的定义不完全一致; - 思想接近:
总体上要表达的思想非常接近; - 目的相同:
软件质量因素、准则和度量3者综合的软件质量结构模型;
ISO模型第一层(质量特性)和第二层(准则)的关系非常清楚,不像McCall模型和Boehm模型那样存在交叉关系。
4 软件质量工作层次
在质量控制、质量保证和质量管理之上是质量方针。
即在质量方针指导下,质量管理指挥和控制组织的质量活动,协调质量的各项工作,包括质量控制、质量保证和质量改进。
软件质量方针
Ø 由组织的最高管理者正式发布的、
Ø 该组织的质量宗旨、目标和质量方向,并形成文件。
Ø 质量方针是企业经营总方针的组成部分,
Ø 是企业管理者对质量的指导思想和承诺。
Ø 建立质量方针和质量目标为组织提供了关注的焦点,在一个质量管理体系中起着关键作用。
Ø 质量方针应体现软件公司的组织目标、顾客的期望/需求和组织内部质量行为的准则 。
软件质量控制
Ø 是一个设定标准(根据质量要求)、测量结果,判定是否达到了预期要求,对质量问题采取措施进行补救并防止再发生的过程
Ø 质量控制已不再仅仅是检验,而更多地倾向于确保生产出来的产品满足用户要求的过程控制。
软件质量保证
为保护产品和服务充分满足消费者要求的质量而进行的有计划有组织的活动,致力于提供对满足质量要求的信任。
对象
Ø 内部质量保证:组织向自己的管理者提供信任;
Ø 外部质量保证:组织向外部客户或其它方提供信任。
活动分类
Ø 复审
在软件生命周期的每个阶段结束之前,都用结束标准对该阶段生产出的软件配置成分进行严格的技术审查等活动;
Ø 内审
检查组织内部是否遵守已有的模板、规则、流程等。
软件质量管理
Ø 致力于增强满足质量要求的能力,是一个持续过程。
Ø 在质量改进工作中,有许多模型,包括IDEAL模型、六西格玛模型、PDCA模型、PEIS模型、CMM模型和SPICE模型等。
IDEAL 模型
初始化:为成功地改进质量工作奠定基础
诊断:确定现状与质量目标之间的差距
建立:计划如何达到质量目标
行动:更具计划开展质量工作
学习:从经验中学习,以提高在将来采用新技术的能力
六西格玛模型
Ø 在统计学中称为标准差,用来表示数据的分散程度。达到6西格玛的程度,就几近于完美地达成顾客要求,在一百万个机会里,只找得出3、4个瑕疪。
Ø 为了达到6西格玛,首先要制定标准,在管理中随时跟踪考核操作与标准的偏差,不断改进,最终达到6西格玛。
Ø 现己形成一套使每个环节不断改进的简单的流程模式:界定、测量、分析、改进、控制
质量改进步骤
Ø 界定
确定需要改进的目标及其进度,企业高层领导就是确定企业的策略目标,中层营运目标可能是提高制造部门的生产量,项目层的目标可能是减少次品和提高效率。 界定前,需要辨析并绘制出流程。
Ø 测量
以灵活有效的衡量标准测量和权衡现存的系统与数据,了解现有质量水平。
Ø 分析
利用统计学工具对整个系统进行分析,找到影响质量的少数几个关键因素。
Ø 改进
运用项目管理和其他管理工具,针对关键因素确立最佳改进方案。
Ø 控制
监控新的系统流程,采取措施以维持改进的结果,以期整个流程充分发挥功效。
5 软件质量成本
质量成本概念
质量成本是为确保和保证满意的质量而发生的费用以及没有达到满意的质量所造成损失的总和,即包括保证费用和损失费用。
软件的劣质成本
6 软件质量标准和度量
软件质量标准体系介绍
Ø 标准体系空间
- 纵向:分为产品和过程质量管理标准
- 横向:分为通用和各个行业的质量标准
- 范围:分为国际和国内标准
Ø 标准体系层次
- 原理标准:描述各个原理级的关键组织标准。
- 要素标准:原理标准中的各个要素的详细性能要求的标准,必须执行。
- 指南和补充:为如何把原理或要素标准应用于特定场合而提供指导性的文件。
软件质量度量的地位
Ø 项目质量度量
度量软件项目特征和项目执行的质量状态,包括项目的资源使用效率、项目性能、项目风险等。
Ø 产品质量度量
度量软件产品的特性和质量属性,包括软件产品的功能、复杂性、设计特征、性能和可靠性等。
Ø 过程质量度量
度量软件开发和维护的改进过程,包括过程中某一时刻的状态(时间切面)、历史数据分析度量和未来变化预测的度量等。
采用定量软件工程,制定软件产品质量的度量准则,可以提高软件开发过程管理的可视性,降低劣质成本,提高软件产品的质量。
小结
- 现代软件质量工程体系继承了全面质量管理思想,要求组织中每个人都承担质量的责任,将质量控制、保证和改进的流程融于整个的软件开发生命周期;
- 软件质量工程体系,涵盖质量计划、质量风险管理、质量成本控制和质量计划的实施等内容。质量计划的制定又受质量文化影响、质量方针指导,通过对影响质量各种因素的分析,了解可能存在的质量风险,从而加以回避、控制。通过对软件产品、过程的测量和质量的度量,不断改进软件开发过程,以达到软件质量预先设定的目标 。