盛世游戏网

盛世游戏网

如何估计软件成本

59

软件成本估算是一个复杂的过程,涉及多种方法和工具。以下是一些主要的软件成本估算方法:

功能点计数法

依据软件项目的功能需求来评估开发工作量。

通过分析系统需求计算项目规模(功能点数)。

再乘以各阶段完成每个功能点所需要投入的人工时(开发成本系数),得出完成项目所需的人月数。

任务估算法

将软件项目功能分解为若干个相对独立的任务。

分别估计完成每个任务需要的人员搭配比例及投入时间。

将各个任务的工作量累加,得出软件项目的总工作量。

类比估算

基于大量历史项目样本数据来确定目标项目的预测值。

通常以50百分位数为参考而非平均值。

当待评估项目与已完成项目在某些项目属性类似时,可以使用类比法。

参数估算

基于基准数据建模,通过输入各项参数,确定估算值。

常用于需求极其模糊或不确定时,如果具有高度类似的历史项目,则可直接采用类推法,若具有与本项目部分属性类似的一组基准数据,则可直接采用类比法。

自顶向下估算

首先估算出项目总的开发成本,然后在项目内部进行成本分配。

由少数专家参与,依靠他们过去的经验,将要开发的软件与过去开发过的软件进行“类比”,以估计新的软件开发所需要的工作量和成本。

自底向上估算

将开发任务分成若干子任务,子任务又分成子子任务,直到每一个单元内容足够明确为止。

把各个任务单元的成本估计出来,汇合成项目的总成本。

差别估算

将开发项目与一个或多个已完成的类似项目进行比较,找出与某个类似项目的若干不同之处。

估算每个不同之处对成本的影响,导出开发项目的总成本。

经验法(专家法)

由行业内经验丰富的专家依据自己的行业经验对软件项目进行整体的估算。

前期基本上属于拍脑袋进行项目的大概估算,后续则基于WBS的软件进行估算和加进了DELPHI/加权平均。

类推法

基于量化的经验进行估算,选择的历史项目与待评估的项目一定要高度相似。

对差异之处进行调整,虽然理论上最可靠,但依赖评估人员的主观性较大,估算结果经常产生极大偏差。

方程法

基于基准数据建模,通过输入各项参数,确定估算值。

当需求极其模糊或不确定时,如果具有高度类似的历史项目,则可直接采用类推法,若具有与本项目部分属性类似的一组基准数据,则可直接采用类比法。

建议

选择合适的估算方法:根据项目的特点和需求的详细程度,选择最适合的估算方法。例如,对于需求明确且类似项目较多的情况,类比法和参数估算可能更为合适;而对于需求不明确的情况,自顶向下或自底向上的方法可能更为适用。

结合多种方法:为了提高估算的准确性和可靠性,可以结合多种估算方法,例如同时使用功能点计数法和任务估算法,以获得更全面的成本评估。

利用历史数据:类比估算和参数估算等方法的有效性很大程度上依赖于历史数据的准确性和完整性。因此,建立和维护一个高质量的历史数据库是非常重要的。

注意主观性和偏差:无论是哪种估算方法,都不可避免地存在主观性和偏差。因此,在估算过程中,应尽可能收集更多的信息和数据,并进行适当的调整和验证。