图书介绍
软件之道 软件开发争议问题剖析2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)欧莱姆编著;钱包央舟,张玳,沈欢星译 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115270443
- 出版时间:2012
- 标注页数:438页
- 文件大小:55MB
- 文件页数:456页
- 主题词:软件开发
PDF下载
下载说明
软件之道 软件开发争议问题剖析PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 搜寻和使用证据的一般原则2
第1章 探寻有力的证据2
1.1起步阶段2
1.2当今证据的状态3
1.2.1精确性研究的挑战3
1.2.2统计强度的挑战3
1.2.3结果可复制性的挑战4
1.3我们可以相信的改变5
1.4背景的影响7
1.5展望未来7
1.6参考文献9
第2章 可信度,为什么我坚决要求确信的证据12
2.1软件工程中的证据是如何发现的12
2.2可信度和适用性13
2.2.1适用性,为什么使你信服的证据不能使我信服14
2.2.2定性证据对战定量证据:错误的二分法15
2.3整合证据16
2.4证据的类型以及它们的优缺点17
2.4.1对照实验和准实验18
2.4.2问卷调查19
2.4.3经验汇报和案例研究20
2.4.4其他方法20
2.4.5报告中的可信度(或缺乏可信度)的标识21
2.5社会、文化、软件工程和你23
2.6致谢24
2.7参考文献24
第3章 我们能从系统性评审中学到什么25
3.1系统性评审总览26
3.2系统性评审的长处和短处27
3.2.1系统性评审的流程28
3.2.2开展一项评审所牵连的问题30
3.3软件工程中的系统性评审31
3.3.1成本估算研究32
3.3.2敏捷方法33
3.3.3检验方法35
3.4结论35
3.5参考文献36
第4章 用定性研究方法来理解软件工程学40
4.1何为定性研究方法41
4.2如何解读定性研究42
4.3在工作中运用定性研究方法44
4.4推广应用定性研究的结果45
4.5定性研究方法是系统的研究方法46
4.6参考文献46
第5章 在实践中学习成长:软件工程实验室中的质量改进范式47
5.1软件工程研究独有的困难之处47
5.2实证研究的现实之路48
5.3 NASA软件工程实验室:一个充满活力的实证研究测试平台48
5.4质量改进范式49
5.4.1表征51
5.4.2设立目标51
5.4.3选择流程51
5.4.4执行流程53
5.4.5分析53
5.4.6封装53
5.5结论55
5.6参考文献55
第6章 性格、智力和专业技能对软件开发的影响57
6.1如何辨别优秀的程序员58
6.1.1个体差异:固定的还是可塑造的58
6.1.2个性59
6.1.3智力63
6.1.4编程任务65
6.1.5编程表现65
6.1.6专业技能66
6.1.7软件工作量估算68
6.2环境因素还是个人因素68
6.2.1软件工程中应该提高技能还是提高安全保障69
6.2.2合作69
6.2.3再谈个性72
6.2.4从更广的角度看待智力72
6.3结束语74
6.4参考文献75
第7章 为什么学编程这么难81
7.1学生学习编程有困难吗82
7.1.1 2001年McCracken工作小组82
7.1.2 Lister工作小组83
7.2人们对编程的本能理解是什么83
7.3通过可视化编程来优化工具85
7.4融入语境后的改变86
7.5总结:一个新兴的领域88
7.6参考文献89
第8章 超越代码行:我们还需要其他的复杂度指标吗92
8.1对软件的调查92
8.2计算源代码的指标93
8.3指标计算案例94
8.3.1源代码行数(SLOC )96
8.3.2代码行数(LOC)96
8.3.3 C函数的数量96
8.3.4 McCabe圈复杂度96
8.3.5 Halstead软件科学指标97
8.4统计分析98
8.4.1总体分析98
8.4.2头文件和非头文件之间的区别99
8.4.3干扰效应:文件大小对相关性的影响100
8.5关于统计学方法的一些说明103
8.6还需要其他的复杂度指标吗103
8.7参考文献104
第二部分 软件工程的特有话题106
第9章 自动故障预报系统实例一则106
9.1故障的分布106
9.2故障高发文件的特征109
9.3预测模型概览109
9.4预测模型的复验和变体110
9.4.1开发人员的角色111
9.4.2用其他类型的模型来预测故障113
9.5工具的设计115
9.6一些忠告115
9.7参考文献117
第10章 架构设计的程度和时机119
10.1修正缺陷的成本是否会随着项目的进行而增加119
10.2架构设计应该做到什么程度120
10.3架构设计的成本-修复数据给予我们的启示123
10.3.1关于COCOMO Ⅱ架构设计和风险解决系数的基础知识123
10.3.2 Ada COCOMO及COCOMO II中的架构设计以及风险应对系数125
10.3.3用于改善系统设计的投入的ROI130
10.4那么到底架构要做到什么程度才够132
10.5架构设计是否必须提前做好135
10.6总结135
10.7参考文献136
第11章 康威推论138
11.1康威定律138
11.2协调工作、和谐度和效率140
11.3微软公司的组织复杂度143
11.4开源软件集市上的小教堂148
11.5总结152
11.6参考文献152
第12章 测试驱动开发的效果如何153
12.1 TDD药丸是什么153
12.2 TDD临床试验概要154
12.3 TDD的效力156
12.3.1内部质量156
12.3.2外部质量157
12.3.3生产力157
12.3.4 测试质量158
12.4在试验中强制TDD的正确剂量158
12.5警告和副作用159
12.6结论160
12.7致谢160
12.8参考文献160
第13章 为何计算机科学领域的女性不多163
13.1为什么女性很少163
13.1.1能力缺陷,个人喜好以及文化偏见164
13.1.2偏见、成见和男性计算机科学文化166
13.2值得在意吗168
13.2.1扭转这种趋势,我们可以做些什么170
13.2.2跨国数据的意义171
13.3结论172
13.4参考文献172
第14章 两个关于编程语言的比较175
14.1一个搜索算法决定了一种语言的胜出175
14.1.1编程任务:电话编码176
14.1.2比较执行速度176
14.1.3内存使用情况的比较178
14.1.4比较效率和代码长度178
14.1.5比较可靠性180
14.1.6比较程序结构180
14.1.7我可以相信吗181
14.2 Plat Forms:网络开发技术和文化182
14.2.1开发任务:人以类聚182
14.2.2下注吧183
14.2.3比较工作效率184
14.2.4比较软件工件的大小185
14.2.5比较可修改性186
14.2.6比较稳健性和安全性187
14.2.7嘿,“插入你自己的话题”如何189
14.3那又怎样189
14.4参考文献189
第15章 质量之战:开源软件对战专有软件191
15.1以往的冲突192
15.2战场192
15.3开战195
15.3.1文件组织196
15.3.2代码结构200
15.3.3代码风格204
15.3.4预处理209
15.3.5数据组织211
15.4成果和结论213
15.5致谢215
15.6参考文献215
第16章 码语者219
16.1程序员的一天219
16.1.1日记研究220
16.1.2观察研究220
16.1.3程序员们是不是在挣表现220
16.2说这么多有什么意义221
16.2.1问问题221
16.2.2探寻设计理念223
16.2.3工作的中断和多任务223
16.2.4程序员都在问什么问题224
16.2.5使用敏捷方法是不是更利于沟通227
16.3如何看待沟通228
16.4参考文献229
第17章 结对编程230
17.1结对编程的历史230
17.2产业环境中的结对编程232
17.2.1结对编程的行业实践232
17.2.2业内使用结对编程的效果233
17.3教育环境中的结对编程234
17.3.1教学中特有的实践234
17.3.2教学中使用结对编程的效果235
17.4分布式结对编程235
17.5面对的挑战236
17.6经验教训237
17.7致谢237
17.8参考文献237
第18章 现代化代码审查243
18.1常识243
18.2程序员独立进行小量代码审查243
18.2.1防止注意力疲劳244
18.2.2切忌速度过快244
18.2.3切忌数量过大245
18.2.4上下文的重要性246
18.3团队影响247
18.3.1是否有必要开会247
18.3.2虚假缺陷247
18.3.3外部审查真的需要吗248
18.4结论249
18.5参考文献249
第19章 公共办公室还是私人办公室251
19.1私人办公室251
19.2公共办公室253
19.3工作模式255
19.4最后的忠告257
19.5参考文献257
第20章 识别及管理全球性软件开发中的依赖关系258
20.1为什么协调工作对于GSD来说是挑战258
20.2依赖关系及其社会/技术二重性259
20.2.1技术方面261
20.2.2社会/组织结构方面263
20.2.3社会-技术方面266
20.3从研究到实践267
20.3.1充分使用软件储存库中的数据267
20.3.2团队领导和管理者在依赖关系管理中的角色268
20.3.3开发人员、工作项目和分布式开发269
20.4未来的方向269
20.4.1适合GSD的软件架构269
20.4.2协作软件工程工具270
20.4.3标准化和灵活度的平衡271
20.5参考文献271
第21章 模块化的效果如何274
21.1所分析的软件系统275
21.2如何定义“修改”276
21.3如何定义“模块”280
21.4研究结果281
21.4.1修改的范围281
21.4.2需要参考的模块283
21.4.3自发式的模块化284
21.5有效性的问题286
21.6总结287
21.7参考文献287
第22章 设计模式的证据289
22.1设计模式的例子290
22.2为什么认为设计模式可行292
22.3第一个实验:关于设计模式文档的测试293
22.3.1实验的设计293
22.3.2研究结果295
22.4第二个实验:基于设计模式的解决方案和简单解决方案的对比297
22.5第三个试验:设计模式之于团队沟通300
22.6经验教训302
22.7总结304
22.8致谢304
22.9参考文献305
第23章 循证故障预测306
23.1简介306
23.2代码覆盖率308
23.3代码变动308
23.4代码复杂度311
23.5代码依赖312
23.6人与组织度量312
23.7预测缺陷的综合方法315
23.8结论317
23.9致谢319
23.10参考文献319
第24章 采集缺陷报告的艺术322
24.1缺陷报告的优劣之分322
24.2优秀缺陷报告需要具备的要素323
24.3调查结果325
24.3.1开发人员眼中的缺陷报告内容325
24.3.2报告者眼中的缺陷报告内容326
24.4来自不一致信息的证据327
24.5缺陷报告的问题329
24.6重复缺陷报告的价值330
24.7 并非所有的缺陷都被修复了332
24.8结论333
24.9致谢334
24.10参考文献334
第25章 软件的缺陷都从哪儿来335
25.1研究软件的缺陷335
25.2本次研究的环境和背景336
25.3第一阶段:总体调查337
25.3.1调查问卷337
25.3.2数据的总结339
25.3.3第一部分的研究总结342
25.4第二阶段:设计/代码编写类故障调查342
25.4.1调查问卷342
25.4.2统计分析345
25.4.3界面故障与实现故障358
25.5研究结果可靠吗360
25.5.1我们调查的对象是否正确360
25.5.2我们的方法是否正确361
25.5.3我们能用这些结果做什么362
25.6我们明白了什么362
25.7致谢364
25.8参考文献364
第26章 新手专家:软件行业的应届毕业生们367
26.1研究方法368
26.1.1研究对象369
26.1.2任务分析370
26.1.3任务案例370
26.1.4做回顾的方法371
26.1.5有效性问题371
26.2软件开发任务372
26.3新手开发人员的优点和缺点374
26.3.1优点分析375
26.3.2缺点分析375
26.4回顾376
26.4.1管理层的介入377
26.4.2毅力、疑惑和新人特质377
26.4.3大型的软件团队环境378
26.5妨碍学习的误解378
26.6教育方法的反思379
26.6.1结对编程380
26.6.2合理的边际参与380
26.6.3导师制380
26.7改变的意义381
26.7.1新人培训381
26.7.2学校教育382
26.8参考文献383
第27章 挖掘你自己的证据385
27.1对什么进行数据挖掘385
27.2设计你的研究386
27.3数据挖掘入门387
27.3.1第一步:确定要用哪些数据387
27.3.2第二步:获取数据388
27.3.3第三步:数据转换(可选)389
27.3.4第四步:提取数据389
27.3.5第五步:解析bug报告390
27.3.6第六步:关联数据390
27.3.7第六步:找出漏掉的关联391
27.3.8第七步:将bug对应到文件391
27.4下面怎么办392
27.5致谢394
27.6参考文献394
第28章 正当使用“复制粘贴”大法396
28.1代码克隆的示例396
28.2寻找软件中的克隆代码398
28.3对代码克隆行为的调查399
28.3.1分叉400
28.3.2模板401
28.3.3定制402
28.4我们的研究403
28.5总结405
28.6参考文献406
第29章 你的API有多好用407
29.1为什么研究API的易用性很重要407
29.2研究API易用性的首次尝试409
29.2.1研究的设计410
29.2.2第一次研究的结论摘要411
29.3如果一开始你没有成功412
29.3.1第二次研究的设计412
29.3.2第二次研究的结论摘要412
29.3.3认知维度414
29.4使用不同的工作风格418
29.5结论421
29.6参考文献422
第30章“10倍”意味着什么?编程生产力的差距测量423
30.1软件开发中的个人效率的变化423
30.1.1巨大的差距带来的负面影响424
30.1.2什么造就了真正的“10倍程序员”424
30.2测量程序员的个人生产力的问题424
30.2.1生产力=每月产出的代码行数吗424
30.2.2生产力=功能点吗425
30.2.3复杂度呢425
30.2.4到底有没有办法可以测量个人生产力425
30.3软件开发中的团队生产力差距426
30.4参考文献427
撰稿人429
热门推荐
- 3159727.html
- 2850088.html
- 1986623.html
- 1974986.html
- 1529168.html
- 1291160.html
- 1287361.html
- 302894.html
- 3115136.html
- 1711547.html
- http://www.ickdjs.cc/book_505401.html
- http://www.ickdjs.cc/book_3639847.html
- http://www.ickdjs.cc/book_1376852.html
- http://www.ickdjs.cc/book_3877048.html
- http://www.ickdjs.cc/book_883737.html
- http://www.ickdjs.cc/book_1440227.html
- http://www.ickdjs.cc/book_1552077.html
- http://www.ickdjs.cc/book_2603693.html
- http://www.ickdjs.cc/book_1819328.html
- http://www.ickdjs.cc/book_2806713.html