不确定性问题 客户会要求X功能吗? 客户要的是X功能的便宜版本还是昂贵版本呢?同一功能的不同版 本的实施难度至少有10%左右的差别。 ◆如果实施了X功能的便宜版本,客户会不会以后又想要昂贵的版本。 X功能如何设计?同一功能的不同设计,在复杂度方面会有10%左 右的差别。 ◆X功能的质量级别是什么?依据实施过程的不同,首次提交的X功能 的缺陷数量会有10%的差异。 调试和纠正X功能实施过程中的错误要花多少时间?研究发现调试 和纠正同样的错误,不同程序员所徳时间会有10%左右的差异。 把X功能和其它功能结合起来要花多少时间 上海交通大学计算机系 6
上海交通大学计算机系 6 不确定性问题 客户会要求X功能吗? 客户要的是X功能的便宜版本还是昂贵版本呢?同一功能的不同版 本的实施难度至少有10%左右的差别。 如果实施了X功能的便宜版本,客户会不会以后又想要昂贵的版本。 X功能如何设计?同一功能的不同设计,在复杂度方面会有10%左 右的差别。 X功能的质量级别是什么?依据实施过程的不同,首次提交的X功能 的缺陷数量会有10%的差异。 调试和纠正X功能实施过程中的错误要花多少时间?研究发现调试 和纠正同样的错误,不同程序员所花时间会有10%左右的差异。 把X功能和其它功能结合起来要花多少时间? ……
软件工作量估算的渐进性 工作量和规模 工作量和规模 阶段 乐观 悲观 乐观 悲 初始产品定义 0.254 4.04 0.60 1.604 批准的产品定义 0.50 2.04 0804 1.25 需求说明书 0.674 0854 1.154 产品设计说明书 080 1.25 1.104 详细设计说明书 0.904 1.104 0.954 1.054 A Cost Models for Future Life Cycle Process: COCOMO 2.0, 1995- 上海交通大学计算机系 7
上海交通大学计算机系 7 软件工作量估算的渐进性
估算的准确性和精确性 ◆准确( accuracy)是结果与目标之间有多近 用3代表圆周率比用4更准确 ◆精确( precIsion)是结果有多少有意义的位数, 314比3代表圆周率更精确 个结果可以不准确而精确,不精确而准确 ◆软件估算中错误的精确是准确的敌人,40~70 个人月的工作量估算可能是最准确又最精确的估 算,而精确到55个人月看起来更精确,但不准 确。 上海交通大学计算机系
上海交通大学计算机系 8 估算的准确性和精确性 准确(accuracy)是结果与目标之间有多近, 用3代表圆周率比用4更准确 精确(precision)是结果有多少有意义的位数, 3.14比3代表圆周率更精确 一个结果可以不准确而精确,不精确而准确, 软件估算中错误的精确是准确的敌人,40~70 个人月的工作量估算可能是最准确又最精确的估 算,而精确到55个人月看起来更精确,但不准 确
软件工作量估算困难的原因 ◆估算困难是由于软件的本质带来的,特别是其复杂性和 不可见性。 ◆软件开发是人力密集型工作的,因而不能以机械的观点 来看待 ◆传统的工程项目经常会议相近的项目做参考,不同的只 是客户和地点,而绝大部分软件项目是独一无二的 新技术的不断出现和应用。 ◆缺少项目经验数据,许多组织无法提供原有项目数据, 而即使提供了这些项目数据,也未必非常有用。 上海交通大学计算机系 9
上海交通大学计算机系 9 软件工作量估算困难的原因 估算困难是由于软件的本质带来的,特别是其复杂性和 不可见性。 软件开发是人力密集型工作的,因而不能以机械的观点 来看待 传统的工程项目经常会议相近的项目做参考,不同的只 是客户和地点,而绝大部分软件项目是独一无二的。 新技术的不断出现和应用。 缺少项目经验数据,许多组织无法提供原有项目数据, 而即使提供了这些项目数据,也未必非常有用
例子 Table 5.1 effort in brackets) Table F4 Productivity rates D Project Work-months SLOC wm(%) wm (% wm SLOC (SLOC/month) 39(23)5.3(32)74(44)16760502 50 27(12)13.4(59)6.5(26)2268363 226 370 35(1126.8(83)1.9() 32213334c 13334 24(62)0.7(18 3 1524 1.8(10)7.7(44)7.8(45) 1733315e 192 190(28)297(44190(28)67.738988f 67.7 38988 2.1(21)74(74) 10.138614g 38614 7)12.7(66)5.3(27)19312762 66l 85(14)22.7(38)28.2(47)59526500 59.5 Overall 249.3 153868 67 Table F5 Estimated effort 6050617=9801676.90 ◆结论:很难用这些数据去估算项目 上海交通大学计算机系 10
上海交通大学计算机系 10 例子 结论:很难用这些数据去估算项目