估算软件工作量

由经验导出的公式,估算工作量,是软件规模(KLOC或FP)的函数,单位通常是人月。没有一个估算模型可以适用所有类型的软件和开发环境
主要有三种方式:

  1. 静态单变量模型
  2. 动态多变量模型
  3. COCOMO2模型

一、静态单变量模型

总体结构:E=A+B×(ev)C
其中ABC是经验得到的常数,E是人月单位的工作量,ev是估算变量(代码行或者功能点)
经典模型:

1.面向千代码行的估算模型(KLOC)

  1. Walston_Felix:E=5.2×(KLOC)0.91
  2. Bailey_Basili:E=5.5+0.73×(KLOC)1.16
  3. Boehm:E=3.2×(KLOC)1.05
  4. Doty(KLOC>9适用):E=5.288×(KLOC)1.047

2.面向功能点的估算模型(FP)

  1. Albrecht&Gaffney:E=-13.39+0.0545FP
  2. Maston,Barnett,Mellichamp:E=585.7+15.12FP

二、动态多变量模型

也称为软件方程式,是经验总结:E=(LOC×B0.333/P)×(1/t)4
E是人月或人年为单位工作量
t是月或年为单位的项目持续时间
B是特殊技术因子,随着测试、质量保证、文档及管理技术的需求增加而缓慢增加。对于较小的程序(KLOC=5~15),B=0.16,对于超过70KLOC的,B=0.39
P是生产率参数,从历史数据中得到,反映了以下因素对于工作量影响:

  1. 过程成熟度及管理水平
  2. 使用良好的软件工程实践的程度
  3. 使用的程序设计语言的级别
  4. 使用的软件工程环境的状态
  5. 软件项目组的技术和经验
  6. 应用系统的复杂程度

三、COCOMO2模型(构造成本模型)

三个层次:

  1. 应用系统组成模型:用于估算构建原型的工作量
  2. 早期设计模型:体系结构设计阶段
  3. 后体系结构模型:适用于完成体系结构设计之后的软件开发阶段

后体系结构模型:E=a×KLOCb ×(1-17累乘fi)
a是模型系数
KLOC是估计的源代码行数
b是模型指数
fi是成本因素:分为产品因素、平台因素、人员因素、项目因素

b分级模型:b=1.01+0.01×(1-5累加Wi)
五个分级因素是:

  1. 项目先例性
  2. 开发灵活性
  3. 风险排除性
  4. 项目组凝聚力
  5. 过程成熟度

你可能感兴趣的:(软件工程题型,其他)