Ch.6 软件质量度量

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

Zhu.Kerry@
序列尺度(Ordinal scale
分类的序列,即在分类的基础上,再加以排序。如用1、2、3、 4、5表示用户的满意度,1满意度最低,5满意度最高。也可以用 某中线为基准的相对百分比来表示程度。
间隔尺度(Interval scale)
通过数值来表示两个邻近测量点之间的差异,但没有绝对的 “零”值。
Zhu.Kerry@
有效资源分配等做出计划,然后将实际结果和计划值进行对比来 件系统结构的复杂程度指标。复杂度度量用于估计或预测软件产 度量。 品的可测试性、可靠性和可维护性,以便选择最优化、最可靠的 程序设计方法,来确定测试策略、维护策略等。 6. 风险度量(risk measurement):一般通过两个参数“风险发生的 3. 缺陷度量(defect measurement):帮助确定产品缺陷分布的情况、 概率”和“风险发生后所带来的损失”来评估风险。 缺陷变化的状态等,从而帮助分析修复缺陷所需的工作量、设计 和编程中存在哪些弱点、预测产品发布时间、预测产品的遗留缺 7. 陷等。 其他的项目度量,如需求稳定性或需求稳定因子 (RSI,Requirement Stability Index)、资源利用效率 (Resource Utilization)、文档复审水平(Review level)、问题 解决能力(Issue-resolving ability)、代码动态增长等。
软件质量保证和管理
- Ch.6 软件质量度量
作者 Zhu.Kerry@
第6章 软件质量度量
6.1 测量基础 6.2 软件度量 6.3 软件质量度量方法 6.4 软件产品的质量度量 6.5 软件过程质量度量 6.6 软件质量度量的执行
Zhu.Kerry@
6.1 质量基础
造性成本模型(COCOMO:constructive cost model)是一种 精确、易于使用的基于模型的成本估算方法 。它有分为基本 COCOMO模型 ,中间COCOMO模型和详细COCOMO模型
3. 代码行度量方法 4. 功能点分析法 5. 面向对象软件的对象点方法
6.2.4 代码行度量方法
SELECT + 0.07 IF-THEN-ELSE
6.4.1 软件复杂性的度量
结构度量方法
Henry给出的复杂性定义: Cp = ( 扇入× 扇出)2
其中: 扇入 – 调用外部模块的模块数 扇出 – 被外部模块调用的次数
Zhu.Kerry@
Card/Glass给出的度量模型: Ct = St + Dt
Zhu.Kerry@
6.2.5 功能点分析法
Zhu.Kerry@
6.2.6 面向对象软件的对象点方法
Zhu.Kerry@
6.3 软件质量度量方法
6.3.1软件质量度量的分类 6.3.2 软件质量度量模型 6.3.3基于时间的缺陷到达模式 6.3.4 PTR累积模型 6.3.5 Rayleigh模型
软件产品度量:主要用来描述软件产品的特征,用于产品评估和
Zhu.Kerry@
决策。产品度量包括软件规模大小、产品复杂度、设计特征、性 能以及质量水平。本书主要讨论产品的质量度量,测量产品的各 个质量指标并最终对产品整体质量做出合理的评估。
软件项目度量:用来描述项目的特性和执行状态,如项目计划的
Zhu.Kerry@
6.4.3 顾客满意度度量
软件项目的顾客满意度要素及其内容
Zhu.Kerry@
顾客满意度要素
软件产品 开发文档 项目进度以及交期 技术水平 沟通能力 运用维护
顾客满意度度量内容
功能性、可靠性、易用性、效率性、可维护 性、可移植性 文档的构成、质量、外观、图表以及索引、 用语 交期的根据、进度迟延情况下的应对、进展 报告 项目组的技术水平、项目组的提案能力、项 目组的问题解决能力 事件记录、格式确认、问题解答 支持、问题发生时的应对速度、问题解决能 力
Zhu.Kerry@
点或特征点等来衡量。软件规模度量是工作量度量、进度度量的 水平来度量,合理地分配研发资源和人力,获得最高的效率比。 基础,用于估算软件项目工作量、编制成本预算、策划项目进度 工作量度量是在软件规模度量和生产率度量的基础上进行。 的基础。
5. 复杂度度量(complexity measurement):确定程序控制流或软 2. 进度度量(schedule measurement):通过任务分解、工作量度量、
整体缺陷清除率
在软件开发过程中发现的所有缺陷数 /发现的总缺陷数
阶段性缺陷清除率
开发阶段清除的缺陷数 100 % 产品中潜伏的缺陷数
6.4.3 顾客满意度度量
软件组织的顾客满意度要素及其内容 顾客满意度要素 技术解决方案 支持与维护 市场营销 管理 交付 企业形象 顾客满意度要素的内容 质量、可靠性、有效性、易用性、价格、安 装、新技术 灵活性、易达性、产品知识 解决方案、接触点、信息 购买流程、请求手续、保证期限、注意事项 准时、准确、交付后过程 技术领导、财务稳定性、执行印象
6.1 质量基础
6.1.1 测量原理 6.1.2 测量标准 6.1.3测量过程和原则
Zhu.Kerry@
6.1.1 测量原理
Zhu.Kerry@
测量原理示意图
6.1.1 测量原理-度量尺度
分类尺度(Nomnal scale)
某个指标被分成一系列的类别。如产品质量属性有:功能性、 适用性、性能、安全性、可靠性、可维护性等。
6.5 软件过程质量度量
6.5.1 软件需求过程的质量度量 6.5.2 软件过程生产率的度量 6.5.3 测试阶段的过程质量度量 6.5.4 维护阶段的过程质量度量
Zhu.Kerry@
6.5.1 软件需求过程的质量度量
需求一致性度量
Q1 = nui /nr nui是所有复审者都有相同解释的需求数目 nr是需求说明书中需求的个数,包含功能和非功能需求
3个基本概念

Zhu.Kerry@


测量(Measurement)是对产品过程的某个属性 的范围、数量、维度、容量或大小提供一个定量 的指示; 度量(Metric)是对软件产品进行范围广泛的测 度,它给出一个系统、构件或过 程的某个给 定属性的度的定量测量; 指标 (Indicator) 是一个度量或一组度量的组合, 采用易于理解的形式,对软件过程、项目或产品质 量提供更全面、深入的评价和了解,以利于过程 和质量的分析
6.2.3 软件产品的规模度量
1.德尔菲法
德尔菲法(Delphi technique)是一种专家评估技术,适用于在 没有或没有足够的历史数据情况下,来评定软件采用不同的技术、 新技术所带来的差异,但专家的水平及对项目的理解程度是工作 中的关键点。
Zhu.Kerry@

2. COCOMO模型
有效但不可靠 可靠且有效

可靠但不有效
6.1.3 测量过程和原则
测量过程
识别目标和度量描述
Zhu.Kerry@
定义度量过程
搜集数据
数据分析与反馈
过程改进
6.1.3 测量过程和原则
基本的测量原则:
测量应该基于该应用领域正确的理论之上,并在测量的定义中 确定测度的目标; 每一个技术测量的定义应该具有一致性和客观性、无二义性; 测量在经验和直觉上也应该有说服力; 测量的方法力求简单、可计算性; 测量应该被剪裁以最适应特定的产品和过程,而且任何时候应 尽可能使得收集和分析自动化; 应该用正确的统计技术来建立内部产品属性和外部待测量特征 的关系; 测量结果应该是可靠的,不会因为一些技术问题导致测量结果 很大的偏离。 测量应该建立反馈机制

Zhu.Kerry@
6.2软件度量
6.2.1 软件开发生命周期的度量活动 6.2.2 软件的项目度量 6.2.3 软件产品的规模度量 6.2.4 代码行度量方法 6.2.5 功能点分析法 6.2.6 面向对象软件的对象点方法
Zhu.Kerry@
6.2.1 软件开发生命周期的度量活动
6.2.1 软件开发生命周期的度量活动
Zhu.Kerry@
软件开发生命周期中的测量活动
6.2.2 软件的项目度量
1. 工作量度量(workload measurement):任务分解并结合人力资源 4. 规模度量 (size measurement):以代码行数、功能点数、对象
语法构造方法 基本思路是根据程序中可执行代码行的操作符和操 作数的数量来计算程序的复杂性。操作符和操作数的量 越大,程序结构就越复杂。
语法构造方法可以揭示程序中单独的语法构造和缺 陷率之间的关系:
Zhu.Kerry@
缺陷率= 0.15 + 0.23 DO WHILE + 0.22
其中: St – 结构(模块间)复杂性 Dt – 数据(模块间)复杂性
6.4.2 软件缺陷度量
缺陷密度——软件缺陷在规模上的分布
如:每KLOC或每个功能点(或类似功能点的度量——对象点、数 据点、特征点等)的缺陷数
Zhu.Kerry@
缺陷率——缺陷在时间上的分布
如:对应用软件的角度来说,90%以上的缺陷是在发布后两年内 被发现出来 。
Zhu.Kerry@
6.3.3 PTR累积模型
Zhu.Kerry@
PTR累积模型
6.3.5 Rayleigh模型
Zhu.Kerry@
软件项目过程的Rayleigh模型形状
6.4 软件产品的质量度量
6.4.1 软件复杂性的度量 6.4.2 软件缺陷度量 6.4.3 顾客满意度度量
Zhu.Kerry@
6.3.1软件质量度量的分类
6.2.1已经介绍了相关内容
Zhu.Kerry@
这里是否就不用介绍了?
6.3.3基于时间的缺陷到达模式
缺陷数量 40 35 30 25 20 15 10 5 0
31 38 315 322 329 45
在测试阶段初期,缺陷 率增长很快。 在达到峰值后,就随时间以较慢的速 率下降,降低到最低点——零点
Zhu.Kerry@
6.4.1 软件复杂性的度量
McCabe环形计算复杂度
Zhu.Kerry@
复杂度计算公式为:
M = V(G) = e – n + 2p
其中: V(G) 路径图的环形数目 e = 边的数目 n = 节点数目 p = 图中没有连接部分的数目
6.4.1 软件复杂性的度量
比值尺度(Ratio Scale)
和间隔尺度相似,但有绝对的“零”值存在。
6.1.2 测量标准
有效性和可靠性是测量标准中最重要的指标 。

Zhu.Kerry@
有效性指的是测量的结果正是反映了被测试对象的实 际状况和程度、或合乎事务的发展、变化的规律—— 我们所需要的测量。 可靠性指的是使用同样的测量方法对同样的事物进行 多次测量,得到值的一致性。多次测量的值越接近, 可靠性就越高;反之则可靠性越低。
Zhu.Kerry@
缺陷达到模式的理想趋势图 微软公司的缺陷到达模式
6.3.3基于时间的缺陷到达模式
不同的缺陷统计方法:
1)一定时间内的总缺陷数; 2)一定时间内的严重程度前两个等级的缺陷数之和; 3)一定时间内的新引进的缺陷及回归的缺陷之和; 4)一定时间内的新引进的缺陷及回归的缺陷,而且严重 程度在前两个等级的缺陷之和。
有效性、项目资源使用效率、成本效益、项目风险、进度和生产 力等。目的是评估项目开发过程的质量、预测项目进度、工作量 等,辅助管理者进行质量控制和项目控制。
软件过程度量:用于软件开发、维护过程的优化和改进,如开发
过程中的缺陷移除效率、测试阶段中的缺陷到达模式以及缺陷修 复过程的效率等。对于软件过程本身的度量,目的是形成适合软 件组织应有的各种模型,作为对项目、产品的度量基础;以及对 软件开发过程进行持续改进,提高软件生产力。
相关文档
最新文档