标签:
软件工作量的估计有哪些方法?
1 定义
软件工作量的估算是对项目全生命周期各阶段活动所需投入的人力资源成本进行度量量化、统计的活动,它具有不确定性和渐进性。
2 估算困难的原因:
软件本身具有复杂性和不可见性,软件项目具有独一无二性;
软件开发是人力密集型工作,不能用机械的观点看待;
新的技术不断出现,环境变化无常;
缺乏项目经验,以致数据残缺或丢失;
估算具有主观性,不同的人站在不同立场会高估或低估工作量;
3 估算的作用
在多个项目中做出选择时,项目工作量可以作为一个重要的比较项;
在可行性分析时,工作量是一个重要分析点;
在作系统描述时,各个需求的工作量需要被衡量;
对供应商给出的建议,工作量可以评估建议合理性和可行性;
在作项目计划时,为实现用户需求选择实现方法时,需要分别估算其工作量;
4 估算不当的后果
估算过高:提高了成本,投入过多的人反而会加剧项目延期
估算过低:软件质量降低,员工因难以完成任务而积极性降低
5 估算的基础
历史数据:如编程工具,软件工具,操作系统,硬件配置,标准和人员经验;
度量标准:通常将工作量表达为具体数据,如源代码的数量,此外还需要加入复杂度对工作量进行修正;
6 估算的分类
基于承诺的估计:开发者做出进度承诺而非进度估计,此时往往估算比现实乐观;
自底向上的估计:将项目分成部件任务,然后估算每个任务所需工作量,适用于项目规划后期;
自顶向下的估计:一般采用对比的方法和参数化模型的方法来确定总工作量;
专家判断:在对原有系统进行替换时非常有用,评估者对影响的代码比例进行分析得出工作量评估;
类比估计:基于案例的推理,评估者寻找已经完成的项目,这些项目与需要开发的新项目在许多特征上必须类似;
Albrecht功能点分析:它将计算机信息系统分成五个主要部件,然后对每个部件做加权处理得到工作量;
对象点分析:类似功能点但是更容易计算;
COCOMO参数化模型:利用来多种乘法算子和指数,是一种渐进性评估;
大致进度估算法:有三个进度表,分别为可能的最短进度,有效的进度,普通进度;
7 估算的修正
修正只能缩小区间,而不能给出单点估计,并且减少不确定性必须在软件开发过程中进行,不能在其他时间。
8 估算的技巧
避免无准备的估算;
留出估算的时间,并做好计划;
开发人员参与;
不要忽略普通的任务;
使用多种估算技术,并比较结果
群体讨论结果;
标签:
原文地址:http://www.cnblogs.com/zhangjun2013551829/p/5274141.html