1、上海交通大学计算机系讲座 6 软件项目工作量估算1上海交通大学计算机系软件工作量估算有些估算做得很仔细,而有些却只是凭直觉的猜测。大多数项目超过估算进度的 25%到 100,但也有少数一些组织的进度估算精确到了 10以内,能控制在 5以内的还没有听说。Jones,19942上海交通大学计算机系软件工作量估算“ 大多数 IS人士,无论是否为管理者,从来都无权控制他们自己的进度计划。进度计划通常由市场部或高层管理部门直接下达,就像飞石从天而降(也有人称之为鸟粪) ”“ 就此问题,我曾与 IS领域中许多人士进行过交流。大家一致认为当前 IS领域面临的最大难题,既不是掌握快速更新的技术,也不是探求新型
2、的管理哲学,而是被迫接受根本无法达到的进度计划。 ” ( Robert.L.Glass)3上海交通大学计算机系一个月的时间造这样一栋房子?没问题太好了,那我们开工吧!你 当初计划 10万元造的房屋可能最终的实际造价为50万元。4上海交通大学计算机系从造 房子中学到的w 除非你确切知道 “它 ”是什么?否则无法说明它的确切花费。w 盖房子时,可以盖梦想中的房子(不考虑花费),也可以按估算盖,但是功能必须具有一定的灵活性5上海交通大学计算机系不确定性问题w 客户会要求 X功能吗?w 客户要的是 X功能的便宜版本还是昂贵版本呢?同一功能的不同版本的实施难度至少有 10左右的差别。w 如果实施了 X功
3、能的便宜版本,客户会不会以后又想要昂贵的版本。w X功能如何设计?同一功能的不同设计,在复杂度方面会有 10左右的差别。w X功能的质量级别是什么?依据实施过程的不同,首次提交的 X功能的缺陷数量会有 10的差异。w 调试和纠正 X功能实施过程中的错误要花多少时间?研究发现调试和纠正同样的错误,不同程序员所花时间会有 10左右的差异。w 把 X功能和其它功能结合起来要花多少时间?w 6上海交通大学计算机系软件工作量估算的渐进性 7上海交通大学计算机系估算的准确性和精确性w 准确( accuracy) 是 结果与目标之间有多近 ,用3代表圆周率比用 4更准确w 精确( precision) 是
4、结果有多少有意义的位数, 3.14比 3代表圆周率更精确w 一个结果可以不准确而精确,不精确而准确,w 软件估算中错误的精确是准确的敌人, 40 70个人月的工作量估算可能是最准确又最精确的估算,而精确到 55个人月看起来更精确,但不准确。8上海交通大学计算机系软件工作量估算困难的原因w 估算困难是由于软件的本质带来的,特别是其复杂性和不可见性。w 软件开发是人力密集型工作的,因而不能以机械的观点来看待w 传统的工程项目经常会议相近的项目做参考,不同的只是客户和地点,而绝大部分软件项目是独一无二的。w 新技术的不断出现和应用。w 缺少项目经验数据,许多组织无法提供原有项目数据,而即使提供了这些项目数据,也未必非常有用。9上海交通大学计算机系例子w 结论:很难用这些数据去估算项目10