文档介绍:第9 章软件质量与质量保证
本章学习内容:
9000软件质量体系
第9 章软件质量与质量保证
软件质量的概念
软件质量定义
与软件产品满足规定的和隐含的需要的能力有关的特征或特性的组合。
软件质量的特性:
与明确确定的功能和性能需求的一致性。即软件需求是质量度量的基础,缺少与需求的一致性就无质量可言;
与明确成文的开发标准的一致性。不遵循专门的开发标准将导致软件质量低劣;
与所有专业开发的软件所期望的隐含的特性的一致性。忽视软件隐含的需求,软件质量将不可信。
第9 章软件质量与质量保证
影响软件质量的因素
正确性:系统满足规格说明和用户的程度,即在预定环境下能正确地完成预期功能的程度。
健壮性:在硬件发生故障、输入的数据无效或操作等意外环境下,系统能做出适当响应的程度。
效率:为了完成预定的功能,系统需要的计算资源的多少。
完整性:对未经授权的人使用软件或数据的企图,系统能够控制的程度。
可用性:系统在完成预定应该完成的功能时令人满意的概率。
风险性:按预定的成本和进度把系统开发出来,并且使用户感到满意。
可理解性:理解和使用该系统的容易程度。
第9 章软件质量与质量保证
可维修性:诊断和改正在运行现场发生的错误所需要的概率。
灵活性:修改或改正在运行的系统需要的工作量的多少。
可测试性:软件容易测试的程度。
可移植性:把程序从一种硬件配置和(或)软件环境转移到另一种配置和环境时,需要的工作量多少。有一种定量度量的方法是:用原来程度设计和调试的成本除移植时需要的费用。
可再用性:在其他应用中该程序可以被再次使用的程度(或范围)。
可运行性:把该系统和另外一个系统结合起来的工作量的多少。
第9 章软件质量与质量保证
软件质量评价应遵循的原则:
应强调软件总体质量(低成本高质量),而不应片面强调软件正确性,忽略其可维护性与可靠性、可用性与效率等;
软件生产的整个周期的各个阶段都注意软件的质量,而不能只在软件最终产品验收时注意质量;
应制定软件质量标准,定量地评价软件质量,使软件产品评价走上评测结合,以测为主的科学轨道。
第9 章软件质量与质量保证
软件质量的度量
软件度量是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程,目的在于对此加以理解、预测、评估、控制和改善。
软件开发主体及其度量内容
角  色
度  量  内  容
经营者
开发组织
(1)顾客满意度;(2)收益;(3)风险;(4)绩效;(5)发布的缺陷的级别;(6)产品开发周期;(7)日程与作业量估算精度;(8)复用有效性;(9)计划与实际的成本
第9 章软件质量与质量保证
角  色
度  量  内  容
管理者
项目组
(1)不同阶段的成本;(2)不同开发小组成员的生产率;(3)产品规模;(4)工作量分配;(5)需求状况;(6)测试用例合格率;(7)主要里程碑之间的估算期间与实际期间;(8)估算与实际的员工水平;(9)结合测试和系统测试检出的缺陷数目;(10)审查发现的缺陷数目;(11)缺陷状况;(12)需求稳定性;(13)计划和完成的任务数目
作业者
软件开发人员
(1)工作量分配;(2)估算与实际的任务期间与工作量;(3)单体测试覆盖代码;(4)单体测试检出缺陷数目;(5)代码和设计的复杂性
第9 章软件质量与质量保证
度量维度
侧  重  点
具体内容
项目度量
理解和控制当前项目的情况和状态;项目度量具有战术性意义,针对具体的项目进行。
规模、成本、工作量、进度、生产力、风险、顾客满意度等
产品度量
侧重理解和控制当前产品的质量状况,用于对产品质量的预测和控制。
以质量度量为中心,包括功能性、可靠性、易用性、效率性、可维护性、可移植性等
过程度量
理解和控制当前情况和状态,还包含了对过程的改善和未来过程的能力预测;过程度量具有战略性意义,在整个组织范围内进行。
如成熟度、管理、生命周期、生产率、缺陷植入率等
第9 章软件质量与质量保证
(1)确认范围
(2)定义程序步骤
(1)数据的采集
(2)数据的分析
(1)确认目标
(2)对当前能力的理解及评价
第9 章软件质量与质量保证
(3)设计度量过程
(4)过程原型
(5)过程文档
(6)过程实施
(7)程序扩展