首页 百科知识 项目成本的预算

项目成本的预算

时间:2022-06-18 百科知识 版权反馈
【摘要】:二、项目成本的预算信息系统项目的成本预算,就是根据待开发的信息系统的成本特征及当前能及时获得的有关数据和情况,运用定量和定性分析方法对信息系统生命期各阶段的成本水平和变动趋势作出尽可能科学的估计。类比法把新的项目与已完成的相似的项目进行类比,把已完成项目的实际成本作适当调整作为新项目的成本测算值。

二、项目成本的预算

信息系统项目的成本预算,就是根据待开发的信息系统的成本特征及当前能及时获得的有关数据和情况,运用定量和定性分析方法对信息系统生命期各阶段的成本水平和变动趋势作出尽可能科学的估计。这里所说的成本,主要是指所需投入的工作量。信息系统的成本测算既是项目投标或报价的基础,也是信息系统进行项目管理和评价的有效手段。

由上面的分析,我们知道信息系统的开发成本可以划分为软件开发成本、硬件成本和其他成本这三部分。按照这种思路,信息系统开发成本的测算过程如图7-8所示。图中,硬件和系统软件成本包括计算设备、通信设备和机房其他设施的购置、调试成本,也包括操作系统、数据库管理系统及其他应用软件的购置、调试成本。软件成本包括信息系统的分析、设计、编程和系统调试等阶段中涉及的全部费用。其他成本则包括用户培训、数据收集与修理、新旧系统转换等,不能计入前两类的成本费用。

img94

图7-8 信息系统开发成本测算的一般过程

从图7-7可以看出,以往项目的数据分析对成本测算的各个阶段都有参考价值,因此信息系统成本测算首先要对过去项目成本情况进行数据分析,其次进行硬件成本及用户方面(培训、数据收集、系统转换等)成本的测算。这两项成本相对于软件成本而言要容易一些,同时它们对软件成本分析有一定的影响,比如开发人员对所采用的硬件或数据库系统的使用经验将明显影响软件生产率,从而影响着软件的成本,故对此先作测算可以减少软件成本测试中的不确定因素。然后是软件开发成本测算,通常分两步走:第一步,测算软件规模或程序量;第二步,利用有关的经验参数模型测算出该种规模的软件成本。当然,也可运用专家判定等方法将上述两步合并直接测算成本。

软件开发成本测算出来后,与硬件成本和其他成本累加则构成信息系统项目的开发成本,在此基础上,根据运行维护成本与开发成本之间比值的经验系数导出信息系统的运行维护成本。开发成本与运行维护成本之和即为信息系统的总成本。

按照测算的思路、采用的工具和判断的主客观性等特征,信息系统开发项目成本测算方法可分为以下几类:

(一)算法模型

这种方法采用建立在历史数据上的测算模型,把项目的某些特征作为参数,通过建立一个数学模型预测项目成本。模型可简单也可复杂,视具体情况而定。模型的一般形式为:

R= F(X,C)

式中,R为信息系统的成本(系统开发所需人月数、工期、费用等);X为一组经过选择的影响成本的因素;C为一组参数。

基于信息系统开发项目中使用的编程语言、编程人员的专业知识水平、程序大小和设计数据的复杂性等,一个算法模型可能会得出每行编码50元的估算。如果建立模型所用的历史数据是精确的,建立模型所用的项目参数容易定量化,并且模型无论对大型项目还是小型项目都适用的话,那么,这种情况下参数模型估算法是最可靠的。

算法模型的主要优点是:①较充分地利用了以前的经验,测算效率较高,并可以在重复测算的情况下获得相同结论,受测算人员的主观影响比较小。②测算步骤和形式比较规范,便于进行灵敏度分析。③表格形式的模型直观性强,便于使用。这种方法的不足之处主要表现在对特定环境的适应能力不够,无法妥善处理一些异常情况。模型计算时需要输入软件规模的估计值和一些成本影响的因子值,成本测算结果的准确与否在很大程度上依赖于上述自变量精确度

(二)任务分解法

任务分解法按照分解的先后时序分为自底向上和自顶向下两种策略,逐个估算单个工作项,然后累加得到项目成本的总计。

自底向上的策略是把一个系统分成许多基本的模块和相应的任务,分别测算它们的成本,累计得出整个系统的成本。累加估算的成本和精度取决于估算人员的经验,也取决于单个模块的大小:模块划分得小,则精确性增加,因为这可由相应的开发人员直接参加测算,他们对模块理解较详细,测算结果的误差较小。但这种测算的主要缺陷是测算本身的成本比较高,而且容易忽视系统级(如系统联调)的成本。

自顶向下的策略是先从系统的总体特征估计开发总成本,然后将总成本分摊到各子系统或模块。例如,在系统开发初期,根据初步调查和需求分析,大致确定系统结构、系统规模、基本功能要求,根据经验或类似系统的情况估计出总成本,再进行分摊。自顶向下方法的优缺点与自底向上方法相反。

(三)专家判定法

专家判定法即专家根据自己的经验、直觉以及对所测项目的理解给出成本的测算值。按照实施方式的不同,可进一步分为类比法和德尔菲(Delphi)法。

类比法把新的项目与已完成的相似的项目进行类比,把已完成项目的实际成本作适当调整作为新项目的成本测算值。测算可以由个别专家独立完成,也可以集体讨论。这种办法的优点是能充分利用以往的经验,测算快速而廉价。缺点是误差大,难以使人信服。另外,进行估算的项目组必须拥有所需要的专门技术,以决定项目的某一部分与类比项目相比便宜还是昂贵。如果被估算的项目包含一种新的程序语言或使用新型硬件或网络,那么类比法容易导致偏低的估算。

德尔菲法是由兰德公司在20世纪60年代后期为美国空军开发的一种专家定性预测方法。要使用德尔菲法,必须选择一个与问题相关领域的专家小组,然后通过给这组专家发判定表、无记名填表、统计综合、向专家反馈结果、再进行下一轮填表等步骤多次反复,逐步使专家的结论趋于一致而作为测算结果。这种方法能发挥团组输入的优点,充分利用专家的经验,同时又避免了单个成员的影响和过分简单化的赞同,避免了面对面商议中可能出现的偏见效应。但这种方法比较费时。

(四)构造性成本模型

构造性成本COCOMO(Constructive CostModel)模型是在对美国TRW公司63个软件开发项目进行详尽分析的基础上建立的成本测算模型。COCOMO模型包括基本模型、中级模型和详细模型三个子模型。下面主要介绍基本模型。

基本模型根据最终交付发源代码数来计算开发工作量和开发工期,而不考虑硬件条件、人员素质、经验、开发工具等重要条件,是一种快速、粗略的估算方法。其公式如下:

MM= C1×(KDSI)K1

TDEV=C2×(MM)K2

式中,MM(number ofman-months)为开发软件所需人月数;KDSI(kilo-delivered source instruction)为所交付的源程序规模,以千行指令为单位;TDEV(time of development)为开发软件所需时间,以月为单位;C1,C2,K1,K2为模型参数。取值见表7-6。

表7-6 基本模型参数

表7-6中把开发方式分为三种。所谓组织型的开发方式,是指开发人员是本组织内的工作人员,他们对用户业务极为熟悉,有利于信息系统开发。嵌入型开发方式是在硬件、软件环境和运行规程等方面都提出了在严格的约束条件下进行软件开发,所开发的软件将嵌入到这些条件约束的大系统中去。在整个大系统中,软件是最后加入的部分,如果修改其他部分则代价太大,这类软件的开发往往无法借助于过去的经验。介于这两种方式之间的是半分离型的开发方式,面临的开发条件不太苛刻,开发队伍中既有经验丰富的,也有经验不足的。信息系统的开发多属于这种方式。

COCOMO模型有以下约定:

(1)源代码包括项目人员生成的所有程序指令,不包括注释和不可修改的应用软件。

(2)开发阶段从分析、设计到集成阶段为止。

(3)成本预算包括所有直接劳动的费用。因此,项目经理、编程人员的劳动包括在内,但人事部门、行政秘书、高级管理人员的劳动不包括在内。包括文档制作,不包括培训、安装。

(4)假设开发者与用户关系良好,需求分析之后用户需求没有本质上的修改。

COCOMO基本模型考虑了软件开发方式和软件规模两个重要因素。估计出软件源代码的行数,并确定了采用开发方式就可以算出开发工作量的人员数和开发所需时间。为了提高测算的精度,在中级模型中,引入了15个比较重要的成本影响因素,将这些因素的取值累乘后作为名义测算值的调整因子,从而改善测算结果。这15个因子是通过对200多个影响因素进行统计分析之后确定下来的,分属四组:

(1)产品性:对软件可靠性要求,数据规模,系统复杂性。

(2)硬件属性:对执行时间的限制,对主存容量的限制,硬件的可变性,响应时间。

(3)开发人员属性:系统分析员能力,应用经验,程序员能力,硬件经验,编程语言经验。

(4)开发项目属性:现代编程技术的应用,软件工具的使用,开发进度的约束。

中级模型的公式为:

MM=A×KDSIB×乘法因子

A、B的值见表7-7。

COCOMO详细模型在中级模型的基础上,引入了分阶段工作量因子和模块/子系统的层次结构,从而使测算所考虑的因素更全面、更合理,这里不再详细叙述。

表7-7 中级模型参数

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈