三点估计方法共估计三个值:待估量的一般值、最大值和最小值。通过这三个值的计算可得到一个统计学上的期望值。
利用三点估计法进行估计的活动如下:
(1)估计人员开会讨论待估量的估计假定和理由等,并能够达成一致意见。
(2)估计人员分别填写三点估计个人独立估计表(包括:待估量名称、单位、最小值、最大值、一般值),确定个人估计的一般值、最大值和最小值。
(1)估计人员开会讨论待估量的估计假定和理由等,并能够达成一致意见。
(2)估计人员分别填写三点估计个人独立估计表(包括:待估量名称、单位、最小值、最大值、一般值),确定个人估计的一般值、最大值和最小值。
(3)计算待估最的最小值a、一般值b、最大值r。
假设估计人员为n个,第1个人刘待估量最小、一般、最大值的估计分别为 a1,b1,c1,第n个人对待估最的估计值分别为an,bn、cn。那么:
a=(a1+....+an)/n
b=(b1+....+bn)/n
c=(c1+....+cn)/n
(4)按照下面公式计算期望值E,并将估计记录写人三点估计记录表,表格模板如表5-3 所示。
E=(a+4b+c)/6
表5-3三点估计记录表
类比估计法
类比估计法就是把当前项目和以前做过的类似项目进行比较,通过比较获得其成本的估算值。该方法需要项目组保留以前完成项目的历史记录。类比估计既可以在整个项目级上进行,也可以在子系统级上进行。应用类比法的前提是确定比较因子,即提取项目的特性因子,以此作为相似项目比较的基础。该方法的主要优点是成本估算是基于实际系统开发经验的,并可以通过分析历史成本数据来确定新旧系统之间的差异,以及这些差异对工作量产生的影响;缺点是无法确定以前的项目究竟在多大程度上代表了新项目的特性。很明显,这种估计的准确性依赖于己完成项目的完成程度和数据的准确程度,因此使用这种估计方法要求有一个内容丰富、准确、可靠的软件过程数据库。
其基本步骤是:
(1)整理出项目比较因子。比较因子需结合软件开发项目组和软件开发项目的特点,由项目组研究确定。常见的比较因子有软件开发方法、功能需求文档数及接口数等,具体使用时需结合项目特点而定。
(2)标识出每个比较因子与历史项目的相同点和不同点,特别要注意历史项目做得不够的地方。
(1)整理出项目比较因子。比较因子需结合软件开发项目组和软件开发项目的特点,由项目组研究确定。常见的比较因子有软件开发方法、功能需求文档数及接口数等,具体使用时需结合项目特点而定。
(2)标识出每个比较因子与历史项目的相同点和不同点,特别要注意历史项目做得不够的地方。
(3)计算各个任务或工作产品的估计值。
计算方法如下:
某任务或工作产品的估计结果一类比任务值X调整系数
计算方法如下:
某任务或工作产品的估计结果一类比任务值X调整系数
确定调整系数时,不能一个人说了算,一般采用WidebandDelphi方法,也可由项目组
讨论决定。
讨论决定。
(4)合计得出系统总的估计值。
例如:当前系统与×××系统类似,×××系统规模是2000代码行,当前系统比X××系统增加了约2o%的功能。当前系统规模估计结果为2400=(2000X1.2)代码行。软件项目中用类比法,往往还要解决可重用代码的估计问题。估计可重用代码量的最好办法就是由程序员或系统分析员详细地考察已存在的代码,估计出新项目可重用的代码中需重新设计的代码百分比、需重新编码或修改的代码百分比以及需重新测试的代码百分比。根据这三个百分比,可用下面的计算公式计算等价新代码行:
等价代码行=[(重新设计%十重新编码%十重新测试%)/3]×已有代码行例如:有2000行代码,假定3o%需要重新设计,50只需要重新编码,7o%需要重新测试,邓么其等价的代码行可以计算为(3o%+5o%十7o%)/3×2000=1000等价代码行即重用这2000行代码相当于编写1000行代码的工作量。