软件工作量的估记有哪些方法
================================================
> 对于这个概念我本身不是特别的熟悉,然后我自己去查了查资料我认为大概有3类估算方法,分别是基于WBS基于SLOC还有基于FP的工作量估算;
>首先这种基于WBS的工作量估算方法,我个人认为应该是凭借以前做相似项目的经验去初步估计,然后再把每一项分解也同样按照自己的经验去估算时间,最后算出来的总时间和之前的初步估计做一个比较,最后得出大概的估算时间。
>首先这种估算方法优点的话我个人认为大概有下面几点
+ 估算耗时比较少,所以成本也低;
+ 在一些相似度极高的项目中准确度很高;
+ 操作起来比较简单;
>缺点的话我个人以为也有一些:
- 风险会比较大,很有可能一些相差很大的地方没注意导致估算时间相差很大;
- 不太正式,就是一种有一点依据的猜;
- 对于相似度不是很高的项目来说精准度不高;
> 像我从来没搞过项目,所以让我选择我肯定不回选择这种方法,毕竟没有经验。
>其次对于基于SLOC的工作量估算方法它主要是从开发者的角度来度量软件,将SLOC转换为人天数主要分为生产率方法和参数模型法
>由于这种方法是把工作量用代码行度量然后再转换为人天数,所以它需要先估量出代码行数,相对于前面的那种基于WBS的方法可能就显得有点稍微复杂一点,不过这种方法是软件开发者最早应用于规模工作量的测量在网上搜了些资料主要在参数模型法中主要有两大模型;
+ Putnam模型
估算工作量的公式是:K = L^3/(Ck^3*td^4)
其中:L 代表源代码行数(以行计),K代表整个开发过程所花费的工作量(以人年计),td 表示开发持续时间(以年计),Ck表示技术状态常数,它反映“妨碍开发进展的限制”,取值因开发环境而异;
+ COCOMOⅡ模型
计算步骤如下:
1)估算软件规模,这里以千代码行计。
2)评估比例因子SF,求指数E。
3)求成本驱动因子值EMi。求标称进度工作量PM:
+ IBM模型
估算工作量的公式为:E=5.2×L^0.91 ,L是源代码行数(以千行计),E是工作量(以人月计);(3种模型借鉴于青青草原博客)
>最后是基于FP的估量方法
> FP就是功能点,先估量出项目的功能点数然后再转换为人天数相对于SLOC只不过把代码行换成了功能点,估算功能点主要有3种方法IFPUG法、MarkⅡ法、COSMIC FFP法,这几种方法现在都有他们的规则手册了,所以我就不一一解释了,正因为它和SLOC的方法很类似所以也包含生产率法和一个模型方法,只不过把代码行替换替换为功能点然后再用相似的方法来转换为人天数,不过它还有一种特殊的方法转换为人天数,就是把FP转换为代码行再转换为人天数,这种方法叫做LOC回火。