软件工程(十七)

来源:互联网 发布:那些淘宝店铺质量又好 编辑:程序博客网 时间:2024/05/17 12:19

软件开发成本估算的经验模型

1、静态单变量模型
Effort = f (length of code)
基于LOC/FP
(代码行—LOC / KLOC 人月-PM)
* 如IBM模型
E = 5.2×L0.91
D = 4.1×L0.36 = 14.47×E0.35
S = 0.54×E0.6
DOC = 49×L1.01
* L 是源代码行数(KLOC),E 是工作量(PM),D 是项目持续时间(月),S 是人员需要量(人),DOC是文档数量(页)。

  • IBM模型是基于KLOC的静态单变量模型。
    • 一般指一条机器指令为一行源代码。
    • 一个软件的源代码行数不包括程序注释、作业命令、调试程序在内。
    • 对于非机器指令编写的源程序,例如汇编语言或高级语言程序,应转换成机器指令源代码行数来考虑。
    • 定义: 转换系数=机器指令条数/非机器语言执行步数。

转换系数表
这里写图片描述

2、动态多变量模型
Effort = f (time) 也与程序长度有关

  • Putnam模型是一种动态多变量模型。适用于大型项目,但也可以应用在一些较小的软件项目中。
  • 它是假定在软件开发的整个生存期中工作量有特定的分布。
  • 大型软件项目的开发工作量分布可以用Rayleigh-Norden曲线表示。
  • 这个曲线把已交付的源代码行数与工作量和开发时间联系起来。

这里写图片描述

-用Rayleigh-Norden曲线可以导出一个“软件方程”
L=CkK1/3td4/3
-td 是开发持续时间(年), K是软件开发与维护在内的整个生存期所花费的工作量(人年),L是源代码行数(LOC),Ck是技术状态常数,因开发环境而异。

技术状态常数Ck的取值
这里写图片描述

3、标准值法(Expert Judgment)
请多位专家估算程序的最小规模 a ,最可能的规模 m,和最大规模 b 。以三组平均值估算程序规模:
这里写图片描述
然后根据标准生产率(standard productivity),即每人每月可开发程序长度,来估算工作量:
这里写图片描述
这里C为修正系数,反映其它因素对开发工作量的影响.

15种影响软件工作量的因素 fi
- 产品因素:软件可靠性、数据库规模、产品复杂性
- 硬件因素:执行时间限制、存储限制、虚拟机易变性、环境周转时间
- 人的因素:分析员能力、应用领域实际经验、程序员能力、虚拟机使用经验、程序语言使用经验
- 项目因素:现代程序设计技术、软件工具的使用、开发进度限制

这里写图片描述


欢迎关注我的微信个人订阅号
这里写图片描述
每天多学一点0.0

0 0
原创粉丝点击