What

什么是度量?

度量存在于左右我们生活的很多系统的之中。在经济领域,度量决定着价格和付款的增加;在雷达系统中,度量使我们能透过云层探测到飞机;在医疗系统中,度量使得能够诊断某些特殊疾病;在天气预测系统中,度量是天气预报的基础……

度量的正式定义是:把数字或符号指定给实体的某一属性,以便以这种方式来根据已明确的规则来描述它们。

什么是软件度量?

软件度量是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程;

软件度量能够为项目管理者提供有关项目的各种重要信息,其实质是根据一定规则,将数字或符号赋予系统、构件、过程或者质量等实体的特定属性,即对实体属性的量化表示,从而能够清楚地理解该实体。软件度量贯穿整个软件开发生命周期,是软件开发过程中进行理解、预测、评估、控制和改善的重要载体。

Why

为什么需要软件度量?

费用超支(特别是在维护阶段的花费太大)、生产率低下、以及质量不高等问题正困扰着软件开发。简言之,软件开发经常处于失控状态。软件之所以失控是因为没有度量。Tom Demarco 曾经说过:"没有度量就不能控制。"这种说法是好的,但不完全。并不能说为了获得控制必须进行度量。度量活动必须有明确的目标或目的,而正是这决定着我们选择哪种属性和实体进行度量,这个目标与软件开发、使用时所涉及的人的层次有关。

利用度量来改进软件过程,人们是无法管理不能度量的事物。在软件开发的历史中,我们可以意识到,在60年代末期的大型软件所面临的软件危机反映了软件开发中管理的重要性。而对于管理层人员来说:没有对软件过程的可见度就无法管理;而没有对见到的事物有适当的度量或适当的准则去判断、评估和决策,也无法进行优秀的管理。我们说软件工程的方法论主要在提供可见度方面下工夫。但仅仅是方法论的提高并不能使其成为工程学科。这就需要使用度量。度量是一种可用于决策的可比较的对象。度量已知的事物是为了进行跟踪和评估。对于未知的事物,度量则用于预测。

Who

谁需要软件度量?

软件度量的根本目的是为了管理的需要。因为人们是无法管理不能度量的事物,利用度量来改进软件过程。

对管理者而言

1.需要度量软件开发过程中不同阶段的成本。

例如:度量开发整个软件系统的费用(包括从需求分析阶段到发布之后的维护阶段)。必须清楚这个费用以决定在保证一定的利润的情况下的价格。

2.需要度量不同小组职员的生产率,以决定付给开发小组费用。

3.为了对不同的项目进行比较、对将来的项目进行预测、建立基线以及设定合理的改进目标等,需要度量开发的产品的质量。

4.需要决定项目的度量目标。例如:应达到多大的测试覆盖率、系统最后的可靠性应有多大等。

5.为了找出是什么因素影响着费用和生产率,需要反复测试某一特定过程和资源的属性。

6.需要度量和估计不同软件工程方法和工具的效用,以便决定是否有必要把它们引入到公司中。

对软件工程师而言

1.需要制定过程度量以监视不断演进的系统。这包括设计过程中的改动、在不同的回顾或测试阶段发现的错误等等。

2.需使用严格的度量的术语来指定对软件质量和性能的要求,以便使这些要求是可测试的。例如:系统必须"可靠",可用如下的更具体 的文字加以描述:“平均错误时间必须大于15个CPU时间片。”

3.为了合格需要度量产品和过程的属性。例如:看一个产品是否合格要看产品的一些可度量的特性如“β测试阶段少于20个错误。”,“每个模块的代码行不超过100行。”,和开发过程的一些属性如“单元测试必须覆盖90%以上的用例。”等。

4.需要度量当前已存在的产品和过程的属性以便预测将来的产品。例如:

(1).通过度量软件规格说明书的大小来预测软件的大小。

(2).通过度量设计文档的结构特性来预测将来维护的"盲点"。

(3).通过度量测试阶段的软件的可靠性来预测软件今后操作、运行的可靠性。

Where

软件度量包括哪些方面?

软件度量贯穿软件开发全过程,是软件开发过程中进行理解、预测、评估、控制和改善的重要载体。软件度量包括3个维度,即项目度量、产品度量和过程度量。

项目度量:包括项目的进度和过程的度量、资源和成本的度量等;目的在于度量项目规模、项目成本、项目进度、顾客满意度等,辅助项目管理进行项目控制。

产品度量:包括产品的质量、产品的规模和稳定性等;软件产品度量用于对软件产品进行评价,并在此基础之上推进产品设计、产品制造和产品服务优化。

过程度量:过程度量是对软件开发过程的各个方面进行度量,目的在于预测过程的未来性能,减少过程结果的偏差,对软件过程的行为进行目标管理,为过程控制、过程评价持续改善提供定量性基础。

When

何时需要进行软件度量?

软件开发项目的全生命周期是一个软件项目从概念到完成所经过的所有阶段,主要由:概念或立项阶段、规划或定义阶段、执行(实施、监控)阶段和结束(试运行或结束)阶段。

在概念或立项阶段需要对软件项目进行目标和概念的确定,确定目标并为启动项目做准备,在这个阶段需要预估软件的规模(项目的资源和成本度量等);

在规划或定义阶段需要对软件项目的规划制定工作路线,这个阶段需要预估工作量、拆解任务及制定计划(项目进度与计划度量);

在执行(实施、监控)阶段需要对软件项目的开发实施过程进行管控与分析,提高研发效能(过程度量、产品度量);

在结束(试运行或结束)阶段需要对软件运行状态进行评估,产品质量进行分析、顾客满意度进行调研等(项目度量、产品度量、过程度量)

How

怎样进行软件度量?

如何进行软件度量的重要性是显而易见的。首先我们必须弄清楚“软件度量”是一个包含很多完全不同的活动的术语。它主要包括:软件项目规模度量、成本度量、顾客满意度度量、进度度量等。

软件规模的估算方法有很多种,如:功能点分析(FPA:function points analysis)、代码行(LOC:lines of code)、德尔菲法(Delphi technique)、COCOMO模型、特征点(feature point)、对象点(object point)、3-D功能点(3-D function points)、Bang度量(DeMarco’s bang metric)、模糊逻辑(fuzzy logic)、标准构件法(standard component)等,这些方法不断细化为更多具体的方法。

软件成本度量主要指软件开发项目所需的财务性成本的估算,主要有类比估算法、细分估算法、周期估算法。

顾客满意度度量,需要建立顾客满意度度量体系和指标对顾客满意度进行度量。顾客满意度指标(CSI:customer satisfaction index)以顾客满意研究为基础,对顾客满意度加以界定和描述。项目顾客满意度量的要点在于:确定各类信息、数据、资料来源的准确性、客观性、合理性、有效性,并以此建立产品、服务质量的衡量指标和标准。

总结:

1)、软件度量的三个方面

产品:各种文档和程序;

过程:各种软件开发活动;

资源:各种资源如人员、费用等;

2)、软件度量的方法

分解方法,采用“分而治之”的策略,对软件项目进行分解,再采用逐步求精的方式进行估算,最后通过累加获得整体的估算结果。(WBS方法)

算术模型,通过估算模型来产生估算。

专家判断或经验法,如德尔菲法(Delphi technique)。

比例法是比较科学的一种传统估算方法,是基于类比的估算技术,根据过去类似的项目,直接进行类比获得当前项目的估算结果。

5W1H剖析软件度量相关推荐

  1. 目标驱动的软件度量(选译)

    1 介绍 1.1 目的 这本指导书讲述了如何识别和定义软件度量来支持你们自己组织的商业目标.我们要讲解的这个过程会提供深入对于你们来说最重要的管理的洞察力.这些度量能够追溯到你们的商业目标,因此你们的 ...

  2. 《精益软件度量——实践者的观察与思考》—第1章1.1节精益软件开发的度量体系...

    本节书摘来自异步社区<精益软件度量--实践者的观察与思考>一书中的第1章1.1节精益软件开发的度量体系,作者张松,更多章节内容可以访问云栖社区"异步社区"公众号查看. ...

  3. 软件度量五步法包括_软件交付效能度量——从吞吐量和稳定性开始

    除了感性的工作体验外,我们还需要指标来度量改进措施是否对提升软件交付效能有帮助.过多的指标会对团队造成不必要的管理成本,也容易让团队失去关注焦点.从吞吐量和稳定性两个维度考量的四个关键指标是简单但有效 ...

  4. 精益软件度量之读书笔记(一)度量和组织目标

    作者就职于咨询公司,因此书中的内容更加偏向于理论框架 度量 度量的理解 度量的重点应该从"控制"转变为"改进":精益的一个核心理念是持续改进.在理念上,我们希望 ...

  5. 《精益软件度量——实践者的观察与思考》—第1章1.2节度量是什么

    本节书摘来自异步社区<精益软件度量--实践者的观察与思考>一书中的第1章1.2节度量是什么,作者张松,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.2 度量 ...

  6. 软件度量不是猫抓老鼠的游戏

    管理学大师彼得·德鲁克曾说过:"你如果无法度量它,就无法管理它."在管理领域,度量是绕不开的话题,而在软件开发领域同样如此. 持续改进从度量开始 在过去三四十年中,一直困扰软件开发 ...

  7. 离岸外包二:离岸外包因素及软件度量 Metrics(IT咨询公司第三方)

    离岸外包二:离岸外包因素及软件度量 Metrics(IT咨询公司第三方) 离岸外包的因素 1. Country Evaluation Criteria 选择离岸外包国家的指标(2003年) 帮助客户确 ...

  8. 软件度量都该度个啥?(4)——项目进度、成本度量

    摘要: 这年头IT界流行"用数据管理过程"."用数字说话",软件度量成为热点话题!一方面一堆专家在"哗众取宠",而另外一方面企业在推行软件度 ...

  9. 面向对象软件度量技术的分析与综述----整理

    目录 摘要...2 1     引言... 3 2  面向对象软件度量...4 2.1 面向对象的特征...4 2.2 面向对象软件度量方法...4 2.2.1 面向类的度量--CK度量集...5 2 ...

最新文章

  1. ubuntu14.06 Lts开启ssh服务
  2. 修改表结构添加外键约束,默认外键名
  3. Kubernetes 会不会“杀死” DevOps?
  4. java canvas 缩放图片_java-GWT:放大和缩小画布绘图
  5. 光遇安卓服务器维修,《光遇》渠道服更换手机解决办法
  6. php5.5 反序列化利用工具_Yii框架反序列化RCE利用链2
  7. 基于51单片机电子时钟
  8. 惩罚函数外点matlab,禁忌搜索算法求解带时间窗的车辆路径问题(惩罚函数版 附MATLAB代码)...
  9. ie浏览器和谷歌浏览器控件不同_win7系统怎么重置ie浏览器 重置ie浏览器操作方法【详解】...
  10. awk&sed替换字符串
  11. 【微信机器人】实现保存微信表情包到相册
  12. 多功能聊天室 第一次迭代总结与第二次迭代计划
  13. 四川汶川县今天又连发生地震!
  14. 机器学习——使用array函数构建一维数组
  15. 如何将heic转换成jpg呢?
  16. android 电量性能优化
  17. 装配一台计算机有哪些安全注意事项,挤出机注意事项
  18. 【数字图像处理】空间滤波
  19. 使用Java打印字母菱形
  20. qtdesigner设计表格_PyQt:使用QtDesigner设计界面

热门文章

  1. Androidstudio的约束布局,最新Android高级面试题汇总
  2. java 获取分辨率_如何在java中获得屏幕分辨率?
  3. 图文并茂:JVM内存布局彻底懂了!
  4. 多个指针指向同一个地址
  5. 代理服务器连接失败 电脑不能上网
  6. 摄影 后期图片PS,PS过分 是否必要?
  7. 意甲第33轮尤文图斯VS博洛尼亚前瞻,尤文遇上“送分童子”
  8. [C++游戏开发]3D障碍飞车
  9. 大连托福考试百家外语托福阅读考试形式怎么备考托福阅读考试
  10. PAT——Recover the Smallest Number