软件工程经济学

软件工程经济学
作 者: Barry Boehm 李师贤 李师贤
出版社: 机械工业出版社
丛编项: 软件工程技术丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 经济学
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Barry W.Boehm先生是在计算机界非常有影响力的专家。他是AIAA、ACM、IEEE和美国工程院的会员,曾经担任过AIAA计算机系统技术委员会的主席、IEEE软件工程技术委员会的主席以及IEEE计算机协会的管理委员会成员,同时兼任美国空军科技顾问委员会信息技术小组主席以及CMU软件工程学院客座教授委员会主席。现在担任USC软件中心主任和TRW计算机科学部的软件工程教授。Barry W.Boehm先生在计算机软件工程领域做出了杰出贡献,例如,他提出了构造性成本模型、软件处理过程的螺旋模型、软件管理与需求决策的W(win-win)理论方法以及两种先进的软件工程环境:TRW软件生产率系统和Quantum Leap环境等等。所有这些为他奠定了在业界的权威地位。

内容简介

本书阐述软件工程经济学的基本原理和分析方法,包括COCOMO模型分析,多目标决策分析,软件生命周期定量模型,软件项目的工程经济学基础,软件生命周期成本估算方法,以成本效益分析、边际分析、风险分析为基础的决策方法以及软件成本估算技术等。本书使用了大量案例,深入浅出、概念清晰,较好地结合了理论与实践。本书适合作为大学高年级本科生和低年级研究生的软件工程经济学基础课程的教材,也可供广大软件从业人员参考。前言:工程经济学课程已成为硬件工程师教育的一个标准组成部分。但到目前为止,软件工程师却缺少相似的、适合的软件工程经济学课程。这样导致的结果就是,大多数软件工程师没有机会掌握并利用那些有重要意义的经济学概念、技术和案例,而这些恰恰对他们以后的职业生涯、对所编制软件的易用性和价值都有重要作用。所以,本书的主要目标是为美国高年级本科生和一年级研究生,提供软件工程经济学的基础课程。即本书的两个目的是:1.易于学生学习。2.便于教师讲授。我也努力使本书能够达到第三个目的:3.为这一领域的专业人士提供帮助。因为这三类读者有一定的差异,所以我对学生、教师和熟练的软件工程师分别给出了指导,作为他们学习本书的起点。本书的基本结构如图A所示。第一部分介绍背景、动机和软件工程目标框架等,为后续的内容打下基础。第二、三部分包括两个互相补充的主题:软件生命周期定量模型,应用于软件项目的工程经济学基础。第四部分详细讲述了软件生命周期成本估算的方法,它是以第二部分较简单的成本模型为基础,同时,又进一步支持第三部分的软件工程经济学的分析技术。图A也显示了本书的每一部分所解决的基本问题。例如:第四部分不仅讲述了软件成本估算、理解影响软件成本因素问题,还探讨了像“如何利用这种理解来提高软件项目的可见性及控制,进而提高软件生产率?”这类问题。图B显示了本书的每一部分中的章节。例如,图B显示了分等级的软件成本估算模型细节的逐级层次,这个模型通常称为COCOMO(COnstructiveCOstMOdel)。顶层是在第5章~第7章讲述的基本COCOMO(BasicCOCOMO)模型,基本COCOMO模型是一个简单的公式,将软件项目的成本仅仅估算为已交付源指令规模的函数。接下来是中等COCOMO(IntermediateCOCOMO)模型,在第8章和第9章介绍,它估算软件项目成本是规模和其他成本驱动属性(costdriverattribute)的函数,如人...

图书目录

译者序

前言

第一部分 动机与背景

第1章 案例研究1:Scientific American预订处理系统

1. 1 原有系统

1. 2 编程解决方案: 自顶向下逐步求精

1. 3 编程方案:结果

1. 4 经济学编程方法

1. 5 经济学编程方法的结果

1. 6 综合讨论

1. 7 问题

第2章 案例研究2:市内校区考勤系统

2. 1 编程方面

2. 2 经济学方面

2. 3 人际关系方面

2. 4 得到的教训

2. 5 综合讨论

2. 6 问题

第3章 软件工程目标

3. 1 引言

3. 1. 1 分而治之

3. 1. 2 本章内容

3. 2 软件工程:定义

3. 3 软件趋势:成本

3. 4 软件趋势:社会影响

3. 5 目标的复杂性

3. 6 例子:WEINBERG的实验

3. 7 软件工程方法的复杂性

3. 8 软件工程目标结构

3. 9 软件工程的GOALS方法

3. 10 问题

第二部分 软件生命周期: 定量模型

第4章 软件生命周期:阶段与活动

4. 1 引言

4. 2 瀑布模型

4. 3 瀑布模型的经济学基本原理

4. 3. 1 前提A:所有过程子目标都是必要的

4. 3. 2 前提B:顺序地处理子目标

4. 3. 3 背离顺序方法:原型折中方法

4. 4 瀑布模型的精化

4. 4. 1 增量开发

4. 4. 2 先遣人员

4. 4. 3 软件经济学意义

4. 5 详细的生命周期阶段定义

4. 6 详细的阶段/活动定义

4. 7 软件工作分解结构 WBS

4. 8 软件维护

4. 9 问题

第5章 基本COCOMO模型

5. 1 引言

5. 1. 1 一些估算公式和问题

5. 1. 2 COCOMO模型的版本

5. 2 定义与假设

5. 3 开发的工作量和进度

5. 3. 1 基本COCOMO模型的工作量和进度公式:组织型模式

5. 3. 2 项目轮廓

5. 4 阶段分布

5. 5 正常项目轮廓

5. 6 雷利 Rayleigh 分布

5. 7 插值法

5. 8 基本软件维护量估算

5. 9 问题

第6章 基本COCOMO模型:开发模式

6. 1 引言

6. 2 基本工作量和进度公式

6. 3 软件开发的三种COCOMO模式

6. 3. 1 组织型模式

6. 3. 2 半独立型模式

6. 3. 3 嵌入型模式

6. 3. 4 总结

6. 4 对基本COCOMO工作量和进度公式的讨论

6. 4. 1 COCOMO数据库

6. 4. 2 工作量公式:估算与实际

6. 4. 3 工作量公式:模式间的比较

6. 4. 4 工作量公式:与其他模型的比较

6. 4. 5 进度公式:估算与实际

6. 4. 6 进度公式:与其他模型进行比较

6. 5 工作量与进度的阶段分布

6. 5. 1 百分比分布

6. 5. 2 表的使用

6. 5. 3 基本项目轮廓

6. 5. 4 劳动力分布曲线与雷利分布

6. 5. 5 最后的观点

6. 6 问题

第7章 基本COCOMO模型:活动分布

7. 1 引言

7. 2 按阶段的活动分布

7. 3 基本COCOMO案例研究:Hunt国家银行EFT系统

7. 4 绘制基本的项目组织系统图

7. 4. 1 通用的软件项目组织系统图

7. 4. 2 组织系统图裁剪指南

7. 4. 3 示例:Hunt国家银行EFT项目

7. 4. 4 其他阶段的组织系统图和决策

7. 5 基本COCOMO阶段与活动分布的讨论

7. 5. 1 雷利曲线比较

7. 5. 2 阶段/活动分布

7. 6 基本COCOMO的局限

7. 7 问题

第8章 中等COCOMO模型:产品级估算

8. 1 引言

8. 1. 1 中等COCOMO成本驱动因子属性

8. 1. 2 本章预览

8. 2 中等COCOMO模型:软件开发工作量估算

8. 2. 1 标称工作量换算公式

8. 2. 2 软件开发工作量乘数

8. 2. 3 工作量和进度的阶段与活动分布

8. 3 定价示例:微处理器通信软件

8. 4 管理示例:降低完成成本

8. 4. 1 问题

8. 4. 2 解决方案1:降低项目规模

8. 4. 3 其他可能的解决方案

8. 4. 4 其他的候选项

8. 4. 5 解决方案的选择

8. 5 年维护工作量的调整估算

8. 5. 1 不能用于维护阶段的成本驱动因子:SCED

8. 5. 2 修正过的工作量乘数:可靠性要求

8. 5. 3 修正过的工作量乘数:现代编程规范

8. 6 示例:微处理器通信软件的维护

8. 7 内插值和外插值

8. 8 估算改编现有软件的影响

8. 8. 1 改编需考虑的因素

8. 8. 2 COCOMO改编估算公式

8. 8. 3 COCOMO改编估算公式的基本原理

8. 8. 4 改编估算:注意事项

8. 9 对中等COCOMO工作量公式的讨论

8. 9. 1 中等COCOMO估算与实际的对比

8. 9. 2 中等COCOMO标称工作量估算公式与实际的比较

8. 9. 3 加权的交付源指令度量标准

8. 10 问题

第9章 中等COCOMO:组件级估算

9. 1 引言

9. 2 组件级估算表 CLEF

9. 3 对改编的软件采用CLEF

9. 4 事务处理系统 TPS 示例:基本开发估算

9. 4. 1 TPS描述

9. 4. 2 前端处理器 FEP 软件子系统

9. 4. 3 事务处理器 TP 软件子系统

9. 4. 4 TPS操作系统软件的开发估算

9. 5 TPS组件级维护估算与阶段分布

9. 6 问题

第三部分 软件工程经济学基础

第三部分A 成本效益分析

第10章 性能模型与成本效益模型

10. 1 性能模型

10. 1. 1 示例

10. 1. 2 综合讨论

10. 2 最佳性能

10. 2. 1 示例

10. 2. 2 综合讨论

10. 3 敏感性分析

10. 3. 1 示例

10. 3. 2 综合讨论

10. 4 成本效益模型

10. 4. 1 示例

10. 4. 2 综合讨论

10. 5 问题

第11章 生产函数:规模经济

11. 1 示例

11. 2 综合讨论:定义

11. 3 离散的生产函数

11. 4 软件开发的基本生产函数

11. 5 规模经济与规模不经济

11. 6 大型软件项目的规模不经济

11. 7 应对规模不经济的最好方法

11. 8 问题

第12章 可选方案的选择:决策标准

12. 1 示例:最大化可用预算

12. 2 最小化性能需求

12. 3 最大化效益/成本比

12. 4 最大化效益-成本差额

12. 5 复合选项

12. 6 综合讨论

12. 7 问题

第三部分B 多目标决策分析

第13章 净值与边际分析

13. 1 示例

13. 2 综合讨论:边际分析

13. 3 举例说明

13. 4 在处理净值与利润时的一些注意事项

13. 5 信息处理产品的价值

13. 6 问题

第14章 现在与未来的支出与收入

14. 1 示例:过分简单的成本分析

14. 2 利息计算

14. 3 现值计算

14. 4 一系列现金流的现值

14. 5 租借与购买分析的总结

14. 6 综合讨论:现值概念与公式的总结

14. 7 现值特征

14. 8 对利率或贴现率的敏感性

14. 9 现值分析应用于软件工程

14. 10 问题

第15章 品质因素

15. 1 示例:软件包选择

15. 2 净值分析

15. 3 品质因素分析

15. 4 综合讨论:软硬件选择的加权和分析-案例研究

15. 5 案例研究:活动描述

15. 6 案例研究:评价函数的问题

15. 7 案例研究:权重与级别的问题

15. 8 案例研究:总结

15. 9 已交付系统能力 DSC 品质因素

15. 10 DSC品质因素的轮廓

15. 11 重新考虑TPS示例

15. 12 加权和与DSC品质因素的比较

15. 13 问题

第16章 目标作为约束条件

16. 1 示例:TPS选项A的失效模式

16. 2 系统可靠性与可用性

16. 3 品质因素评价

16. 4 把目标表述成约束条件

16. 5 目标作为约束条件:可行集和成本价值等值线

16. 6 综合讨论:有约束条件的决策问题

16. 7 软件工程应用

16. 8 数学优化技术

16. 9 数学优化技术的能力与局限性

16. 10 问题

第17章 系统分析与约束优化

17. 1 示例

17. 2 综合讨论

17. 3 问题

第18章 处理不可协调与不能量化的目标

18. 1 示例:TPS选项B:开发专用操作系统

18. 2 内部开发与供应商开发相比较时要考虑的事项

18. 3 描述方法

18. 4 综合讨论:不可量化标准

18. 5 不可量化标准的描述方法

18. 6 混合量化标准与不可量化标准的描述方法

18. 7 在描述与解释多变量数据时的一些注意事项

18. 8 问题

第三部分C 处理不确定性. 风险与信息的价值

第19章 处理不确定性:风险分析

19. 1 示例:操作系统开发选项

19. 2 完全不确定性的决策规则

19. 3 主观概率

19. 4 总的讨论:完全不确定性情况下的决策规则

19. 5 信息的价值

19. 6 主观概率的应用

19. 7 效用函数

19. 8 软件工程的含义

19. 9 问题

第20章 统计学决策理论:信息的价值

20. 1 示例:原型方法

20. 2 完全信息的期望价值

20. 3 应对不完全信息

20. 4 示例

20. 5 贝叶斯公式

20. 6 最大化原型的净期望价值

20. 7 总的讨论:完全信息的期望价值

20. 8 不完全信息的期望价值

20. 9 信息的价值过程

20. 10 在软件工程中应用信息的价值过程

20. 11 信息的价值决策指南

20. 12 通过信息的价值方法避免缺陷

20. 13 信息的价值:最后的简要总结

20. 14 问题

第四部分 软件成本估算技术

第四部分A 软件成本估算方法与过程

第21章 软件成本估算中的七个基本步骤

21. 1 步骤1:建立目标

21. 1. 1 目标与阶段, 或理解级别

21. 1. 2 估算的含义

21. 1. 3 相对与绝对估算

21. 1. 4 慷慨的与保守的估算

21. 1. 5 总的方针

21. 2 步骤2:计划所需的数据与资源

21. 3 步骤3:准确说明软件需求

21. 4 步骤4:尽可能详细地做出估算

21. 4. 1 有关软件规模估算

21. 4. 2 PERT计算规模

21. 4. 3 为什么人们会过低估算软件规模

21. 5 步骤5:采用多种独立的方法和资源

21. 6 步骤6:比较与迭代估算

21. 6. 1 乐观/悲观现象

21. 6. 2 顶梁柱现象

21. 6. 3 一些有用的评价问题

21. 7 步骤7:跟进

21. 8 问题

第22章 可选择的软件成本估算方法

22. 1 算法模型

22. 1. 1 线性模型

22. 1. 2 乘法模型

22. 1. 3 分析模型

22. 1. 4 表格模型

22. 1. 5 复合模型

22. 1. 6 算法模型总的优缺点

22. 2 专家判断

22. 2. 1 小组一致方法:Delphi

22. 2. 2 一个Delphi/小组会议软件成本估算实验

22. 2. 3 宽带Delphi方法

22. 3 通过推理来进行估算

22. 4 帕金森估算

22. 5 价格策略估算

22. 6 自顶向下估算

22. 7 自底向上估算

22. 8 各种方法的总结比较

22. 9 问题

第四部分B 详细COCOMO模型

第23章 详细COCOMO:概述与运用描述

23. 1 引言

23. 1. 1 模块-子系统-系统层次

23. 1. 2 阶段敏感的工作量乘法

23. 1. 3 详细COCOMO过程

23. 2 软件分层估算表

23. 3 软件分层估算表过程

23. 4 详细COCOMO示例:学生工作信息系统

23. 4. 1 项目概述

23. 4. 2 估算步骤

23. 5 进度调整计算

23. 5. 1 进度调整过程

23. 5. 2 示例

23. 6 讨论

23. 6. 1 工作量的阶段分布

23. 6. 2 阶段分布:一个极端的例子

23. 6. 3 详细COCOMO的其他组成部分

23. 6. 4 COCOMO模型体系的概述

23. 7 问题

第24章 详细COCOMO成本驱动因子:产品属性

24. 1 RELY:要求的软件可靠性

24. 1. 1 级别与工作量乘数

24. 1. 2 与RELY级别相对应的项目活动的差异

24. 1. 3 与项目结果相比较

24. 1. 4 讨论

24. 1. 5 软件可靠性生产函数

24. 2 DATA:数据库规模

24. 2. 1 级别与工作量乘数

24. 2. 2 与项目结果的比较

24. 2. 3 讨论

24. 3 CPLX:软件产品复杂性

24. 3. 1 级别与工作量乘数

24. 3. 2 与项目结果相比较

24. 3. 3 讨论

24. 4 问题

24. 5 进一步研究的主题

第25章 详细COCOMO模型成本驱动因子:计算机属性

25. 1 TIME:执行时间约束

25. 1. 1 级别与工作量乘数

25. 1. 2 与项目结果进行比较

25. 1. 3 讨论

25. 1. 4 IBM-FSD数据库中的生产率变动范围

25. 2 STOR:主存储器约束

25. 2. 1 级别与工作量乘数

25. 2. 2 与项目结果相比较

25. 2. 3 相关数据与研究的讨论

25. 3 VIRT:虚拟机的易变性

25. 3. 1 级别与工作量乘数

25. 3. 2 与项目结果相比较

25. 3. 3 讨论

25. 4 TURN:计算机周转时间

25. 4. 1 级别与工作量乘数

25. 4. 2 与项目结果的比较

25. 4. 3 讨论

25. 5 问题

25. 6 进一步研究的主题

第26章 详细COCOMO成本驱动因子:人员属性

26. 1 ACAP:分析员能力

26. 1. 1 级别与工作量乘数

26. 1. 2 示例

26. 1. 3 与项目结果的比较

26. 1. 4 讨论

26. 2 AEXP:应用经验

26. 2. 1 级别与工作量乘数

26. 2. 2 与项目结果相比较

26. 2. 3 讨论

26. 3 PCAP:程序员能力

26. 3. 1 级别与工作量乘数

26. 3. 2 与项目结果的比较

26. 3. 3 讨论

26. 4 VEXP:虚拟机经验

26. 4. 1 级别与工作量乘数

26. 4. 2 与项目结果相比较

26. 4. 3 讨论

26. 5 LEXP:编程语言经验

26. 5. 1 级别与工作量乘数

26. 5. 2 与项目结果相比较

26. 5. 3 讨论

26. 6 人员属性的总的讨论

26. 6. 1 属性等级:人员能力

26. 6. 2 属性级别:人员经验

26. 6. 3 对软件人员属性的相关研究

26. 6. 4 数据收集与分析要考虑的因素

26. 7 问题

26. 8 进一步研究的主题

第27章 详细COCOMO成本驱动因子:项目属性

27. 1 MODP:现代编程规范的应用

27. 1. 1 级别与工作量乘数

27. 1. 2 与项目结果相比较

27. 1. 3 讨论

27. 1. 4 MPP使用的GUIDE调查

27. 1. 5 MPP与软件工作程序化

27. 2 TOOL:软件工具的使用

27. 2. 1 级别与工作量乘数

27. 2. 2 与项目结果的比较

27. 2. 3 讨论

27. 2. 4 软件工具生产函数

27. 2. 5 未来的软件工具类别

27. 3 SCED:开发进度约束

27. 3. 1 级别与工作量乘数

27. 3. 2 与项目结果的比较

27. 3. 3 讨论

27. 3. 4 相关的数据和研究

27. 4 问题

27. 5 进一步研究的主题

第28章 COCOMO模型中没有包含的因素

28. 1 应用类型

28. 2 语言级别

28. 3 其他规模度量:复杂性. 实体和说明

28. 3. 1 复杂性度量

28. 3. 2 程序实体的数量:例行程序. 报表. 输入. 输出. 文件

28. 3. 3 说明书元素的数量

28. 3. 4 用源指令计算规模:RADC数据库

28. 4 需求的易变性

28. 5 人员连续性

28. 6 管理质量

28. 7 用户接口质量

28. 8 文档的数量

28. 9 硬件配置

28. 10 安全性和保密性约束

28. 11 进一步研究的主题

第29章 COCOMO模型评价

29. 1 引言

29. 1. 1 COCOMO模型校准/评价过程

29. 1. 2 统计分析

29. 1. 3 本章预览

29. 2 COCOMO模型项目数据库

29. 3 COCOMO模型估算与实际:开发工作量

29. 4 COCOMO模型估算与实际相比较:开发进度

29. 5 COCOMO模型估算与实际相比较:阶段分布

29. 6 COCOMO模型估算与实际相比较:活动分布

29. 7 其他软件成本估算模型

29. 7. 1 1965 SDC模型[Nelson, 1966]

29. 7. 2 TRW Wolverton模型[Wolverton, 1974]

29. 7. 3 Putnam SLIM模型[Putnam, 1978, Putnam-Fitzsimmons, 1979]

29. 7. 4 Doty模型[Herd and others, 1977]

29. 7. 5 RCA PRICE S模型[Freiman-Park, 1979]

29. 7. 6 IBM-FSD模型[Walston-Felix, 1977]

29. 7. 7 1977 Boeing模型[Black and others, 1977]

29. 7. 8 1979 GRC模型[Carriere-Thibodeau, 1979]

29. 7. 9 Bailey-Basili Meta模型[Bailey-Basili, 1981]

29. 8 按模型标准对COCOMO模型的评价

29. 9 根据特定配置环境裁剪COCOMO模型

29. 9. 1 校准COCOMO模型的标称工作量等式

29. 9. 2 校准常量

29. 9. 3 校准软件开发模式

29. 9. 4 重新校准软件开发模式时的注意事项

29. 9. 5 合并. 排除或增加成本驱动因子属性

29. 10 进一步研究的主题

第四部分C 软件成本估算与生命周期维护

第30章 软件维护成本估算

30. 1 引言

30. 2 COCOMO软件维护模型

30. 2. 1 定义

30. 2. 2 软件维护工作量估算

30. 2. 3 修改过的工作量乘数

30. 3 与项目结果相比较

30. 4 其他软件维护成本估算模型

30. 4. 1 维护/开发成本比率

30. 4. 2 人均维护卡片比率

30. 4. 3 维护生产率比率

30. 4. 4 与COCOMO数据相比较

30. 5 软件维护现象学 Phenomenology

30. 5. 1 软件维护生产函数

30. 5. 2 软件维护动力学

30. 5. 3 软件维护工作量按活动的分布

30. 6 软件维护项目数据

30. 7 问题

30. 8 进一步研究的主题

第31章 软件生命周期成本估算

31. 1 引言

31. 2 软件移植成本估算关系

31. 2. 1 定义

31. 2. 2 移植成本估算关系

31. 3 软件移植估算与实际

31. 4 软件安装与培训成本估算

31. 4. 1 定义

31. 4. 2 安装与培训成本数据与模型

31. 4. 3 推荐的估算过程

31. 5 软件开发的计算机成本估算

31. 5. 1 现有数据与估算关系

31. 5. 2 在COCOMO数据库中的计算机时间数据

31. 5. 3 推荐的估算过程

31. 5. 4 计算机时间分布

31. 6 软件文档数量

31. 6. 1 文档等级

31. 6. 2 文档工作量

31. 7 其他软件相关生命周期成本

31. 8 软件生命周期成本效益分析的一个示例

31. 8. 1 PPI公司, 设备管理系统

31. 8. 2 现有软件系统的问题

31. 8. 3 取代现有系统:可行性研究

31. 8. 4 建议的中央设备管理与存货控制系统 CEMICS

31. 8. 5 CEMICS生命周期成本分析

31. 8. 6 CEMICS生命周期成本效益分析

31. 8. 7 CEMICS有形收益

31. 8. 8 CEMICS无形收益

31. 8. 9 CEMICS成本收益比较与风险分析

31. 9 进一步研究的主题

第32章 软件项目计划与控制

32. 1 引言

32. 1. 1 软件成本估算作为自我实现的预言

32. 1. 2 软件成本估算与软件项目管理之间的优势互补

32. 1. 3 本章预览

32. 2 软件项目计划与控制框架结构

32. 3 项目进度安排技术

32. 3. 1 PERT图

32. 3. 2 构造PERT图

32. 3. 3 关键路径分析

32. 3. 4 确定关键路径

32. 3. 5 确定延迟开始与闲散时间

32. 3. 6 涉及计划与控制的问题

32. 3. 7 PERT图:变化与扩展

32. 3. 8 甘特图

32. 3. 9 甘特图与PERT图的比较

32. 4 详细的软件计划与控制:单元开发文件夹

32. 4. 1 90%综合症

32. 4. 2 单元开发文件夹 UDF

32. 4. 3 UDF封面

32. 5 监控项目花费与进展:挣值系统

32. 5. 1 在整体项目状态监督与控制中的问题

32. 5. 2 挣值概念与汇总任务计划表

32. 5. 3 挣值汇总报告

32. 5. 4 讨论

32. 6 软件项目计划与控制示例

32. 7 构造软件成本数据库

32. 8 软件计划与控制总结性的讨论

32. 9 问题

第33章 提高软件生产率

33. 1 引言

33. 1. 1 提高软件生产率的重要性

33. 1. 2 与软件成本估算的关系

33. 1. 3 开发生产率与生命周期生产率的关系

33. 1. 4 软件生产率与人类经济学

33. 1. 5 软件生产率中的主要可控因素

33. 2 非编程选项:软件包

33. 2. 1 软件包特征

33. 2. 2 软件包成本收益考虑

33. 2. 3 软件包的优点

33. 2. 4 商业软件包的特点

33. 2. 5 软件包:做购买还是开发的决策时, 需要考虑的特殊事项

33. 2. 6 关于软件包的信息资源

33. 2. 7 现有内部软件的改编

33. 3 非编程选项:程序生成器

33. 3. 1 程序生成器的生产率优势

33. 3. 2 快速原型与改良设计

33. 3. 3 RP/ED方法的优点

33. 3. 4 RP/ED方法的不足

33. 3. 5 作为生产率度量的DSI/MM的应用

33. 4 软件生产率可控性:产品属性

33. 4. 1 要求的可靠性

33. 4. 2 数据库规模

33. 4. 3 软件产品复杂性

33. 4. 4 编程语言

33. 4. 5 产品规模

33. 5 软件生产率可控性:计算机属性

33. 5. 1 执行时间与主存储约束

33. 5. 2 示例:一个过程控制系统

33. 5. 3 资源控制

33. 5. 4

放宽的性能要求

33. 5. 5 虚拟机的易变性

33. 5. 6 计算机周转时间

33. 6 软件生产率可控性:人员属性

33. 6. 1 人员安置

33. 6. 2 安置原则

33. 6. 3 激励

33. 6. 4 激励因素:一般原则

33. 6. 5 激励因素:软件人员

33. 6. 6 管理

33. 6. 7 软件人员与生产率:总结

33. 7 软件生产率可控性:项目属性

33. 7. 1 现代编程规范 MPP

33. 7. 2 MPP实现指南

33. 7. 3 软件工具的使用

33. 7. 4 期限约束

33. 7. 5 需求易变性

33. 7. 6 工作环境

33. 8 建立起软件生产率提高过程

33. 9 结论

第五部分 附 录

附录A 软件成本数据收集表格与步骤

附录B 软件工作目标结构

附录C 缩写词表

参考书目

作者索引

主题词索引