软件项目中的UFC(未调整功能点计数)可以通过以下步骤进行计算:
功能计数项的计算
外部输入:由用户输入的面向应用的数据项。
外部输出:向用户提供的输出数据项。
外部查询:要求系统回答的交互式输入。
外部接口文件:与其他系统的接口数据文件。
内部文件:系统使用的内部固定文件。
功能计数项的加权求和
对每个功能计数项根据其复杂度进行加权,然后求和得到UFC。
权重可以根据功能计数项的复杂程度进行设定,例如简单、中等、复杂等,并赋予相应的权重值。
技术复杂因子(TCF)的计算
TCF是技术复杂度的综合评分,可以通过对一系列技术特性进行评分得到。
Albrecht定义了14项技术特性,每项特性有一个从0到5的关联值Fi,TCF的计算公式为:TCF = 0.65 + 0.01 ∑Fi。
功能点(FP)的计算
功能点(FP)是未调整功能点计数(UFC)与技术复杂因子(TCF)的乘积,即:FP = UFC * TCF。
示例
假设某个软件项目的功能计数项及其权重如下:
外部输入:3个,权重为3
外部输出:2个,权重为4
外部查询:1个,权重为3
外部接口文件:1个,权重为5
内部文件:1个,权重为7
首先计算未调整功能点计数(UFC):
\[ UFC = (3 \times 3) + (2 \times 4) + (1 \times 3) + (1 \times 5) + (1 \times 7) = 9 + 8 + 3 + 5 + 7 = 32 \]
然后计算技术复杂因子(TCF):
\[ TCF = 0.65 + 0.01 \times (3 + 4 + 3 + 5 + 7) = 0.65 + 0.01 \times 22 = 0.65 + 0.22 = 0.87 \]
最后计算功能点(FP):
\[ FP = UFC \times TCF = 32 \times 0.87 = 27.84 \]
因此,该项目的功能点(FP)为27.84。
建议
在实际项目中,功能计数项的权重应根据项目的具体情况进行调整,以确保准确反映项目的实际复杂度。
TCF的计算可以结合项目的技术特性评分进行,以确保评估的准确性。
通过功能点估算,可以更好地预测项目规模和规划项目时间表,从而提高项目管理的效率。