在讨论软件工作量估算方法前,首先要清楚什么事软件工作量估算。

我理解的工作量估算,就是估算软件项目所耗费的资源数,这个资源包含人力和时间,一般用人天、人月的形式来衡量。(而软件的成本=耗费的资源*资源的单价)。而且我个人觉得软件工作量与软件规模是不等的,规模是指大小是固定的,而一个软件开发的工作量与许多因素有关,如公司的效率啊,参与开发人员的编程水平等。

从估算单位角度来说,工作量估算的方法分为两类:直接估算法和间接估算法。直接法指基于WBS的工作量估算方法,直接估算出人天工作量;间接估算法是先估算软件规模,再转换成人天工作量。根据估算角度的不同,间接法又分为基于代码行(SLOC)的工作量估算方法和基于功能点(FP)的工作量估算方法。。

 1、基于WBS的工作量估算

基于WBS的工作量估算方法,是最常见的一种估算方法,也是厂商最常用的。基于WBS的工作量的估算方法,又称为由底向上法(自下而上法),通常的估算步骤如下:
1)寻找类似的历史项目,进行项目的类比分析,根据历史项目的工作量凭经验估计本项目的总工作量;
2)进行WBS分解,力所能及地将整个项目的任务进行分解;
3)参考类似项目的数据,采用类比法或专家法,估计WBS中每类活动的工作量;
4)汇总得到项目的总工作量;
5)与第1)步的结果进行印证分析,根据分析结果,确定估计结果。

2、基于代码行的工作量估算
基于代码行(SLOC)的工作量估算,是从开发者的技术角度出发来度量软件。代码行数是软件开发者最早进行规模测量的主要方法。进行工作量估算时,先采用WBS法、类比法等统计出软件项目的代码行数,然后将代码行数转换为人天数。其中,将代码行(SLOC)转换成人天数主要有2种方法。
(1)生产率方法:要求有开发商每人天开发的代码行数,估算出代码行数后,直接利用代码行数÷SLOC/人天,即得工作量人天数。
(2)参数模型法:利用模型,将代码行数转换成人天数。
常见的模型有:
    Putnam模型
      Putnam1978 年提出的一种动态多变量模型。估算工作量的公式是:K = L^3/(Ck^3*td^4)

其中:L 代表源代码行数(以行计),K代表整个开发过程所花费的工作量(以人年计),td 表示开发持续时间(以年计),Ck表示技术状态常数,它反映“妨碍开发进展的限制”,取值因开发环境而异。
    COCOMOⅡ模型
     COCOMOⅡ模型指出,软件开发工作量与软件规模呈指数关系,并且工作量受16个成本驱动因子的影响。COCOMO Ⅱ的计算步骤如下:
     1)估算软件规模Size,这里以千代码行(KSLOC)计。
     2)评估比例因子SF,求指数E。
     3)求成本驱动因子值EMi。求标称进度工作量PM:

    IBM模型
    IBM模型是1977年IBM公司的Walston和Felix提出的。其中估算工作量的公式如下:E=5.2×L^0.91 ,L是源代码行数(以千行计),E是工作量(以人月计)

3、基于功能点的工作量估算
基于功能点(FP)的工作量估算,是从用户的角度来度量软件。进行工作量估算时,先估计出软件项目的功能点数,然后将功能点数(FP)转换为人天数。其中,估算功能点数的主要方法有3种:IFPUG法、MarkⅡ法、COSMIC FFP法。这三种方法现在都已经成为国际标准,并有详细的操作手册。
将功能点(FP)转换成人天数主要有2种方法。
1)生产率法:要求有开发商每人天开发的功能点数,估算出功能点数后,直接利用功能点数÷功能点/天,即得工作量人天数。对于开发商每人天开发的功能点数,SPR有统计,中国的值大约在5.5个功能点/人月。
2)经验模型法
   可以依照本企业的历史数据得到关于功能点和工作量的统计方程;也可以采用已有的经验模型,例如:COCOMOⅡ模型

转载于:https://my.oschina.net/sniperLi/blog/906115

软件开发工作量的估算方法相关推荐

  1. 软件开发计划_敏捷软件开发实践:估算与计划读书笔记123第21章 关于计划的沟通...

    <敏捷软件开发实践:估算与计划>第21章 关于计划的沟通,重点和要点的思维导图及文字内容. 第21章 关于计划的沟通 The more elaborate our means of com ...

  2. 软件开发工作量及费用量化评估方法在金融行业的应用

    面临的问题 随着国内金融行业市场化进程持续加快以及互联网金融的兴起,信息技术尤其是软件技术的应用对于金融科技创新至关重要.各大金融机构在持续加大科技创新力度的同时,如何科学.高效地管控应用开发的投入并 ...

  3. 软件开发计划_敏捷软件开发实践:估算与计划读书笔记113第11章 确定渴望度优先级...

    <敏捷软件开发实践:估算与计划>第11章 确定渴望度优先级,重点和要点的思维导图及文字内容. 第11章 确定渴望度优先级 If you have a choice of two thing ...

  4. 软件企业价格估算方法

    软件企业价格估算方法 (讨论稿) 1.        软件开发价格估算方法 软件开发价格与工作量.商务成本.国家税收和企业利润等项有关.为了便于计算,给出一个计算公式: 软件开发价格=开发工作量*开发 ...

  5. 软件开发报价的计算方法[转载]

    1.软件开发价格估算方法     软件开发价格与工作量.商务成本.国家税收和企业利润等项有关.为了便于计算,给出一个计算公式: 软件开发价格 = 开发工作量 × 开发费用/人·月 1.1开发工作量   ...

  6. 软件开发报价的计算方法 (转)

    1.软件开发价格估算方法     软件开发价格与工作量.商务成本.国家税收和企业利润等项有关.为了便于计算,给出一个计算公式: 软件开发价格 = 开发工作量 × 开发费用/人·月 1.1开发工作量   ...

  7. (软件工程复习核心重点)第十二章软件项目管理-第一节:软件项目管理综述、估算软件规模和工作量估算

    文章目录 一:软件项目管理综述 (1)管理 (2)软件项目管理 二:估算软件规模 (1)代码行技术 A:定义 B:方法 C:优缺点 (2)功能点技术 A:定义 B:信息域特性 C:估算功能点的步骤 ① ...

  8. 软件开发成本估算方法【转】

    转自:http://hi.baidu.com/wangziming/blog/item/d8ee34010b18cf0e7bec2c4b.html 我的学习感悟:对于这个并不懂,尤其是什么静态单变量. ...

  9. 软件产品成本估算方法

    软件开发成本估算主要指软件开发过程中所花费的工作量及相应的代价. 不同与传统的工业产品,软件的成本不包括原材料和能源的消耗,主要是人的劳动的消耗.另外,软件也没有一个明显的制造过程,它的开发成本是以一 ...

  10. 软件开发(方法、模型)

    目录 1. 软件开发方法 2. 软件开发模型 参考 1. 软件开发方法 软件开发方法是指软件开发过程中所遵循的办法和步骤. 1) 从性质上,分为形式化方法和非形式化方法. 形式化方法在的数学基数上,采 ...

最新文章

  1. Git与Svn的区别—笔记1
  2. 关于网管软件中的预警功能的发展
  3. 笔记-企业管理知识-战略组织类型
  4. 基于.NET实现数据挖掘--线性回归算法
  5. FFmpeg深度学习模块的历史、现状和计划
  6. 《左手MongoDB右手Redis》第3章笔记-robo3t上进行增删改查
  7. PrimeFaces在GlassFish 3.1.2.2上推动大气
  8. freemarker -基本概念
  9. php 写入sql server,php将图片直接写入SQLServer2008
  10. 提交信息html模板,提交留言HTML模板代码
  11. 黑色背景的DW代码配色方案 Colors.xml
  12. 【元胞自动机】基于matlab元胞自动机单车道交通流(时空图)【含Matlab源码 1681期】
  13. Java开发规范之常量定义篇
  14. 修改Android模拟器存储位置,更改AndroidAVD模拟器创建路径位置的方法
  15. Chrome DevTools 中键盘快捷键的参考。
  16. 心智成熟的道路虽然辛苦,却是实打实的进步,因为你的每一次迈进,朝向的都是自我实现,也是人之所以为人的价值所在
  17. 走进 Redis 的世界
  18. [转]《间架结构92法》
  19. java 周几_java实现根据日期判断周几
  20. 算法概念:大O表示法/小o表示法/Ω/Θ

热门文章

  1. ## STAMP使用中数据上传注意事项
  2. sap生产工单报工_SAP报工PP用户操作手册——生产订单确认CO11N V100512.doc
  3. 运维安全操作建议规范手册
  4. openGL 例子:创建一个二十面体
  5. xposed+JustTrustMe抓包SSLping
  6. 照片转3d模型_云从科技3D人体重建技术刷新3项纪录!仅凭照片即可生成精细模型...
  7. layabox位移和旋转动画
  8. 苹果iPad忘记了Apple ID密码该怎么办?(手机教程)
  9. SSH框架(spring+struts2+hibernate)+Mysql实现的会议管理系统(功能包含会议室管理、会议管理、用户管理、部门管理、设备管理、个人资料编辑等)
  10. 卡塞格林光学系统_改进型卡塞格林光学系统的设计