1.基于FP的项目成本模型估算法
步骤:
首先根据FP三点估算法,EV=(So+4Sm+Sp)/6,计算系统5大功能点 基本要素(输入、输出、查询、文件数及外部接口)的功能点估算值。
根据具体系统这5个要素的功能复杂性选择一组复杂度系数。
通过对所有的功能要素的分析并将结果相加,得到”功能总计数值”。
进一步估算影响系统技术和运行特点的14个复杂度数值调整因子Fi( i=1到14,Fi值介于0-5),相加得到系统总复杂度调整因子的值Σ Fi。
采用下面的方式计算功能点数: FP=总计数值×[0.65+0.01 × Σ Fi],项目总成本=劳动力成本*FP/平均生产率。
优点:
基于定义良好的计算标准;
基于客户视角,容易理解 和接受;
可应用于新项目,升级项目和维护项目;
与技术和计算 机语言无关;
一致的规模度量尺度,可用来比较不同组织和技术之间的比较
缺点:
只考虑可见部分的复杂度,对系统内部复杂性考虑太少;
功能复杂度三级划分比较武断。对一些比较复杂的功能,统计误差较大;(3)FPA 知识简单假设全部是部分的和,没有考虑系统集成带来的额外开销。
- 基于LOC 的项目成本模型估算。
步骤:
以系统规约为指导,建立初步的软件范围说明。
对范围说明进一步细化分解,得到主要软件功能。
根据经验,估算出各种功能的LOC期望值,以及项目的总代码行数。
根据历史经验给定的平均生产率以及劳动力成本,估算出项目基于代码行总量的总成本。
优点:直观、准确(在有代码的情况下)、易于计算(可使用代码行统计工具)
缺点:
对代码行度量没有公认的标准定义;
代码行数量依赖于所用的编程语言和个人的编程风格;
在项目早期,需求不稳定、设计不成熟、实现不确定的情况下很难准确地估算代码量。