可可
建设性成本模型( COCOMO )是Barry W. Boehm开发的程序软件成本估计模型。该模型参数来自使用历史项目的数据拟合回归公式(Cocomo 81的63个项目和163个Cocomo II项目)。
历史
建设性的成本模型是由Barry W. Boehm在1970年代后期开发的,并在Boehm的1981年书籍软件工程经济学中出版,以估算软件项目的努力,成本和时间表的模型。它在TRW Aerospace上进行了一项研究,Boehm曾担任软件研究和技术主管。该研究检查了规模从2,000到100,000行的代码以及从组装到PL/i的编程语言不等的项目。这些项目基于软件开发的瀑布模型,该模型是1981年普遍的软件开发过程。
对此模型的引用通常称为Cocomo 81 。 1995年, Cocomo II开发并最终于2000年发表在Cocomo II的《软件成本估算》中。 Cocomo II是Cocomo 81的继任者,据称更适合估计现代软件开发项目。为最新的软件开发过程提供支持,并使用161个项目的较大数据库进行了调整。对于新模型的需求是随着软件开发技术从大型机和隔夜批处理处理转变为桌面开发,代码可重复使用性以及使用现成软件组件的情况。
Cocomo由三种日益详细和准确的形式组成。第一级,基本可可莫(Cocomo)非常适合快速,早期,粗略的软件成本估算,但由于缺乏因素来解释项目属性差异(成本驱动力),因此其准确性受到限制。中级可可(Cocomo)考虑了这些成本驱动因素,详细的可可莫(Cocomo)还考虑了各个项目阶段的影响。最后一个是完整的Cocomo模型,它解决了基本和中级的缺点。
中间可可
中级可可莫计算软件开发工作作为程序大小的功能以及一组“成本驱动力”,其中包括对产品,硬件,人员和项目属性的主观评估。该扩展程序考虑了四个“成本驱动程序”,每个集合都有许多子公司属性: -
- 产品属性
- 所需的软件可靠性范围
- 应用数据库的大小
- 产品的复杂性
- 硬件属性
- 运行时性能限制
- 内存约束
- 虚拟机环境的波动性
- 所需的转盘时间
- 人员属性
- 分析师能力
- 软件工程能力
- 应用经验
- 虚拟机体验
- 编程语言经验
- 项目属性
- 使用软件工具
- 软件工程方法的应用
- 所需的开发时间表
15个属性中的每个属性都以六分制的评分范围从“非常低”到“超高”(重要性或价值)。下表的努力乘数适用于评级。所有努力乘数的产物导致努力调整因子(EAF) 。 EAF的典型值范围为0.9至1.4。
付费司机 | 评分 | |||||
---|---|---|---|---|---|---|
非常低 | 低的 | 名义 | 高的 | 很高 | 超高 | |
产品属性 | ||||||
所需的软件可靠性 | 0.75 | 0.88 | 1.00 | 1.15 | 1.40 | |
应用数据库的大小 | 0.94 | 1.00 | 1.08 | 1.16 | ||
产品的复杂性 | 0.70 | 0.85 | 1.00 | 1.15 | 1.30 | 1.65 |
硬件属性 | ||||||
运行时性能限制 | 1.00 | 1.11 | 1.30 | 1.66 | ||
内存约束 | 1.00 | 1.06 | 1.21 | 1.56 | ||
虚拟机环境的波动性 | 0.87 | 1.00 | 1.15 | 1.30 | ||
所需的转盘时间 | 0.87 | 1.00 | 1.07 | 1.15 | ||
人员属性 | ||||||
分析师能力 | 1.46 | 1.19 | 1.00 | 0.86 | 0.71 | |
应用经验 | 1.29 | 1.13 | 1.00 | 0.91 | 0.82 | |
软件工程师功能 | 1.42 | 1.17 | 1.00 | 0.86 | 0.70 | |
虚拟机体验 | 1.21 | 1.10 | 1.00 | 0.90 | ||
编程语言经验 | 1.14 | 1.07 | 1.00 | 0.95 | ||
项目属性 | ||||||
软件工程方法的应用 | 1.24 | 1.10 | 1.00 | 0.91 | 0.82 | |
使用软件工具 | 1.24 | 1.10 | 1.00 | 0.91 | 0.83 | |
所需的开发时间表 | 1.23 | 1.08 | 1.00 | 1.04 | 1.10 |
中间可可公式现在采用以下形式:
- e = a i (kloc) b i (eaf)
如果e是在人月中应用的努力,则KLOC是该项目的数千种代码行的估计数量,而EAF是上述计算的因素。系数A I和指数B在下一个表中给出。
软件项目 人工智慧 B i c i 有机的 3.2 1.05 0.38 半独立 3.0 1.12 0.35 嵌入 2.8 1.20 0.32
开发时间D以及最有效的人数P计算的使用方式与基本可可中的相同方式使用:
- d = 2.5 e c i
请注意,除了EAF外,与基本模型的中间可可中的参数A I不同:
软件项目 b 有机的 2.4 半独立 3.0 嵌入 3.6
在两个模型中,参数b和c都是相同的。