对15种影响软件工作量的因素f按等级打分,如表9.11所列。此时,工作量计算公式 MM=rx∏fx(KD 表91115种影响软件工作量的因素f的等级分 高非常高超 软件可靠性 产品因素数据库规模 产品复杂性 0.851.001.151.30165 执行时间限制 计算机 存储限制 因素 虚拟机易变性 87 1.15 环境周转时间 107 分析员能力 146 应用论域实际经验1 人的因素程序员能力 0.86 虚拟机使用经验 现代程序设计技术1.24 0.91 项目因素软件工具的使用 0.91 开发进度限制 这里所谓的虚拟机是指为完成某一个软件任务所使用的硬、软件的结合 ⑤详细 COCOMO模型 详细 COCOMO模型的名义工作量公式和进度公式与中间 COCOMO模型相同。但分层、 分阶段给出工作量因素分级表(类似于上表)。针对每一个影响因素,按模块层、子系统层 系统层,有三张不同的工作量因素分级表,供不同层次的估算使用。每一张表中工作量因素 又按开发各个不同阶段给出。 例如,关于软件可靠性(RELY)要求的工作量因素分级表(子系统层),如表9.12所示。 使用这些表格,可以比中间 COCOMO模型更方便、更准确地估算软件开发工作量 表9.12软件可靠性工作量因素分级表(子系统层) 阶段 需求和产品设计详细设计编码及单元测试集成及测试综合 RELY级别 非常低 0.80 60 0.90 0.80 常 00 高 10 1.10 1.30 非常高 1.30 6、成本一效益分析 成本一效益分析的目的,是从经济角度评价开发一个新的软件项目是否可行
16 对 15 种影响软件工作量的因素 fi 按等级打分,如表 9.11 所列。此时,工作量计算公式 改成: ( ) c 15 i 1 MM = r fi KDSI = 表 9.11 15 种影响软件工作量的因素 fi 的等级分 工作量因素 fi 非常低 低 正常 高 非常高 超高 产品因素 软件可靠性 0.75 0.88 1.00 1.15 1.40 数据库规模 0.94 1.00 1.08 1.16 产品复杂性 0.70 0.85 1.00 1.15 1.30 1.65 计算机 因素 执行时间限制 1.00 1.11 1.30 1.66 存储限制 1.00 1.06 1.21 1.56 虚拟机易变性 0.87 1.00 1.15 1.30 环境周转时间 0.87 1.00 1.07 1.15 人的因素 分析员能力 1.46 1.00 0.86 0.71 应用论域实际经验 1.29 1.13 1.00 0.91 0.82 程序员能力 1.42 1.17 1.00 0.86 0.70 虚拟机使用经验 1.21 1.10 1.00 0.90 程序语言使用经验 1.41 1.07 1.00 0.95 项目因素 现代程序设计技术 1.24 1.10 1.00 0.91 0.82 软件工具的使用 1.24 1.10 1.00 0.91 0.83 开发进度限制 1.23 1.08 1.00 1.04 1.10 这里所谓的虚拟机是指为完成某一个软件任务所使用的硬、软件的结合。 ⑤ 详细 COCOMO 模型 详细 COCOMO 模型的名义工作量公式和进度公式与中间 COCOMO 模型相同。但分层、 分阶段给出工作量因素分级表(类似于上表)。针对每一个影响因素,按模块层、子系统层、 系统层,有三张不同的工作量因素分级表,供不同层次的估算使用。每一张表中工作量因素 又按开发各个不同阶段给出。 例如,关于软件可靠性(RELY)要求的工作量因素分级表(子系统层),如表 9.12 所示。 使用这些表格,可以比中间 COCOMO 模型更方便、更准确地估算软件开发工作量。 表 9.12 软件可靠性工作量因素分级表(子系统层) 阶段 RELY 级别 非常低 0.80 0.80 0.80 0.60 0.75 低 0.90 0.90 0.90 0.80 0.88 正常 1.00 1.00 1.00 1.00 1.00 高 1.10 1.10 1.10 1.30 1.15 非常高 1.30 1.30 1.30 1.70 1.40 6、成本-效益分析 成本-效益分析的目的,是从经济角度评价开发一个新的软件项目是否可行。 需求和产品设计 详细设计 编码及单元测试 集成及测试 综 合
成本一效益分析首先是估算新软件系统的开发成本,然后与可能取得的效益(有形的和 无形的)进行比较权衡。有形的效益可以用货币的时间价值、投资回收期、纯收入、投资回收 率等指标进行度量。无形的效益主要是从性质上、心理上进行衡量,很难直接进行量上的比 较。无形的效益在某些情形下会转化成有形的效益。例如,一个高质量的设计先进的软件可 以使用户更满意,从而影响到其他潜在的用户也会喜欢它,一旦需要时就会选择购买它,这 样使得无形的效益转化成有形的效益。 系统的经济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用 行费用包括操作员人数、工作时间、消耗的物资等 (1)几种度量效益的方法 ①货币的时间价值 成本估算的目的是要求对项目投资。但投资在前,取得效益在后。因此要考虑货币的时 间价值。通常用利率表示货币的时间价值。设年利率为i,现已存入P元,则n年后可得钱 数为:F=(1+i)",这就是P元钱在n年后的价值。反之,若n年后能收入F元,那么这 些钱现在的价值是: F (1+i) 例如,在工程设计中用CAD系统来取代大部分人工设计工作,每年可节省9.6万元 若软件生存期为5年,则5年可节省48万元。开发这个CAD系统共投资了20万元。我们 不能简单地把20万元与48万元相比较。因为前者是现在投资的钱,而后者是5年以后节省 的钱。需要把5年内每年预计节省的钱折合成现在的价值才能进行比较。 设年利率是5%,利用上面计算货币现在价值的公式,可以算出引入CAD系统后,每 年预计节省的钱的现在价值,参看表9.13 表9.13货币的时间价值 年份将来值(万)(1+i 现在值(万)累计的现在值(万) 9.1429 91429 1.1025 8.707 17.8513 8.2928 26.1432 34.0411 ②投资回收期 投资回收期是衡量一个开发工程价值的经济指标。所谓投资回收期就是使累计的经济效 益等于最初的投资所需的时间。投资回收期越短,就能越快获得利润。因此这项工程就越值 得投资。例如,引入CAD系统两年后可以节省17.85万元,比最初的投资还少215万元 但第三年可以节省829万元,则2.15/8.29=0.259。因此,投资回收期是2.259年 ③纯收入 工程的纯收入是衡量工程价值的另一项经济指标。所谓纯收入就是在整个生存期之内系 统的累计经济效益(折合成现在值)与投资之差。例如,引入CAD系统之后,5年内工程的纯 收入预计是41.563-20=21563(万元)。这相当于比较投资一个待开发的软件项目后预期可 取得的效益和把钱存在银行里(或贷款给其它企业)所取得的收益,到底孰优孰劣。如果纯收 为零,则工程的预期效益与在银行存款一样。但开发一个软件项目有风险,从经济观点看, 这项工程可能是不值得投资的。如果纯收入小于零,那么显然这项工程不值得投资。只有当 纯收入大于零,才能考虑投资
17 成本-效益分析首先是估算新软件系统的开发成本,然后与可能取得的效益(有形的和 无形的)进行比较权衡。有形的效益可以用货币的时间价值、投资回收期、纯收入、投资回收 率等指标进行度量。无形的效益主要是从性质上、心理上进行衡量,很难直接进行量上的比 较。无形的效益在某些情形下会转化成有形的效益。例如,一个高质量的设计先进的软件可 以使用户更满意,从而影响到其他潜在的用户也会喜欢它,一旦需要时就会选择购买它,这 样使得无形的效益转化成有形的效益。 系统的经济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用。 运行费用包括操作员人数、工作时间、消耗的物资等。 (1) 几种度量效益的方法 ① 货币的时间价值 成本估算的目的是要求对项目投资。但投资在前,取得效益在后。因此要考虑货币的时 间价值。通常用利率表示货币的时间价值。设年利率为 i,现已存入 P 元,则 n 年后可得钱 数为:F = ( 1 + i ) n,这就是 P 元钱在 n 年后的价值。 反之,若 n 年后能收入 F 元,那么这 些钱现在的价值是: ( ) n 1 i F P + = 例如,在工程设计中用 CAD 系统来取代大部分人工设计工作,每年可节省 9.6 万元。 若软件生存期为 5 年,则 5 年可节省 48 万元。开发这个 CAD 系统共投资了 20 万元。我们 不能简单地把 20 万元与 48 万元相比较。因为前者是现在投资的钱,而后者是 5 年以后节省 的钱。需要把 5 年内每年预计节省的钱折合成现在的价值才能进行比较。 设年利率是 5%,利用上面计算货币现在价值的公式,可以算出引入 CAD 系统后,每 年预计节省的钱的现在价值,参看表 9.13 表 9.13 货币的时间价值 年 份 将来值 (万) (1+i )n 现在值(万) 累计的现在值(万) 1 9.6 1.05 9.1429 9.1429 2 9.6 1.1025 8.7075 17.8513 3 9.6 1.1576 8.2928 26.1432 4 9.6 1.2155 7.8979 34.0411 5 9.6 1.2763 7.5219 41.5630 ② 投资回收期 投资回收期是衡量一个开发工程价值的经济指标。所谓投资回收期就是使累计的经济效 益等于最初的投资所需的时间。投资回收期越短,就能越快获得利润。因此这项工程就越值 得投资。例如,引入 CAD 系统两年后可以节省 17.85 万元,比最初的投资还少 2.15 万元, 但第三年可以节省 8.29 万元,则 2.15∕8.29 = 0.259。因此,投资回收期是 2.259 年。 ③ 纯收入 工程的纯收入是衡量工程价值的另一项经济指标。所谓纯收入就是在整个生存期之内系 统的累计经济效益(折合成现在值)与投资之差。例如,引入 CAD 系统之后,5 年内工程的纯 收入预计是 41.563-20=21.563(万元)。这相当于比较投资一个待开发的软件项目后预期可 取得的效益和把钱存在银行里(或贷款给其它企业)所取得的收益,到底孰优孰劣。如果纯收 入为零,则工程的预期效益与在银行存款一样。但开发一个软件项目有风险,从经济观点看, 这项工程可能是不值得投资的。如果纯收入小于零,那么显然这项工程不值得投资。只有当 纯收入大于零,才能考虑投资