size 的单位为 ksloc
A 为成本驱动因子
项目比例因子为额定值(将 1.11 用作指数)
注意这些计算可以作为因子用到诸如 Estimate Professional这样的工具中,从而减轻计算负担;此处完整列出了它们。
因此每 ksloc 的工作量或者每单元工作量等于 A× (Size)1.11/Size,从中推出 A× (Size)0.11,因此,每单元的工作量在 size 为 S1 到 S2 的比率为(S1/S2)0.11。
对 Delphi 估计还要说明一点,系统的规模可以从各个层上用例的数量来粗略地计算出来:如果在第一层有 N1 个用例,在第二层有 N2 个,第三层有 N3 个,第四层上有 N4 个,那么总的规模就是[(N1/10)×7 (N2/10)×56 (N3/10)×448 (N4/10)×3584] ksloc。因此,我们可以计算工作量乘上表 1 中的每个用例的工作量,然后将总的规模除以表1中第一列中列出的每一层的规模(单位是 ksloc)。
因此, 在第一层, (0.1×N1 0.8×N2 6.4×N3 51.2×N4)0.11。
第二层 (0.0125×N1 0.1×N2 0.8×N3 6.4×N4)0.11。
第三层, (0.00156×N1 0.0125×N2 0.1×N3 0.8×N4)0.11。
第四层, (0.00002×N1 0.00156×N2 0.0125× N3 0.1×N4)0.11。
显然,以第四层为例,与第三层或第四层的用例数量相比,第一层用例的数量的影响微乎其微。
结束语
本文描述了基于用例进行评估的一个框架。为了使描述更加具体,本文为框架的参数选择了一些值,尽管这些值有待于论证,但它们并不总是错误的。像往常一样,随着数据的搜集,这种估计应该根据实际情况和重新估计的参数值进行测试。这种框架对于不同种类的系统考虑了用例层次、规模和复杂度等思想,并且不再采取细粒度的功能分解。为减轻计算的负担,对于诸如 Estimate Professional 这样的工具,可以构建一个前端,从而提供一种基于用例的规模输入的不同的方法。