这些模型通过对大量不同类型组织已完成项目进行研究,得出的项目规模与工作量之间的关系和转换方法。这些行业性的模型可能不如自己的历史数据精确,但是非常有效。目前,还没有一种估算模型能够适用于所有的软件类型和开发环境,在监理活动中,从这些模型得到的结果必须根据项目的实际情况慎重使用,或者采用多个模型进行估算、掌握工作量的基本范围并与实际的工作量计划比较。
下面以IBM模型为例来进行计算。 为了计算,我们应当利用逆向法将功能点转化成一个等价的SLOC数值。这一步可以使用表4的语言等价表来完成:
所以,使用java 2完成上述项目(366功能点)时,将大约需要下列SLOC数:
L = 366×46 = 16386行 = 16.386KLOC
E = 5.2×L0.91 = 5.2×16.3860.91 = 66人/月
DOC = 49×L1.01 = 49×16.3861.01 = 826页
3、制定计划
对软件项目进行估算的第三步是根据工作量制定项目计划,包括人员安排、工作量分解、开始和完成时间等等。可以根据自己的历史数据或行业模型决定所需的资源并落实到项目计划。可以采用上述的IBM模型或McConnell给出的方法粗略地给出项目持续时间(以IBM模型为例):
项目需要的人员S=0.54×E0.6 =0.54×660.6=7人
项目持续时间D=4.1×L0.36 =4.1×16.3860.36=11月
4、成本估算