软件工程(十七)
来源:互联网 发布:那些淘宝店铺质量又好 编辑:程序博客网 时间:2024/05/17 12:19
软件开发成本估算的经验模型
1、静态单变量模型
Effort = f (length of code)
基于LOC/FP
(代码行—LOC / KLOC 人月-PM)
* 如IBM模型
E = 5.2×
D = 4.1×
S = 0.54×
DOC = 49×
* L 是源代码行数(KLOC),E 是工作量(PM),D 是项目持续时间(月),S 是人员需要量(人),DOC是文档数量(页)。
- IBM模型是基于KLOC的静态单变量模型。
- 一般指一条机器指令为一行源代码。
- 一个软件的源代码行数不包括程序注释、作业命令、调试程序在内。
- 对于非机器指令编写的源程序,例如汇编语言或高级语言程序,应转换成机器指令源代码行数来考虑。
- 定义: 转换系数=机器指令条数/非机器语言执行步数。
转换系数表
2、动态多变量模型
Effort = f (time) 也与程序长度有关
- Putnam模型是一种动态多变量模型。适用于大型项目,但也可以应用在一些较小的软件项目中。
- 它是假定在软件开发的整个生存期中工作量有特定的分布。
- 大型软件项目的开发工作量分布可以用Rayleigh-Norden曲线表示。
- 这个曲线把已交付的源代码行数与工作量和开发时间联系起来。
-用Rayleigh-Norden曲线可以导出一个“软件方程”
L=
-td 是开发持续时间(年), K是软件开发与维护在内的整个生存期所花费的工作量(人年),L是源代码行数(LOC),Ck是技术状态常数,因开发环境而异。
技术状态常数Ck的取值
3、标准值法(Expert Judgment)
请多位专家估算程序的最小规模 a ,最可能的规模 m,和最大规模 b 。以三组平均值估算程序规模:
然后根据标准生产率(standard productivity),即每人每月可开发程序长度,来估算工作量:
这里C为修正系数,反映其它因素对开发工作量的影响.
15种影响软件工作量的因素 fi
- 产品因素:软件可靠性、数据库规模、产品复杂性
- 硬件因素:执行时间限制、存储限制、虚拟机易变性、环境周转时间
- 人的因素:分析员能力、应用领域实际经验、程序员能力、虚拟机使用经验、程序语言使用经验
- 项目因素:现代程序设计技术、软件工具的使用、开发进度限制
欢迎关注我的微信个人订阅号
每天多学一点0.0
- 软件工程(十七)
- 软件工程(二十七)
- 软件工程视频学习笔记(十七)
- 软件工程视频学习笔记(二十七)
- 软件工程(一)软件工程概论
- 程序人生(十七)
- JavaScript 事件(十七)
- 凤凰涅磐(十七)
- 学习笔记(十七)
- 学习Python(十七)
- WIX学习(十七)
- 东软实训(十七)
- 东软实训(二十七)
- 日拱一卒(十七)
- 日拱一卒(二十七)
- ios项目(十七)
- Scala练习(十七)
- (十七)关于声明
- Scala常见错误
- gdb调试
- 日常笔记之事件驱动
- 我的Android知识架构
- 自定义View实践-一个简单的棋类游戏
- 软件工程(十七)
- EditText小知识
- C++第5次上机实验
- Windows7操作记录_操作时间记录_启动时间记录_日志查看
- gdb调试
- javascript之prototype原型属性
- Eclipse之保存自动格式化代码
- Vector相关简单操作
- oracle创建和管理表_数据处理_约束