软件开发中如何评估工作量

工作量如何评估(软件的规模、应用的领域、对质量的要求、采用什么技术、开发团队能力)

1、需求(需求调研、需求分析设计、原型设计、需求确认)

业务流程报告/调查报告(对客户方的组织业务概况和企业现状的一些总结)

2、设计

3、构建(包括编码、集成)

4、测试

5、实施及相关的项目管理

6、支持活动的工作量(客户现场的培训活动,客户部分)

 

 

就是评估一个需求所用到的工作量么?
主要根据需求的复杂度、技术难度等各方面因素进行评估。

还要注意这个评估是给开发人员评估的,还是给客户评估的。
如果给开发人员评估,一般就按照实际情况,开发、测试等大概多少个工作日
如果给客户评估,就把实际工作量*1.5。要预留时间以免发生特殊情况,影响交付时间。

 

首先我们要知道软件开发的工作量都包含哪些内容。一个软件项目的工作量所表达的含义是完成这个项目或系统开发所需的全部工作量,包括从项目立项开始到项目完成验收之间开发方的需求、设计、构建(包括编码、集成)、测试、实施及相关的项目管理、支持活动的工作量。
对于工作量的评估,我觉得首先要进行项目的风险评估,比如:需求变更、外部协作、时间或成本约束、人力资源、系统架构等方面。接下来是对软件要实现功能的复用度评估,分别列出可复用的功能和可复用的程度。然后根据我们的经验来确定影响工作量的主要因素,并进行评估。比如:软件的规模、应用的领域、对质量的要求、采用什么技术、开发团队能力等。
最后要选择合适的方法进行工作量评估。常用的方法有类比法、类推法和方程法。如果对这些方法不是很了解,我建议你找相关的书籍学习一下就可以。比如行业标准《软件研发成本度量规范》新推出的国家标准和它的内容区别不是很大。如果觉得这个看着太系统,也可以直接看《软件研发成本度量规范释义》第2版。希望以上内容可以帮到你。

 

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

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

 从估算单位角度来说,工作量估算的方法分为两类:直接估算法和间接估算法。直接法指基于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Ⅱ模型

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值