众所周知,软件作为一种非实体的产品,其生产方式与传统的硬件生成迥然不同,而且在软件的生命周期中存在许多不可预期的情况。为了评估一个产品的成本、价值,软件工作量的估计是很有必不可少的。但是软件工作量的估计又仅仅只是简单的估计而已,因为不准确的估计结果可能对项目产生很大的影响。在此,我将根据查找的资料简单介绍几种软件工作量的估计方法,并基于每种方法的原理特点谈谈我的一些看法。

1、  基于WBS的工作量估计方法

  基于WBS的估计方法是自底向上的方法,即对项目按照WBS原则(包括任务分层原则、80小时原则、责任到人原则等具体见以下链接)进行分解。

  http://wenku.baidu.com/link?url=2LR28SH3Qbg_GYQAB0cCA0LV4leZamgBYCFuMT5mrnMPJams7cfM54mYl9rvXiSQgHl2V51c0VuWJebkAkzVf8GDdijE-82sUf8MhSeCOZ_

2、  Pert Sizing估算方法

  Pert Sizing是一种加权平均法。在估计每一项任务时,首先按最佳的、可能的、悲观的悲观的三种情况给出估计值,记作a、m、b。实用下式求得最终估计值。

最终估计值=(a+4*m+b)/6

  详细内容见:http://wenku.baidu.com/link?url=ZU9AWgRdFUuKN47Hyv05otj8dClp4Z6dSHIbzMH8hF3vFPz9Jsw2_ycwsdisJCAh-bhfKvBYtlsELZNFiK0Hjo7rMQbm7mRl504yPlmHjEi

3、  宽带DELPHI方法估算方法

  DELPHI是一种工作量投入较高,估算时间较长的一种估算方法。当然,基于其所做的较多工作,评估结果较为准确。它的估算流程具体如下:

除此之外还有些主要侧重于对项目规模的估算方法

1、  基于代码行(SLOC)的工作量估计方法

  基于代码行的工作量的估算方法,先将项目进行分解,然后同以前的 项目进行类比,估算出代码行数,最后使用生产率方法、参数模型法将代码转化成行数。

2、  功能点分析(FPA)法

  功能点的具体过程如下:

  (1)       对估算功能单元的类型进行识别

  (2)       计算每种类型的复杂度

  (3)       计算总体的调整前的功能点数

  (4)       根据调整因子对功能点数进行调整

  计算公式如下:

FP=UFC*TCF

  UFC,未调整的功能点计数;TCF表示技术复杂度因子

3、  用例点(UCP)分析法

  详细内容见http://blog.sina.com.cn/s/blog_93c2f6700101384z.html

  以上的方法,并不存在某一种方法胜过所有的方法。在估算的过程中具体使用某一种方法还是要根据实际情况决定。在项目进行的每个阶段中,针对不同的软件项目适于采用的方法都是不同的。比如说在工期紧迫或者在项目中后期重新估算的时候可以采用Pert Sizing估算方法,因为其容易操作和理解,而在项目启动的阶段的初步估算使用DELPHI和基于WBS的工作量估计则更为合适,因为这两者的估计结果相对而言更为准确。

版权声明:本文为shely-Wangfan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/shely-Wangfan/p/5269983.html