8.3 软件项目估算
软件项目估算
软件项目估算
概念
项目启动之前,软件团队应该估算将要做的工作、所需要的资源、成本、从开始到完成的时间,也即是对这些内容进行预测
策略
项目度量方法为项目估算提供了依据与有效输入
尽量把估算推迟到项目的后期进行
根据已经完成的项目进行估算
项目估算方法
基于分解技术的项目估算方法
▪基于过程分解的估算
基于经验的项目估算方法
▪COCOMO模型
三点期望值法
-
在基于问题的分解估算方法中,通过估计最大值、最小值、最可能值的加权平均值作为期望值来估算
-
估计期望值=(最大值+4×最可能值+最小值) / 6
-
例如:如果估计系统×规模的最大值为 100KLOC ,最小值为 50KLOC ,最可能值为 60KLOC ,则其估计期望规模为(100+4×60+50)/6 = 65 KLOC
案例:基于问题分解的估算
1、软件描述(CAD软件)
- CAD图形软件可接受来自用户的二维和三维几何数据,用户通过界面与CAD软件进行交互,并控制它,该软件具有良好的人机界面设计的特征。
- 所有的几何数据及其支持信息存放在数据库中。
- 开发设计分析模块,以产生所需的输出,这些输出将显示在各种不同的图形化设备上。
- 软件在设计中要考虑与外设进行交互并控制它们,包括鼠标、数字化仪、打印机等。
2、软件子系统划分
3、基于LOC的估算
- 估算出各个子系统的代码行,例如三维几何分析功能的代码行估算范围为:
- 乐观值a:4600
- 可能值m:6900
- 悲观值b:8600
- 估算值: e = (a + 4m + b)/6 = 6800
4、各个子系统代码数
5 历史数据
-
历史数据
-
平均生产率PM: 620 LOC/PM(620行代码/人月)
-
每个人月的成本 C = 8000¥
-
估算项目成本和工作量
-
估算工作量 = 总代码行/PM= 33200/620=54人月
-
估算成本 = 估算工作量 ×每个人月的成本 = 54人月× 8000 = 43 2000¥
6、计算成本与工作量
-
计算出FP的估算值
- FP = (0.65 + 0.01×Fi)×CT = 372
-
历史数据
- 平均生产率 6.5 FP/PM
- 每个人月的成本 C = 8000¥(平均月薪)
-
估算成本和工作量
- 工作量 58人月(基于LOC的估算值54人月 )
- 成本 457000¥(基于LOC的估算值43 2000¥ )
---------------------------
“朝着一个既定的方向去努力,就算没有天赋,在时间的积累下应该也能稍稍有点成就吧。”