学者谷

位置:首页 > 职场范文 > 职场百科

Putnam模型

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

Putnam模型


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 模型