Putnam模型

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

目录

什么是Putnam模型

  Putnam 模型是指1978年Putnam提出的一种具有实用价值的动态多变量软件成本进度模型。它是假定在软件开发的整个生存期中工作量有特定的分布。这种模型是依据在一些大型项目(总工作量达到或超过30个人年)中收集到的工作量分布情况而推导出来的,但也可以应用在一些较小的软件项目中。

Putnam模型的基本观点和关系式

  Putnam 认为采用SLOC/PM(原代码行/人月)作为软件生产效率的指标,源于传统经济学的投入产出分析,在软件中应用表现平平。根本原因是忽略了进度计划对软件开发的影响。然而在实际项目中,进度计划是影响软件费用和人力资源投入的非常重要和敏感的因素。

  Putnam在从事软件开发管理27年的生涯中,收集分析了6600个完成的软件项目数据,认为一个软件成本和人力 投入预计模型必须要能够反映时间(即进度计划)和人力两个因素的影响。Putnam总结并提出下列基本关系。

  Amount of function=effort×Schedule×Process Productivity

  其中Effort(人力投入)和Schedule(进度计划)具有指数关系。

  在此基础上,Putnam将这种关系用下列方程具体描述:

  Size=(Effort/Beta)1/3×Schedule4/3×Process productivity Parameter

  其中:

  Size(程序规模或尺寸)可用SLOC(原代码行)或其他度量,例如功能数量表示。

  Effort(投入)用开发中的人力投入PY(人年)表示。

  Beta与技能因素有关,同时也是Size的函数。其取值区间是[0.16 0.39]。Beta具有降低生产效率的作用。

  Process Productivity Parameter (过程生产效率参数)是一个代表生产能力的参数,不同的机构其开发和管理能力不同,各种应用程序开发难度也有很大差别,需要用不同的过程生存率参数加以调整,其理论值区间是[610 1346269],典型的取值区间是[1947 121393]。

Putnam模型的调整和估值

  模型调整和估值的目的是估计或调整过程生产效率参数取值,使其符合开发机构实际状况。Putnam模型的优点恰恰在于可以准确地计算出过程生存率参数数值。其计算方法如下: Process Productivity Parameter=Size/((Effort/Beta)1/3(Schedule4/3))

  该式中存在Effort和Schedule两个变量,因此应用到新开发的项目时,还需要另外一个附加的约束条件才能准确求解。约束条件有多种形式,如果项目的最大预算金额已经确定,则:(最大开发人力投入)=(最大费用)/(平均人力费用负担)

  其他形式的约束条件包括:最大开发时间,最大人力,最大人力构建率等。

Putnam模型的基准

  Putnam 模型经管变换和处理后,还可作为比较企业开发能力的基准。下图是一个指挥控制系统人力开发投入的基准图形,处于平均线下面的企业,显然有较高的开发效率。如下列模型基准例图。

Image:Putam图.jpg

Putnam模型的基本公式

L = Ck * K^1/3 * td^4/3

其中

L——源代码行数(以LOC计)

K——整个开发过程所花费的工作量(以人年计)

td——开发持续时间(以年计)

Ck——技术状态常数,它反映“妨碍开发进展的限制”,取值因开发环境而异

CK的典型值开发环境开发环境举例
2000没有系统的开发方法,缺乏文档和复审
8000有合适的系统的开发方法,有充分的文档和复审
11000有自动的开发工具和技术

有上述方程加以变换,可以得到估算工作量的公式: K=\frac{L^3}{Ck^3\times td^4} 工作量×人年薪金=开发成本 还可以估算开发时间:td=\frac{L^3}{Ck^3\times k^1/4}

本条目对我有帮助5
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您认为本条目还有待完善,需要补充新内容或修改错误内容,请编辑条目

本条目由以下用户参与贡献

Tracy,刘维燎.

评论(共0条)

提示:评论内容为网友针对条目"Putnam模型"展开的讨论,与本站观点立场无关。

发表评论请文明上网,理性发言并遵守有关规定。

MBA智库
打开APP

以上内容根据网友推荐自动排序生成