第3章-1软件质量度量

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

度量术语1
Measure:度量(名词) 是根据一定的规则赋予软件过程或产品 属性的数值或类别[ISO/IEC 145981]。数值是对软件产品、软件过程的 特征的量化计数的结果,类别是特征的 定性表示。 Measure:度量(动词) 按照度量过程中的过程定义,对软件过 程或软件产品实施度量,表示实际的动 作[ISO/IEC 14598-1]。
项目质量度量 产品质量度量 过程质量度量

19
20
软件质量和软件质量要素

影响软件质量的因素

对于软件质量,CMM的定义是:

一个系统、组件或过程符合特定需求的程度; 一个系统、组件或过程符合客户或用户的要求 或期望的程度。
软件业通过多年的实践,总结出软件质量是人 、过程和技术的函数,即Q={M,P,T}。 其中:

PTR形成:测试人员发现问题形成报告 开发/设计人员重现问题,修正,提交新的软 件包给测试组 通过测试 关闭PTR
35
36
6
2016/4/5
PTR累积模型

PTR累积模型
PTR出现/累积模型可以从某个时间单位内的PTR出现值和某个时 间PTR累积值来度量测试中所发现的缺陷变化过程,即软件产品 质量状态的变化过程。度量测试过程中所发现的缺陷变化过程, 也就是软件产品质量状态的变化过程。
11
1. 2.
3.
通过软件度量增加理解; 通过软件度量管理软件项目,主要是计划 和估算、跟踪和确认; 通过软件度量指导软件过程改善,主要是 理解、评估和包装。软件度量对于不同的 实施对象,具有不同的效用。
12
2
2016/4/5
软件度量的作用
角色 软件公司 (1) (2) (3) (4) (5) (6) (7) ( ) (8) (9) (1) (2) (3) (4) (5) (6) (1) (2) (3) (4) 度量效果 改善产品质量; 改善产品交付; 提高生产能力; 降低生产成本; 建立项目估算的基线; 了解使用新的软件工程方法和工具的效果和效率; 提高顾客满意度; ; 创造更多利润; 构筑员工自豪感 分析产品的错误和缺陷; 评估现状; 建立估算的基础; 确定产品的复杂度; 建立基线; 从实际上确定最佳实践; 可建立更加明确的作业目标; 可作为具体作业中的判断标准; 便于有效把握自身的软件开发项目; 便于在具体作业中实施渐进性软件开发改善活动;

指示器是一个或多个度量的综合,是对软件产品或软件过 程的某一方面特征的反映。不同的度量目的,有不同的度 量指示器选择。在具体的实施过程中,可操作的度量成千 上万,应选择最能反映当时度量环境的指标作为度量指示 器。
7
8
软件度量

软件度量(software measurement)
软件度量定义: 对软件开发项目、过程及其产品进行定 量化的过程,目的在于对其加以理解、 预测、评估、控制和改善。
Metric:度量,是已定义的测量方法和测量尺度 [ISO/IEC 14598-1]。

在很多场合与 Indicator 交叉出现,但其内涵大于 Indicator,Metric概指软件环境中任何一个软件对象的 属性的量化表现。

Indicator:指示器,或称为指标。是用于评价或 指示器 或称为指标 是用于评价或 预测其他度量的度量。[ISO/IEC14598-1]。

Q表示软件质量, M表示人, P表示过程, T表示技术。
21
22
软件质量模型
McCall软件质量模型 (1977):
易移植性 外部质量 易复用性 属性 互用性 (external quality lit attribute)
易维护性 灵活性 易测试性
产 品 修 改
产 品 改 型
这些质量管理模型,其研究 对象是软件产品,着重分析 软件质量属性的影响因素, 在软件质量属性和软件设计、 编程的特性之间建立关联映 射,可以帮助认识软件产品 的质量特性 23
美国卡内基·梅隆大学(Carnegie Mellon University,CMU) 软件工程研究所在《软件度量指南》(Software Measurement Guidebook)中认为,软件度量在软件工程中 的作用有:


软件的度量很少借助硬件设备、仪器测量,而是借助 一些软件的方法来进行的: 软件工具 数理统计的方法 自身特定的方法 在众多的软件度量方法中,并不是所有的度量都对软 件工程有实际意义的支持。常用的软件度量不多,一 般可分为3类: 产品度量 过程度量 项目度量 软件度量贯穿整个软件开发生命周期
现存效用
易移植性 人机界面
系 统 功 效
可 移 植 性
可靠性
效率
有 效 性 可维 护性
可靠性,效率, 运行工程
易更改性 设备效率 易交流性 易存取性 可依靠性
测试性,可理解 性,可修改 性
29
硬件独立性
自我描述性
完整性
可认性
准确性
结构性
简明性
一致性
自我包含性
30
5
2016/4/5
ISO9126 软件质量模型(ISO/IEC9126)
外部和 内部质量
功能性 可靠性 易用性 效率 维护性 可移植性
FURPS模型


适合性 准确性 互操作性 保密安 全性
成熟性 容错性 易恢复性
易理解性 易学性 易操作性 吸引性
时间特性 资源利 用性
易分析性 易改变性 稳定性 易测试性
适应性 易安装性 共存性 易替换性


功能性:通过评价特征集和程序的能力、交付的函数的通用 性和整体系统的安全性来评估。 可用性:通过考虑人的因素、整体美学、一致性和文档来评 估。 可靠性:通过度量错误的频率和严重程度、输出结果的准确 度 平均失效间隔时间 从失效恢复的能力 程序的可预测 度、平均失效间隔时间、从失效恢复的能力、程序的可预测 性等来评估。 性能:通过侧度处理速度、响应时间、资源消耗、吞吐量和 效率来评估。 支持度:包括扩展程序的能力可扩展性、可适应性和服务性 这三个属性代表了一个更一般的概念—可维护性、以及可测 试性、兼容度、可配置性组织和控制软件配置的元素的能力 、一个系统可以被安装的容易程度、问题可以被局部化的容 易程度。
2016/4/5
主要内容 第3章(上) 软件质量度量
1
2
为什么软件质量需要有度量?
•当你能够测度你所说的, 并将其用数字表达出来, 你就对它有了一些了解; •当你不能测度,不能用 当你不能测度 不能用 数字表达它时,你对的了 解就很贫乏,很不令人满 意。 ---Lord Kelvin
为什么软件质量需要有度量? 有效产品质量管理 改进用户满意度 改进产品质量 减少产品开发和售后服务支持费用
15
16
软件过程度量

软件过程度量、项目度量与产品度量的区别


软件过程度量:用于软件开发、维护过程 的优化和改进,如开发过程中的缺陷移除 效率、测试阶段中的缺陷到达模式以及缺 陷修复过程的效率等。 目的是形成适合软件组织应有的各种模型 软件 应 种 ,作为对项目、产品的度量基础;以及对 软件开发过程进行持续改进,提高软件生 产力。 主要针对软件开发与维护的流程、执行效 率等展开测量,不局限于一个项目上。
32
31
基于时间的缺陷到达模式
何时到达峰值?是多少?
基于时间的缺陷到达模式
•产品的缺陷密 缺陷数量 度或测试阶段 在达到峰值后,就随时间以较慢的速 率下降,降低到最低点——零点 的缺陷率是一 40 个概括性的指 35 标。 30 •缺 缺陷到达模式 到 25 可以提供更多 20 低而稳定的水平能持续多 的过程信息。 少时间?当前版本何时能 15 •即使缺陷率是 发布? 10 一样,但其质 在测试阶段初期,缺陷 5 量差异可能较 率增长很快。 大,原因在于 0 缺陷到达的模 式不一样。 •缺陷到达越早, 测试过程质量 在到达峰值后要化多少时间到达一个 低而稳定的水平? 就越好。
易复用性
软件独立性 通用性 模块性 硬件独立性 自我描述性 简明性: 代码少 简洁性:易理解 模块性 一致性 自我描述性:有解释
28
易移植性
易维护性
27
Boehm模型

Boehm模型 (1978)
总体效用 易维护性
易理解性 易修改性 易测试性


Boehm模型着手于软件总体 的功效,也就是说,对于一 个软件系统而言,除了有用 性以外,它的开发过程必定 是一个时间,金钱和能量的 消耗过程。考虑到系统交付 时使用它的用户类型, Boehm模型从几个维来考虑 软件的效用。 总功效可以被分解成可移植 性,有效性,可维护性。 其中,有效性可以细分为可 靠性,效率,运行工程可维 护性可以细分为测试性,可 理解性,可修改性。
13
软件度量三维度
项目经理
软件开发人员
14
软件产品度量

软件项目度量


软件产品度量主要用来描述软件产品的特 征,用于产品评估和决策。 产品度量包括

软件规模大小 产品复杂度 设计特征 性能 质量水平


软件项目度量:用来描述项目的特性和执 行状态,如项目计划的有效性、项目资源 使用效率、成本效益、项目风险、进度和 生产力等。 目的 的:是评估项目开发过程的质量、预测 评估 发过程的质 测 项目进度、工作量等,辅助管理者进行质 量控制和项目控制。 是针对具体的项目展开的。
可度量性是学科是否高度成熟的一大标志,度 量使软件开发逐渐趋向专业、标准和科学。

软件度量或者说软件工程度量领域是一个在过 去30多年研究非常活跃的软件工程领域。
9
10
软件度量

软件度量的作用
尽管人们觉得软件度量较难操作,且不愿意在度量上花费时间和精力, 甚至对其持怀疑态度,但是这无法否认软件度量的作用。
用于度 量测试 进度
常用于 软件可 靠性度 量
产品操作
易使用性 正确性 可靠性 高效性 完整性
McCall软件质量模型
24
4
2016/4/5
McCall模型中的每个要素包含系列衡量标准
易操作
易使用性
易追溯性: 从需求中找到实现能力
培训 易交流 输入输出量和速度 一致性 模块性 易扩展性 自我描述性 模块性 通讯共同性 数据共同性
用于决策的可比较的对象。度量已知的事物是 为了进行跟踪和评估。
5
1
2016/4/5
度量术语2

度量术语3


Measurement:测量,是按照一定的尺度用度量 (名词)给软件实体属性赋值的过程 [ISO/IEC 14598-1]。 它强调对软件实体属性进行量化的过程性,是提取 软件过程或软件产品属性的度量(名词)的过程。 它所蕴涵的内容是度量的过程,度量过程可分为评 估度量的过程和直接度量的过程,评估度量的过程 是对计划实施度量的过程,直接度量的过程是在实 施项目过程中收集数据和分析数据的过程。
1 8 22 15 29 3333345
微软公司的缺陷到达模式
34
缺陷达到模式的理想趋势图
33
基于时间的来自百度文库陷到达模式
PTR模型


测试的目标在于尽早地发现软件缺陷。 PTR(Problem Tracking Report)问 题跟踪报告模型可以描述软件缺陷,PTR 的数量在一定程度上代表了软件的质量。 每个缺陷(PTR)有生命周期
6
人们是无法管理不能度量的事物。 在软件开发中,软件质量度量的根本目的是为 了管理的需要。

对于管理人员来说,如果对软件过程的可见度不高,则无法 对此进行管理;如果对见到的事物没有适当的度量或适当的 准则去判断、评估和决策,也无法对它们进行优秀的管理。

利用度量来改进软件过程。

软件工程的目的之一是提供软件过程的 可见度。这就需要使用度量。度量是一种可
17
有些度量属于多个范畴, 如项目开发过程中的质量度量既属于过程度量又属于项目 度量。
18
3
2016/4/5
软件质量度量的分类

从度量方式看,软件质量度量可分为
直接度量:如软件缺陷数、程序代码缺陷密度、 成本、工作量等。 间接度量:许多质量特性,如功能性、复杂性、 可靠性等。


按度量的对象看,软件质量度量可分为
26
正确性 一致性: 一致的术语和技术
完备性: 实现了所有的功能
高效性 运行效率: 使用最少的处理时间
存储效率: 使用最小的内存空间 容错性:异常,仍能操作 一致性 准确性 简洁性
25
灵活性
可靠性
互用性
25
易测试性
检视: 测量、识别错误能力 模块性 简洁性 自我描述性 模块性 软件独立性 硬件独立性 自我描述性


PTR出现/累积模型可以度量测试过程中所发 现的缺陷变化过程,也就是软件产品质量状态 的变化过程。 相对于PTR模型,PTR出现/累积模型更稳定 ,能更多消除一些随机因素的影响,反映了积 能更多消除一些随机因素的影响 反映了积 压的缺陷总量,更直观地度量软件产品质量, 过程控制更有力,预测进度会更准确。 累积模型可以演化为:严重性PTR数,PTR数 与版本规模的加权归一化、每星期关闭的PTR 数、原始PTR出现与有效PTR数的比较等等
相关文档
最新文档