软件过程质量度量与控制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件过程质量度量与控制
独立咨询师
李 健
北京 2003年9月16日
提纲
软件度量 软件度量 度量的过程 度量的过程 度量的对象 度量的对象 度量的技术 度量的技术 度量的几点考虑 度量的几点考虑
2003-9-16
李健 jasonli@vip.sina.com
第 2页
基本概念
• Measure,度量(名词),是根据一定的规则赋予软件过程或产品属性的数值或类别[ISO/IEC 14598-1] 。数值是对软件产品、软件过程的特征的量化记数的结果,类别是特征的定性表示,例如编写程序的 语言,可以是C或C++。 Measure,度量(动词),按照度量过程中的过程定义,对软件过程或软件产品实施度量,表示实际的 动作。 [ISO/IEC 14598-1] Measurement,测量,是按照一定的尺度用度量(名词)给软件实体属性赋值的过程[ISO/IEC 14598-1] 。它强调对软件实体属性进行量化的过程性,是提取软件过程或软件产品属性的度量(名词)的过程 。它所蕴涵的内容是度量的过程,度量过程可分为评估度量的过程和直接度量的过程,评估度量的过 程是对计划实施度量的过程,直接度量的过程是在实例项目过程中收集数据和分析数据的过程。 Metric,度量,是已定义的测量方法和测量尺度[ISO/IEC 14598-1]。在很多场合与Indicator交叉出现, 但其内涵大于Indicator,Metric概指软件环境中任何一个软件对象的属性的量化表现。 Indicator,指示器,是用于评价或预测其他度量(名词)的度量(名词)[ISO/IEC 14598-1]。指示器是 一个或多个度量的综合,是对软件产品或软件过程的某一方面特征的反映。不同的度量目的有不同的 度量指示器选择。在具体的实施过程中,可操作的度量成千上万,选择最能反映当时度量环境的指标 作为度量指示器。 Process Capability,软件过程能力度描述通过遵循软件过程能够实现预期结果的程度。[CMM Version 1.1] Process Maturity,软件过程成熟度是一个特定过程被明确定义、管理、度量、控制、并且是有效的程 度。[CMM Version 1.1] Process Performance,软件过程性能是过程实际执行的结果。[CMM Version 1.1] 李健 jasonli@vip.sina.com
第 7页
度量与软件过程管理
改善软件过程
规划软件过程
控制软件过程
应用度量
计划度量
软件过程 度量信息
软件产品 度量信息
人、资源 输入信息
执行软件过程
软件产品
2003-9-16
李健 jasonli@vip.sina.com
第 8页
度量的目的
度量的目的
理解过程
管理过程
理解过程
评价过程
预测过程
控制过程
改善过程
2003-9-16
李健 jasonli@vip.sina.com
2003-9-16
李健 jasonli@vip.sina.com
第 20页
度量过程的能力度
• 未完成层 • 已执行层 • 已管理层 • 已定义层 • 量化管理层 • 优化层
ISPMM 具有已管理层 和已定义层的过程 特征并且支持软件 组织建立能力度为 已定义层以下的过 程实现
2003-9-16
李健 jasonli@vip.sina.com
度量计划/结果
2003-9-16
李健 jasonli@vip.sina.com
第 6页
用户对象
项目主管 :计划与控制 高层主管 :过程的可见性
软件过程组 :过程改善
软件过程度量
客户/用户 :跟踪
技术中心 :研究 相互通信 项目内部 信息流 项目外部
2003-9-16
李健 jasonli@vip.sina.com
第 10页
2003-9-16
过程的度量和产品的度量
差异
– 度量目标,产品度量是用于对软件产品进行评价,在此基础之上进行产品设 计优化。软件过程度量是为了对软件过程的行为进行目标管理,并在度量的 基础上对软件过程进行控制、评价和改善。 – 度量内容,对软件产品的度量侧重于软件结构的度量,度量的内容与软件开 发技术密切相关。对软件过程的度量有三大类基本内容,分别是质量、时间 和资源。 – 度量方法,对产品的度量方法是阶段性方法,度量对象是软件生产后期得到 的成形的软件产品。对软件过程的度量方法是过程性方法,度量过程中的各 个阶段所用到的技术、方法是动态更新的。 – 度量结果,产品度量结果通常是软件产品的复杂度模型和可靠性模型等。对 过程度量的结果是过程基线。
…
度量对象: 目的: 用户对象: 度量环境:
度量对象:X项目中的同级评审过程 目的:在评价的基础上改善过程效率 用户对象:软件组织过程改善组 度量环境:新开发电力系统办公自动化项目。 项目组规模50人,其中开发人员40人。
2003-9-16
李健 jasonli@vip.sina.com
第 19页
ISPMM:数据分析子过程
2003-9-16
李健 jasonli@vip.sina.com
第 9页
度量的分类
• 客观度量和主观度量
– – 主观度量是人的主观判断结果,主观度量也可以是在客观数据基础上的分析结果。 客观度量是过程或产品的实际结果,客观度量在一定程度上就减少了人为的主观影响。
•
绝对度量和相对度量
– – 绝对度量其度量值的取得是没有参照物或没有其他的依赖关系,比如一个程序模块的大小具有绝 对的代码行数,其他代码模块的变化不影响该模块的大小。 相对度量是其度量值的取得具有参照物或与其他属性的有依赖关系,比如过程生产率依赖于过程 时间和过程产出的规模。
•
显式度量和隐式度量
– – 显示度量是可直接得到数据的度量,例如编程时间是显式度量。 隐式度量是对原始度量数据进行运算或结合多个度量分析得到的结果,例如个人编程效率。
•
动态度量和静态度量
– – 动态度量是两维以上的度量。 静态度量是一维度量。
• •
预测度量和解释度量 内部度量和外部度量
– 软件组织内部和软件组织外部,项目组内部与项目组外部,项目内小组之间。 李健 jasonli@vip.sina.com
2003-9-16
李健 jasonli@vip.sina.com
第 12页
度量的过程
• GQM(Goal-Question-Measurement) • PSM(Practical Software Measurement)
逆向过程 过程 目标 商业 目标 过程和产品 “G” 度量 目标 “Q” 度量 问题 “M” 度量 度量用户对象 正向过程
联系
– 产品度量内容可以是过程度量内容的一部分; – 对产品的度量结果是对产品的评价,而产品又是过程的结果,产品的好坏从 一个方面体现了过程的好坏。
2003-9-16
李健 jasonli@vip.sina.com
第 11页
提纲
软件度量 软件度量 度量的过程 度量的过程 度量的对象 度量的对象 度量的技术 度量的技术 度量的几点考虑 度量的几点考虑
多层次度量需求
– 软件项目度量需求,侧重理解和控制当前项目的情况和状态 – 软件产品度量需求,侧重理解和控制当前产品的质量状况 – 软件过程度量需求,理解和控制当前情况和状态,还包含了对 过程的改善和未来过程的能力预测。
2003-9-16
李健 jasonli@vip.sina.com
第 23页
选择度量的衡量指标(参考)
2003-9-16
李健 jasonli@vip.sina.com
第 14页
软件过程的度量过程
目标驱动的度量过程ISPMM
2003-9-16
李健 jasonli@vip.sina.com
第 15页
ISPMM:准备度量子过程
2003-9-16
李健 jasonli@vip.sina.com
第 16页
ISPMM:选择度量子过程
第 3页
• •
• •
• • •
2003-9-16
度量
度量不等于量化,度量不等于决策(比如:项目选择模型)
非数字决策模型
–领导拍板型 –产品线扩展型 –运作需要型 –利益比较模型 –竞争需要型
数字模型
(1)盈利分析模型 –回收期模型 –内部回收率 (2)积分模型 –非加权0-1模型 –限制加权计分模型 –非加权计分模型 –其他加权计分模型 –加权计分模型 –平均回收 –盈利指数 –折扣现金流 –其他盈利模型
2003-9-16
李健 jasonli@vip.sina.com
第 13页
CMMI中的度量过程
• SG1 整合度量与分析 – SP1.1 建立度量目标 – SP1.2 指定度量 – SP1.3 指定度量数据采集和存储的规程 – SP1.4 指定度量分析的规程 • SG2 提供度量结果 – SP2.1 收集度量数据 – SP2.2 分析度量数据 – SP2.3 存储数据和结果 – SP2.4 度量结果交流 • GG2 (GP2.1 – 2.10) • GG3 (GP3.1 – 3.2)
• • • • •
Metrics must be simple,objective,easy to collect,easy to interpret,and hard to misinterpret. Metrics collection must be automated and nonintrusive,that is, not interfere with the activities of developers. Metrics must provide consistent assessments throughout the life cycle, especially in early phases, when efforts to improve quality have a high payoff. Metrics,both values and trends, must be used actively by management and engineering personnel for communicating progress and quality in a consistent format. Metrics’ fidelity improves across the life cycle.
• • • • • • It is considered meaningful by the customer,manager,and performer. It demonstrated quantifiable correlation between process perturbations and business performance. It is objective and unambiguously defined. It displays trends. It is a natural by-product of the process. It is supported by automation.
2003-9-16
李健 jasonli@vip.sina.com
第 17页
怎样确定度量目标
你想获得什么,你就度量什么 !
2003-9-16
李健 jasonli@vip.sina.com
第 18页
度量目标选择及描述
商业目标 1 关键过程目标 1 度量目标 1 商业目标 2 关键过程目标 2 度量目标 2 … … 商业目标 n 关键过程目标 m 度量目标 k
第 21页
提纲
软件度量 软件度量 度量的过程 度量的过程 度量的对象内容 度量的对象内容 度量的技术 度量的技术 度量的几点考虑 度量的几点考虑
2003-9-16
李健 jasonli@vip.sina.com
第 2源自文库页
软件度量选择的方针
“着眼现在,展望未来”
在度量的基础上,理解并控制管理现有过程,找出现有过程存 在的问题进行改善,并通过评价来衡量改善的结果以增强过程 的预测能力。
2003-9-16
李健 jasonli@vip.sina.com
第 4页
软件管理的基本过程模型
2003-9-16
李健 jasonli@vip.sina.com
第 5页
软件过程管理与项目管理
软件过程改善
软件过程定义
软件过程控制
软件过程度量
软件过 程执行
需求
软件开发
产品
项目计划 执行
定义项目计划
调整项目计划
独立咨询师
李 健
北京 2003年9月16日
提纲
软件度量 软件度量 度量的过程 度量的过程 度量的对象 度量的对象 度量的技术 度量的技术 度量的几点考虑 度量的几点考虑
2003-9-16
李健 jasonli@vip.sina.com
第 2页
基本概念
• Measure,度量(名词),是根据一定的规则赋予软件过程或产品属性的数值或类别[ISO/IEC 14598-1] 。数值是对软件产品、软件过程的特征的量化记数的结果,类别是特征的定性表示,例如编写程序的 语言,可以是C或C++。 Measure,度量(动词),按照度量过程中的过程定义,对软件过程或软件产品实施度量,表示实际的 动作。 [ISO/IEC 14598-1] Measurement,测量,是按照一定的尺度用度量(名词)给软件实体属性赋值的过程[ISO/IEC 14598-1] 。它强调对软件实体属性进行量化的过程性,是提取软件过程或软件产品属性的度量(名词)的过程 。它所蕴涵的内容是度量的过程,度量过程可分为评估度量的过程和直接度量的过程,评估度量的过 程是对计划实施度量的过程,直接度量的过程是在实例项目过程中收集数据和分析数据的过程。 Metric,度量,是已定义的测量方法和测量尺度[ISO/IEC 14598-1]。在很多场合与Indicator交叉出现, 但其内涵大于Indicator,Metric概指软件环境中任何一个软件对象的属性的量化表现。 Indicator,指示器,是用于评价或预测其他度量(名词)的度量(名词)[ISO/IEC 14598-1]。指示器是 一个或多个度量的综合,是对软件产品或软件过程的某一方面特征的反映。不同的度量目的有不同的 度量指示器选择。在具体的实施过程中,可操作的度量成千上万,选择最能反映当时度量环境的指标 作为度量指示器。 Process Capability,软件过程能力度描述通过遵循软件过程能够实现预期结果的程度。[CMM Version 1.1] Process Maturity,软件过程成熟度是一个特定过程被明确定义、管理、度量、控制、并且是有效的程 度。[CMM Version 1.1] Process Performance,软件过程性能是过程实际执行的结果。[CMM Version 1.1] 李健 jasonli@vip.sina.com
第 7页
度量与软件过程管理
改善软件过程
规划软件过程
控制软件过程
应用度量
计划度量
软件过程 度量信息
软件产品 度量信息
人、资源 输入信息
执行软件过程
软件产品
2003-9-16
李健 jasonli@vip.sina.com
第 8页
度量的目的
度量的目的
理解过程
管理过程
理解过程
评价过程
预测过程
控制过程
改善过程
2003-9-16
李健 jasonli@vip.sina.com
2003-9-16
李健 jasonli@vip.sina.com
第 20页
度量过程的能力度
• 未完成层 • 已执行层 • 已管理层 • 已定义层 • 量化管理层 • 优化层
ISPMM 具有已管理层 和已定义层的过程 特征并且支持软件 组织建立能力度为 已定义层以下的过 程实现
2003-9-16
李健 jasonli@vip.sina.com
度量计划/结果
2003-9-16
李健 jasonli@vip.sina.com
第 6页
用户对象
项目主管 :计划与控制 高层主管 :过程的可见性
软件过程组 :过程改善
软件过程度量
客户/用户 :跟踪
技术中心 :研究 相互通信 项目内部 信息流 项目外部
2003-9-16
李健 jasonli@vip.sina.com
第 10页
2003-9-16
过程的度量和产品的度量
差异
– 度量目标,产品度量是用于对软件产品进行评价,在此基础之上进行产品设 计优化。软件过程度量是为了对软件过程的行为进行目标管理,并在度量的 基础上对软件过程进行控制、评价和改善。 – 度量内容,对软件产品的度量侧重于软件结构的度量,度量的内容与软件开 发技术密切相关。对软件过程的度量有三大类基本内容,分别是质量、时间 和资源。 – 度量方法,对产品的度量方法是阶段性方法,度量对象是软件生产后期得到 的成形的软件产品。对软件过程的度量方法是过程性方法,度量过程中的各 个阶段所用到的技术、方法是动态更新的。 – 度量结果,产品度量结果通常是软件产品的复杂度模型和可靠性模型等。对 过程度量的结果是过程基线。
…
度量对象: 目的: 用户对象: 度量环境:
度量对象:X项目中的同级评审过程 目的:在评价的基础上改善过程效率 用户对象:软件组织过程改善组 度量环境:新开发电力系统办公自动化项目。 项目组规模50人,其中开发人员40人。
2003-9-16
李健 jasonli@vip.sina.com
第 19页
ISPMM:数据分析子过程
2003-9-16
李健 jasonli@vip.sina.com
第 9页
度量的分类
• 客观度量和主观度量
– – 主观度量是人的主观判断结果,主观度量也可以是在客观数据基础上的分析结果。 客观度量是过程或产品的实际结果,客观度量在一定程度上就减少了人为的主观影响。
•
绝对度量和相对度量
– – 绝对度量其度量值的取得是没有参照物或没有其他的依赖关系,比如一个程序模块的大小具有绝 对的代码行数,其他代码模块的变化不影响该模块的大小。 相对度量是其度量值的取得具有参照物或与其他属性的有依赖关系,比如过程生产率依赖于过程 时间和过程产出的规模。
•
显式度量和隐式度量
– – 显示度量是可直接得到数据的度量,例如编程时间是显式度量。 隐式度量是对原始度量数据进行运算或结合多个度量分析得到的结果,例如个人编程效率。
•
动态度量和静态度量
– – 动态度量是两维以上的度量。 静态度量是一维度量。
• •
预测度量和解释度量 内部度量和外部度量
– 软件组织内部和软件组织外部,项目组内部与项目组外部,项目内小组之间。 李健 jasonli@vip.sina.com
2003-9-16
李健 jasonli@vip.sina.com
第 12页
度量的过程
• GQM(Goal-Question-Measurement) • PSM(Practical Software Measurement)
逆向过程 过程 目标 商业 目标 过程和产品 “G” 度量 目标 “Q” 度量 问题 “M” 度量 度量用户对象 正向过程
联系
– 产品度量内容可以是过程度量内容的一部分; – 对产品的度量结果是对产品的评价,而产品又是过程的结果,产品的好坏从 一个方面体现了过程的好坏。
2003-9-16
李健 jasonli@vip.sina.com
第 11页
提纲
软件度量 软件度量 度量的过程 度量的过程 度量的对象 度量的对象 度量的技术 度量的技术 度量的几点考虑 度量的几点考虑
多层次度量需求
– 软件项目度量需求,侧重理解和控制当前项目的情况和状态 – 软件产品度量需求,侧重理解和控制当前产品的质量状况 – 软件过程度量需求,理解和控制当前情况和状态,还包含了对 过程的改善和未来过程的能力预测。
2003-9-16
李健 jasonli@vip.sina.com
第 23页
选择度量的衡量指标(参考)
2003-9-16
李健 jasonli@vip.sina.com
第 14页
软件过程的度量过程
目标驱动的度量过程ISPMM
2003-9-16
李健 jasonli@vip.sina.com
第 15页
ISPMM:准备度量子过程
2003-9-16
李健 jasonli@vip.sina.com
第 16页
ISPMM:选择度量子过程
第 3页
• •
• •
• • •
2003-9-16
度量
度量不等于量化,度量不等于决策(比如:项目选择模型)
非数字决策模型
–领导拍板型 –产品线扩展型 –运作需要型 –利益比较模型 –竞争需要型
数字模型
(1)盈利分析模型 –回收期模型 –内部回收率 (2)积分模型 –非加权0-1模型 –限制加权计分模型 –非加权计分模型 –其他加权计分模型 –加权计分模型 –平均回收 –盈利指数 –折扣现金流 –其他盈利模型
2003-9-16
李健 jasonli@vip.sina.com
第 13页
CMMI中的度量过程
• SG1 整合度量与分析 – SP1.1 建立度量目标 – SP1.2 指定度量 – SP1.3 指定度量数据采集和存储的规程 – SP1.4 指定度量分析的规程 • SG2 提供度量结果 – SP2.1 收集度量数据 – SP2.2 分析度量数据 – SP2.3 存储数据和结果 – SP2.4 度量结果交流 • GG2 (GP2.1 – 2.10) • GG3 (GP3.1 – 3.2)
• • • • •
Metrics must be simple,objective,easy to collect,easy to interpret,and hard to misinterpret. Metrics collection must be automated and nonintrusive,that is, not interfere with the activities of developers. Metrics must provide consistent assessments throughout the life cycle, especially in early phases, when efforts to improve quality have a high payoff. Metrics,both values and trends, must be used actively by management and engineering personnel for communicating progress and quality in a consistent format. Metrics’ fidelity improves across the life cycle.
• • • • • • It is considered meaningful by the customer,manager,and performer. It demonstrated quantifiable correlation between process perturbations and business performance. It is objective and unambiguously defined. It displays trends. It is a natural by-product of the process. It is supported by automation.
2003-9-16
李健 jasonli@vip.sina.com
第 17页
怎样确定度量目标
你想获得什么,你就度量什么 !
2003-9-16
李健 jasonli@vip.sina.com
第 18页
度量目标选择及描述
商业目标 1 关键过程目标 1 度量目标 1 商业目标 2 关键过程目标 2 度量目标 2 … … 商业目标 n 关键过程目标 m 度量目标 k
第 21页
提纲
软件度量 软件度量 度量的过程 度量的过程 度量的对象内容 度量的对象内容 度量的技术 度量的技术 度量的几点考虑 度量的几点考虑
2003-9-16
李健 jasonli@vip.sina.com
第 2源自文库页
软件度量选择的方针
“着眼现在,展望未来”
在度量的基础上,理解并控制管理现有过程,找出现有过程存 在的问题进行改善,并通过评价来衡量改善的结果以增强过程 的预测能力。
2003-9-16
李健 jasonli@vip.sina.com
第 4页
软件管理的基本过程模型
2003-9-16
李健 jasonli@vip.sina.com
第 5页
软件过程管理与项目管理
软件过程改善
软件过程定义
软件过程控制
软件过程度量
软件过 程执行
需求
软件开发
产品
项目计划 执行
定义项目计划
调整项目计划