书籍详情
软件项目估算
作者:阿兰·阿布兰(Alain Abran) 著,徐丹霞,郭玲,任甲林 译
出版社:人民邮电出版社
出版时间:2019-09-01
ISBN:9787115476968
定价:¥69.00
购买这本书可以去
内容简介
本书主要讲解如何构建估算模型和验证估算模型的质量。本书分为3个部分,共13章。第一部分(第1~3章)介绍估算过程的结构,估算中必须予以考虑的大量的经济学概念;第二部分(第4~7章),介绍有关估算结果质量的概念和技术,根据估算目的增加的调整因子的局限性;第三部分(第8~13章)介绍建立估算模型过程中的问题。本书理论知识全面、严谨,并给出了工程化的软件工作量估算方法和大量的实战经验。本书适合IT从业者、项目经理和对软件项目估算的审计人员,以及学习“软件项目管理”相关课程的学生阅读。
作者简介
Alain Abran博士是加拿大蒙特利尔市魁北克大学高级技术学院(ETS)的软件工程教授。Abran博士拥有20年以上的信息系统开发和软件工程行业经验,以及20年的大学教学经验。Abran博士拥有加拿大蒙特利尔理工大学电子与计算机工程博士学位(1994年)、加拿大渥太华大学管理科学硕士学位(1974年)和电气工程硕士学位(1975年)。Abran博士是通用软件度量国际联盟(Common Sofeware Mesurement International Consortium,COSMIC)的主席。他在2010年出版了《软件计量学与软件度量学》,2008年出版了《软件维护管理》 ,均在Wiley & IEEE CS出版社出版,并共同编辑了2004年版《软件工程知识体系指南》。Abran博士的研究方向包括软件生产率、估算模型、软件质量、软件度量、功能规模度量方法、软件风险管理以及软件维护管理。
目录
第 一部分 理解估算过程
第 1章 估算过程:阶段和角色 3
1.1 概述 3
1.2 估算模型的通用方法:经验判断
还是工程化 4
1.2.1 实践者的方法:经验判断和
技艺 4
1.2.2 工程化方法:保守方法——
每次只有一个变量 5
1.3 软件项目估算及现行实践做法的
概述 5
1.3.1 估算过程的概述 6
1.3.2 糟糕的估算实践 6
1.3.3 糟糕的估算实践的例子 8
1.3.4 现实:失败记录 10
1.4 估算过程的不确定性水平 10
1.4.1 不确定性锥 10
1.4.2 生产率模型中的不确定性 11
1.5 生产率模型 13
1.6 估算过程 15
1.6.1 估算过程的背景 15
1.6.2 基础:生产率模型 16
1.6.3 完整的估算过程 16
1.7 预算和估算:角色职责 22
1.7.1 项目预算:职责的层级 22
1.7.2 估算者 23
1.7.3 经理(决策者和监督者) 24
1.8 定价策略 25
1.9 总结:估算过程、角色和职责 26
1.10 练习 27
1.11 本章作业 28
第 2章 理解软件过程性能所需的工程
和经济学概念 30
2.1 生产(开发)过程概述 30
2.2 生产过程的工程(和管理)
视图 31
2.3 简单的量化过程模型 33
2.3.1 生产率 33
2.3.2 单位工作量(或单位成本)
比率 35
2.3.3 均值 36
2.3.4 线性和非线性模型 39
2.4 量化模型和经济学概念 41
2.4.1 固定成本和变动成本 41
2.4.2 规模经济和非规模经济 44
2.5 软件工程数据集及其分布 46
2.5.1 楔形数据集 46
2.5.2 同质化数据集 47
2.6 生产率模型:显式变量和隐式
变量 49
2.7 是一个通用的万能多维度模型
还是多个较简单的模型 50
2.7.1 根据已有数据建立的模型 51
2.7.2 基于成本驱动因子的观点
而建立的模型 51
2.7.3 规模经济与非规模经济共生
下的模型 51
2.8 练习 54
2.9 本章作业 55
第3章 项目场景、预算和应急计划 56
3.1 概述 56
3.2 不同估算目的的项目场景 57
3.3 估算偏少的概率和应急资金 60
3.4 单一项目的应急计划的案例 63
3.5 项目组合层面的应急资金管理 64
3.6 管理优先级:一个敏捷背景的
案例 64
3.7 总结 66
3.8 练习 69
3.9 本章作业 70
第二部分 估算过程:必须验证什么
第4章 估算过程中必须验证的内容 72
4.1 概述 72
4.2 验证估算过程的直接输入 73
4.2.1 识别估算的输入 73
4.2.2 记录输入的质量 74
4.3 验证生产率模型 75
4.3.1 内部生产率模型 76
4.3.2 来自外部的模型 77
4.4 验证调整阶段 78
4.5 预算验证的阶段 79
4.6 重新估算和对估算全流程的
持续改进 79
4.7 练习 84
4.8 本章作业 84
第5章 验证用于建模的数据集 86
5.1 概述 86
5.2 对直接输入的验证 87
5.2.1 验证数据定义和数据质量 87
5.2.2 验证度量数据刻度类型的
重要性 89
5.3 图形化分析——一维 91
5.4 输入变量的分布分析 93
5.4.1 识别正态(高斯)分布 93
5.4.2 识别离群点:一维图形 94
5.4.3 log变换 97
5.5 图形分析——二维 98
5.6 经转换公式得到的规模输入 101
5.7 总结 102
5.8 练习 106
5.9 本章作业 107
5.10 练习—进阶阅读 107
5.11 作业—进阶阅读 107
第6章 验证生产率模型 109
6.1 概述 109
6.2 描述变量间关系的判定准则 109
6.2.1 简单的判定准则 110
6.2.2 对判定准则取值的实践解释 111
6.2.3 更多高级判定准则 113
6.3 验证模型的假设 114
6.3.1 通常需要的3个关键条件 114
6.3.2 样本规模 114
6.4 模型建立者对模型的自我评价 115
6.5 已经建好的模型——应该相信
它们吗 116
6.5.1 独立评价:小规模再现
研究 116
6.5.2 大规模再现研究 117
6.6 经验教训:根据规模区间
划分的模型 121
实践中,哪个模型更好呢 126
6.7 总结 127
6.8 练习 127
6.9 本章作业 128
第7章 对调整阶段的验证 129
7.1 概述 129
7.2 估算过程的调整阶段 130
7.2.1 调整估算范围 130
7.2.2 决策过程中的调整阶段:
为管理者识别场景 132
7.3 实际做法中的绑定方法 133
7.3.1 方法概述 133
7.3.2 将多个成本因子合并到
模型中的具体做法 134
7.3.3 选择并归类每一个调整
因子:将成本因子从定类
转化为定量 134
7.4 成本因子作为估算子模型 135
7.4.1 成本因子作为分步的子
函数 135
7.4.2 偏差范围未知的阶梯函数
估算子模型 136
7.5 不确定性和误差传播 138
7.5.1 数学公式中的误差传播 138
7.5.2 模型中误差传播的相关性 140
7.6 练习 143
7.7 本章作业 144
第三部分 建立估算模型:数据收集和分析
第8章 数据收集与业界标准:
ISBSG数据库 149
8.1 概述:数据收集的要求 149
8.2 国际软件基准标准组 151
8.2.1 ISBSG组织 151
8.2.2 ISBSG数据库 151
8.3 ISBSG数据收集规程 152
8.3.1 数据收集问卷 152
8.3.2 ISBSG数据定义 154
8.4 完整的ISBSG单个项目基准
报告:案例参考 156
8.5 使用ISBSG数据库前的准备 159
8.5.1 ISBSG数据抽取表 159
8.5.2 数据准备:所收集数据的
质量 159
8.5.3 缺失的数据:工作量数据
举例 161
8.6 练习 169
8.7 本章作业 170
第9章 建立并评价单变量模型 172
9.1 概述 172
9.2 谨慎为之,每次只有一个变量 173
9.2.1 关键自变量:软件规模 173
9.2.2 在一个样本中对工作量
关系的分析 174
9.3 数据准备 175
9.3.1 描述性分析 175
9.3.2 识别相关样本和离群点 176
9.4 模型质量和模型约束条件的
分析 179
9.4.1 小项目 181
9.4.2 大项目 181
9.4.3 对于实践者的启发 181
9.5 根据编程语言分类的其他模型 182
9.6 总结 187
9.7 练习 187
9.8 本章作业 188
第 10章 建立含有分类变量的模型 190
10.1 概述 190
10.2 所用的数据集 191
10.3 包含单一自变量的初始模型 192
10.3.1 只包含功能规模变量的
简单线性回归方程 192
10.3.2 功能规模的非线性回归
模型 193
10.4 包含两个自变量的回归模型 194
10.4.1 包含两个量化自变量的
回归模型 194
10.4.2 包含分类变量的回归
模型:项目难度 194
10.4.3 自变量之间的相互作用 199
10.5 练习 199
10.6 本章作业 201
第 11章 生产率极端值对估算的影响 202
11.1 概述 202
11.2 识别生产率极端值 203
11.3 生产率极端值的研究 204
11.3.1 单位工作量低的项目 204
11.3.2 单位工作量极高的项目 206
11.4 对于估算的经验教训 208
11.5 练习 209
11.6 本章作业 209
第 12章 对单一数据集建立多个模型 211
12.1 概述 211
12.2 对功能规模增长的低敏感度
和高敏感度:多个模型 212
12.3 实证研究 214
12.3.1 背景介绍 214
12.3.2 数据收集步骤 214
12.3.3 数据质量控制 214
12.4 描述性分析 215
12.4.1 项目特征 215
12.4.2 文档质量及其对功能规模
数据质量的影响 217
12.4.3 单位工作量 218
12.5 生产率分析 218
12.5.1 对应整体数据集的单个
模型 218
12.5.2 最低生产率项目的模型 219
12.5.3 最高生产率项目的模型 221
12.6 由ISBSG数据库提供的外部
基准 222
12.6.1 项目选择准则和样本 222
12.6.2 外部基准对比分析 223
12.6.3 进一步思考 224
12.7 识别如何选择合适模型的
调整因素 224
12.7.1 生产率最高(单位工作量
最低)的项目 224
12.7.2 经验教训 225
12.8 练习 226
12.9 本章作业 227
第 13章 重新估算:矫正工作量模型 228
13.1 概述 228
13.2 重新估算的需求及相关问题 229
13.3 矫正工作量模型 230
13.3.1 关键概念 230
13.3.2 过渡过程的损耗 231
13.4 T >0时刻重新估算所使用的
矫正模型 232
13.4.1 矫正变量介绍 232
13.4.2 重新估算涉及的矫正
过程的数学模型 232
13.4.3 估算偏少的可能性p(u) 233
13.4.4 在特定月份p(t )发现估算
偏少的概率——p(t ) 234
13.5 练习 235
13.6 本章作业 235
参考资料 236
第 1章 估算过程:阶段和角色 3
1.1 概述 3
1.2 估算模型的通用方法:经验判断
还是工程化 4
1.2.1 实践者的方法:经验判断和
技艺 4
1.2.2 工程化方法:保守方法——
每次只有一个变量 5
1.3 软件项目估算及现行实践做法的
概述 5
1.3.1 估算过程的概述 6
1.3.2 糟糕的估算实践 6
1.3.3 糟糕的估算实践的例子 8
1.3.4 现实:失败记录 10
1.4 估算过程的不确定性水平 10
1.4.1 不确定性锥 10
1.4.2 生产率模型中的不确定性 11
1.5 生产率模型 13
1.6 估算过程 15
1.6.1 估算过程的背景 15
1.6.2 基础:生产率模型 16
1.6.3 完整的估算过程 16
1.7 预算和估算:角色职责 22
1.7.1 项目预算:职责的层级 22
1.7.2 估算者 23
1.7.3 经理(决策者和监督者) 24
1.8 定价策略 25
1.9 总结:估算过程、角色和职责 26
1.10 练习 27
1.11 本章作业 28
第 2章 理解软件过程性能所需的工程
和经济学概念 30
2.1 生产(开发)过程概述 30
2.2 生产过程的工程(和管理)
视图 31
2.3 简单的量化过程模型 33
2.3.1 生产率 33
2.3.2 单位工作量(或单位成本)
比率 35
2.3.3 均值 36
2.3.4 线性和非线性模型 39
2.4 量化模型和经济学概念 41
2.4.1 固定成本和变动成本 41
2.4.2 规模经济和非规模经济 44
2.5 软件工程数据集及其分布 46
2.5.1 楔形数据集 46
2.5.2 同质化数据集 47
2.6 生产率模型:显式变量和隐式
变量 49
2.7 是一个通用的万能多维度模型
还是多个较简单的模型 50
2.7.1 根据已有数据建立的模型 51
2.7.2 基于成本驱动因子的观点
而建立的模型 51
2.7.3 规模经济与非规模经济共生
下的模型 51
2.8 练习 54
2.9 本章作业 55
第3章 项目场景、预算和应急计划 56
3.1 概述 56
3.2 不同估算目的的项目场景 57
3.3 估算偏少的概率和应急资金 60
3.4 单一项目的应急计划的案例 63
3.5 项目组合层面的应急资金管理 64
3.6 管理优先级:一个敏捷背景的
案例 64
3.7 总结 66
3.8 练习 69
3.9 本章作业 70
第二部分 估算过程:必须验证什么
第4章 估算过程中必须验证的内容 72
4.1 概述 72
4.2 验证估算过程的直接输入 73
4.2.1 识别估算的输入 73
4.2.2 记录输入的质量 74
4.3 验证生产率模型 75
4.3.1 内部生产率模型 76
4.3.2 来自外部的模型 77
4.4 验证调整阶段 78
4.5 预算验证的阶段 79
4.6 重新估算和对估算全流程的
持续改进 79
4.7 练习 84
4.8 本章作业 84
第5章 验证用于建模的数据集 86
5.1 概述 86
5.2 对直接输入的验证 87
5.2.1 验证数据定义和数据质量 87
5.2.2 验证度量数据刻度类型的
重要性 89
5.3 图形化分析——一维 91
5.4 输入变量的分布分析 93
5.4.1 识别正态(高斯)分布 93
5.4.2 识别离群点:一维图形 94
5.4.3 log变换 97
5.5 图形分析——二维 98
5.6 经转换公式得到的规模输入 101
5.7 总结 102
5.8 练习 106
5.9 本章作业 107
5.10 练习—进阶阅读 107
5.11 作业—进阶阅读 107
第6章 验证生产率模型 109
6.1 概述 109
6.2 描述变量间关系的判定准则 109
6.2.1 简单的判定准则 110
6.2.2 对判定准则取值的实践解释 111
6.2.3 更多高级判定准则 113
6.3 验证模型的假设 114
6.3.1 通常需要的3个关键条件 114
6.3.2 样本规模 114
6.4 模型建立者对模型的自我评价 115
6.5 已经建好的模型——应该相信
它们吗 116
6.5.1 独立评价:小规模再现
研究 116
6.5.2 大规模再现研究 117
6.6 经验教训:根据规模区间
划分的模型 121
实践中,哪个模型更好呢 126
6.7 总结 127
6.8 练习 127
6.9 本章作业 128
第7章 对调整阶段的验证 129
7.1 概述 129
7.2 估算过程的调整阶段 130
7.2.1 调整估算范围 130
7.2.2 决策过程中的调整阶段:
为管理者识别场景 132
7.3 实际做法中的绑定方法 133
7.3.1 方法概述 133
7.3.2 将多个成本因子合并到
模型中的具体做法 134
7.3.3 选择并归类每一个调整
因子:将成本因子从定类
转化为定量 134
7.4 成本因子作为估算子模型 135
7.4.1 成本因子作为分步的子
函数 135
7.4.2 偏差范围未知的阶梯函数
估算子模型 136
7.5 不确定性和误差传播 138
7.5.1 数学公式中的误差传播 138
7.5.2 模型中误差传播的相关性 140
7.6 练习 143
7.7 本章作业 144
第三部分 建立估算模型:数据收集和分析
第8章 数据收集与业界标准:
ISBSG数据库 149
8.1 概述:数据收集的要求 149
8.2 国际软件基准标准组 151
8.2.1 ISBSG组织 151
8.2.2 ISBSG数据库 151
8.3 ISBSG数据收集规程 152
8.3.1 数据收集问卷 152
8.3.2 ISBSG数据定义 154
8.4 完整的ISBSG单个项目基准
报告:案例参考 156
8.5 使用ISBSG数据库前的准备 159
8.5.1 ISBSG数据抽取表 159
8.5.2 数据准备:所收集数据的
质量 159
8.5.3 缺失的数据:工作量数据
举例 161
8.6 练习 169
8.7 本章作业 170
第9章 建立并评价单变量模型 172
9.1 概述 172
9.2 谨慎为之,每次只有一个变量 173
9.2.1 关键自变量:软件规模 173
9.2.2 在一个样本中对工作量
关系的分析 174
9.3 数据准备 175
9.3.1 描述性分析 175
9.3.2 识别相关样本和离群点 176
9.4 模型质量和模型约束条件的
分析 179
9.4.1 小项目 181
9.4.2 大项目 181
9.4.3 对于实践者的启发 181
9.5 根据编程语言分类的其他模型 182
9.6 总结 187
9.7 练习 187
9.8 本章作业 188
第 10章 建立含有分类变量的模型 190
10.1 概述 190
10.2 所用的数据集 191
10.3 包含单一自变量的初始模型 192
10.3.1 只包含功能规模变量的
简单线性回归方程 192
10.3.2 功能规模的非线性回归
模型 193
10.4 包含两个自变量的回归模型 194
10.4.1 包含两个量化自变量的
回归模型 194
10.4.2 包含分类变量的回归
模型:项目难度 194
10.4.3 自变量之间的相互作用 199
10.5 练习 199
10.6 本章作业 201
第 11章 生产率极端值对估算的影响 202
11.1 概述 202
11.2 识别生产率极端值 203
11.3 生产率极端值的研究 204
11.3.1 单位工作量低的项目 204
11.3.2 单位工作量极高的项目 206
11.4 对于估算的经验教训 208
11.5 练习 209
11.6 本章作业 209
第 12章 对单一数据集建立多个模型 211
12.1 概述 211
12.2 对功能规模增长的低敏感度
和高敏感度:多个模型 212
12.3 实证研究 214
12.3.1 背景介绍 214
12.3.2 数据收集步骤 214
12.3.3 数据质量控制 214
12.4 描述性分析 215
12.4.1 项目特征 215
12.4.2 文档质量及其对功能规模
数据质量的影响 217
12.4.3 单位工作量 218
12.5 生产率分析 218
12.5.1 对应整体数据集的单个
模型 218
12.5.2 最低生产率项目的模型 219
12.5.3 最高生产率项目的模型 221
12.6 由ISBSG数据库提供的外部
基准 222
12.6.1 项目选择准则和样本 222
12.6.2 外部基准对比分析 223
12.6.3 进一步思考 224
12.7 识别如何选择合适模型的
调整因素 224
12.7.1 生产率最高(单位工作量
最低)的项目 224
12.7.2 经验教训 225
12.8 练习 226
12.9 本章作业 227
第 13章 重新估算:矫正工作量模型 228
13.1 概述 228
13.2 重新估算的需求及相关问题 229
13.3 矫正工作量模型 230
13.3.1 关键概念 230
13.3.2 过渡过程的损耗 231
13.4 T >0时刻重新估算所使用的
矫正模型 232
13.4.1 矫正变量介绍 232
13.4.2 重新估算涉及的矫正
过程的数学模型 232
13.4.3 估算偏少的可能性p(u) 233
13.4.4 在特定月份p(t )发现估算
偏少的概率——p(t ) 234
13.5 练习 235
13.6 本章作业 235
参考资料 236
猜您喜欢