代码行LOC;周期:月;工作量: 人月;费用元。
理由:
图2-2 Delphi法规模估计迭代表样例
方法二:类比法
类比法适合评估一些与历史项目在应用领域、环境和复杂度相似的项目,通过新项目与历史项目的比较得到规模估计。类比法估计结果的精确度取决于历史项目数据的完整性和准确度,因此,用好类比法的前提条件之一是组织建立起较好的项目后评价与分析机制,对历史项目的数据分析是可信赖的。
其基本步骤是:
(1) 整理出项目功能列表和实现每个功能的代码行;
(2) 标识出每个功能列表与历史项目的相同点和不同点,特别要注意历史项目做得不够的地方;
(3) 通过步骤(1)和(2)得出各个功能的估计值;
(4) 产生规模估计。
软件项目中用类比法,往往还要解决可重用代码的估算问题。估计可重用代码量的最好办法就是由程序员或系统分析员详细地考查已存在的代码,估算出新项目可重用的代码中需重新设计的代码百分比、需重新编码或修改的代码百分比以及需重新测试的代码百分比。根据这三个百分比,可用下面的计算公式来计算等价新代码行:
等价代码行 = [(重新设计% +重新编码% +重新测试%)/3]× 已有代码行
例如,有10 000行代码,假定30%需要重新设计,50%需要重新编码,70%需要重新测试,那么其等价的代码行可以计算为:
[ (30% + 50% + 70%)/3 ]× 10 000 = 5 000 等价代码行
也就是说,重用这10 000代码相当于编写5 000代码行的工作量。
方法三:功能点估计法
功能点测量是在需求分析阶段基于系统功能的一种规模估计方法。通过研究初始应用需求来确定各种输入、输出、计算和数据库需求的数量和特性。通常的步骤如下:
(1) 计算输入、输出、查询、主控文件和接口需求的数目。
(2) 将这些数据进行加权相乘。如表2-1所示就是一个典型的权值表。
表2-1 权值表举例
功 能 类 型权值
输入4
输出5
查询4
主控文件10
接口10
(3) 估计者根据对复杂度的判断,总数可以用+25%、0、或 25%调整。
统计发现,对一个软件产品的开发,功能点对项目早期的规模估计很有帮助。然而,在了解产品越多后,功能点可以转换为软件规模测量更常用的LOC方法。