注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件工程及软件方法学软件工程经济学

软件工程经济学

软件工程经济学

定 价:¥69.00

作 者: (英)Barry W.Boehm著;李师贤等译;李师贤译
出版社: 机械工业出版社
丛编项: 软件工程技术丛书
标 签: 经济学

ISBN: 9787111143895 出版时间: 2004-08-01 包装: 胶版纸
开本: 24cm 页数: 618 字数:  

内容简介

  本书阐述软件工程经济学的基本原理和分析方法,包括COCOMO模型分析,多目标决策分析,软件生命周期定量模型,软件项目的工程经济学基础,软件生命周期成本估算方法,以成本效益分析、边际分析、风险分析为基础的决策方法以及软件成本估算技术等。本书使用了大量案例,深入浅出、概念清晰,较好地结合了理论与实践。本书适合作为大学高年级本科生和低年级研究生的软件工程经济学基础课程的教材,也可供广大软件从业人员参考。前言:工程经济学课程已成为硬件工程师教育的一个标准组成部分。但到目前为止,软件工程师却缺少相似的、适合的软件工程经济学课程。这样导致的结果就是,大多数软件工程师没有机会掌握并利用那些有重要意义的经济学概念、技术和案例,而这些恰恰对他们以后的职业生涯、对所编制软件的易用性和价值都有重要作用。所以,本书的主要目标是为美国高年级本科生和一年级研究生,提供软件工程经济学的基础课程。即本书的两个目的是:1.易于学生学习。2.便于教师讲授。我也努力使本书能够达到第三个目的:3.为这一领域的专业人士提供帮助。因为这三类读者有一定的差异,所以我对学生、教师和熟练的软件工程师分别给出了指导,作为他们学习本书的起点。本书的基本结构如图A所示。第一部分介绍背景、动机和软件工程目标框架等,为后续的内容打下基础。第二、三部分包括两个互相补充的主题:软件生命周期定量模型,应用于软件项目的工程经济学基础。第四部分详细讲述了软件生命周期成本估算的方法,它是以第二部分较简单的成本模型为基础,同时,又进一步支持第三部分的软件工程经济学的分析技术。图A也显示了本书的每一部分所解决的基本问题。例如:第四部分不仅讲述了软件成本估算、理解影响软件成本因素问题,还探讨了像“如何利用这种理解来提高软件项目的可见性及控制,进而提高软件生产率?”这类问题。图B显示了本书的每一部分中的章节。例如,图B显示了分等级的软件成本估算模型细节的逐级层次,这个模型通常称为COCOMO(COnstructiveCOstMOdel)。顶层是在第5章~第7章讲述的基本COCOMO(BasicCOCOMO)模型,基本COCOMO模型是一个简单的公式,将软件项目的成本仅仅估算为已交付源指令规模的函数。接下来是中等COCOMO(IntermediateCOCOMO)模型,在第8章和第9章介绍,它估算软件项目成本是规模和其他成本驱动属性(costdriverattribute)的函数,如人员经验与能力、计算机硬件约束、现代编程规范(modernprogrammingpractice)的使用程度等。第23章讲述了最精确、最详细的一层,那就是详细COCOMO(DetailedCOCOMO)模型,并在第24章~第27章给出了其详尽的细节,它利用成本驱动属性,按每个阶段、每个子系统、每个模块分别估算软件产品的成本。第24章~第27章详细解释了各种软件成本驱动因子属性是如何影响完成软件生命周期每一阶段所需工作量的。COCOMO模型不仅给出了估算公式,也给出了该模型为什么能得出这些结果的最好解释。第24章~第31章详细讨论了软件生命周期成本估算知识的前沿问题(frontier),并提出了需要进一步研究的广泛课题(agenda)的建议,以扩展我们在软件生命周期及其经济学方面的知识。图A本书的结构—主要讲述的问题深深地感谢那些鼓励我,为我提供数据与意见的人们。真希望能把他们都列出来。……致学生未来几年内,你将有机会在一间屋子里和一群人一起讨论,决定将要进行的一个重要的新软件工作需要用多长时间、花多少钱,这是一个好机会。这些人中,也许有一到两名对软件很了解,其他大多数都了解不深。这些人可能是高层经理、业务分析员、市场专家或生产线计划者之类的人员。总的说来,他们将根据边际投资回报率、成本收益率(cost-benefitratio)、现值(presentvalue)和风险暴露(riskexposure)之类的概念进行讨论,并做出决策。图B本书的结构—部分与章节还有其他一些人,对这个项目很感兴趣,但不在这间屋子里。这包括将为你工作的、或同你一起从事软件工作的人员,还包括一些用户,那些不得不使用你们团队正准备生产的这个软件的用户。无论是否意识到,事实上,他们未来几个月甚至几年的命运,很大程度上依赖于你和其他非软件人员能在多大程度上对软件工作的范围、预算、进度做出实事求是的决策。屋子里的非软件人员没法做出决策,因为他们对你所做的软件技术性权衡没什么感觉。所以对你来说,与他们交流、理解他们思考并做出决定所依据的经济学概念,就显得特别重要。如果你能做到这一点,你就有机会改变软件开发人员与面向业务人员之间那种敌对关系,把它变成一种能相互理解、承诺和信任的关系。在这本书里,我们将尽量提供必要的概念与技术,使你既能从编程角度,又能从经济学的角度进行思考。除了这些概念的实际应用之外,希望你会发现它们具有相当的刺激性,就像当时我对计算机与信息处理领域提出一种新的见解时那样。我发现它们对说明如下问题有很大帮助:*为什么信息是有价值的?*为什么人们要采用软件产品?*人们如何决定需要什么样的信息处理产品?*为什么软件生命周期是这样的?就像其他方面的研究一样,当我们更好地理解了软件工程领域为什么会存在,才能更好地在软件工程中进行实践。致教师在这里,我想说明以下三点:1.软件工程经济学对教师和学生来说都是一个具有刺激性的、内容丰富的主题。2.本书可用作软件工程经济学方面的教材,讲授一学期或一学年均可,也可以作为更通用的软件工程课程的辅助教材。3.软件工程经济学是一个有重要意义的、成果累累的研究领域。首先,我想你会发现,软件工程经济学是一门有趣的、有价值的学科。微观经济学是一门精致的、清晰的、精确的学科。为什么这么多人需要计算机、软件和处理过的信息?风险和信息价值使得这个行业有令人鼓舞的前景。由于分析影响软件成本的因素很重要,所以目前出现了许多的软件工程指南并对软件生命周期产生了影响。此外,我还认为每个人不必都把自己沉浸到行业的实践与术语中,去寻找软件工程经济学相关的例子与应用。当我还在USC时,对学校开发的各种计算机与软件应用,及学校对计算机与软件成本的关心程度(特别在学校经费紧张的时候)印象深刻。所以,本书尽量避免行业术语,尽可能多地包含面向大学的问题和实例,从而使本书采用的材料较为熟知。本书的基本内容很适合一学期或一学年的课程。此课程的主要学习目标如下:*了解对软件成本影响最大的因素,并由此来确定估算的软件项目成本。*理解软件工程中的微观经济学的基本概念。*将经济学分析技术应用到软件工程决策中。下表给出了在一学期内讲授本书的课程安排,时间显得有点紧:周书的章节主题11~4软件生命周期:经济学观点25~6简单软件成本模型3,47~9中等软件成本模型:影响软件成本的因素51~12成本效益分析:生产函数、规模经济、方案选择6-复习,期中考试713~15多目标决策分析:净值、现值、品质因素816~18多目标决策分析:约束、系统分析、不可量化目标919~2风险、不确定性和信息的价值121~22实用的软件成本估算技术1131~32案例研究:软件生命周期成本分析与控制12-期末考试如果是第一次讲授软件工程经济学这门课,上述这些内容比较适合一个学年的课程安排,要使一个学期的教学效果令人满意,最好只安排讲授1~18章的内容,也能基本达到学习目标。这门课程适合美国高年级的本科生和一年级的研究生,惟一的前提条件是学生基本熟悉编程过程(或上过相当于两年的计算机科学方面的课程)和一定的微积分基础。为练习软件成本估算模型,我强烈推荐使用有指数运算(Xy)功能的计算器。虽然为使没有计算器的同学也能运用这个模型,在书中我加进了很多曲线,但这毕竟不太精确,也不方便。最后,我希望你能进一步深入研究软件工程经济学,研究软件开发过程自身具有的基本问题,如:*为什么软件开发成本这么高?*是什么因素使软件成本上升或下降,各因素之间如何相互作用?*是什么活动消耗了大部分的成本?*新的软件技术如何降低软件成本?在本书的第四部分,我列举并分析了由63个软件项目的成本及其开发属性组成的数据库,试图回答以下这个问题:“为使项目数据有助于以后其他项目估算和理解其软件成本,我们应该如何解释这些数据?”本书所描述的成本模型,是回答上面这个问题的第一步,但还有待于进一步地去做大量有价值的研究。深入分析这63个项目的数据,就能进一步得到很多有价值的新观点。另外收集、分析更多的观察与实验数据,会得到更多这方面的见解。第四部分大多数章节的最后,都有“进一步研究的主题”一节,说明要阐明上述这个问题的一些最有前途的方向。希望你和你的学生能尝试一下。致在职的软件工程师可以想像在你的软件工程生涯中,已经形成了很多个人原则,来指导估算软件成本、进行软件产品和项目所需的决策。我相信这本书能帮助你利用他人的经验,校准自己的经验法则,能为你的软件成本估算、软件工程决策提供一些其他有用的技术。我也希望,你读这本书的过程是一次激动人心的、充满收获的经历,就像我当初看到,我所用到的各种表面上无关的技术和决策方针,而事实上就是经济学原则的一部分时那样。可以根据个人兴趣与需要选择本书的某些部分阅读,而不是从头到尾地读一遍。以下是根据个人兴趣可以进行的选择。*如果主要想提高自己(或机构)估算软件开发成本的能力,那最好从第21章和第22章的软件成本估算方法开始看,接着再看第4章~第9章的软件生命周期和基本与中等COCOMO模型。*如果你还对估算软件维护成本或其他软件相关成本有兴趣,可阅读第3章、第31章。*如果你还对完成一个详细的软件成本估算模型有兴趣,并想对其加以裁剪,以适合自己的机构,阅读第23章、第29章。*如果你主要对特定软件属性(如,项目人员能力、现代编程规范的使用或语言级别等)对软件成本的影响有兴趣,请阅读第24章~第28章中的相应的内容。*如果你主要对提高软件经济学决策的分析能力有兴趣,请阅读第1章~第18章。*如果你主要对软件项目计划和控制技术有兴趣,请阅读第31章第6节和第32章。然而,即使你只对某一方面的主题有兴趣,我还是推荐你阅读一下第1章~第3章的介绍性内容和第33章的提高软件生产率。这些章节提供了实现更有效的、更令人满意的和更具生产率的环境所需要的背景与方法,在这样的环境中我们能反复演练软件工程活动。

作者简介

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

图书目录

译者序
前言
第一部分 动机与背景
第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 缩写词表
参考书目
作者索引
主题词索引

本目录推荐