注重体验与质量的电子书资源下载网站
分类于: 编程语言 云计算&大数据
简介
软件集成策略——如何有效率地提升质量 豆 0.0分
资源最后更新于 2020-08-17 00:12:31
作者:董越
出版社:电子工业出版社
出版日期:2013-01
ISBN:9787121207662
文件格式: pdf
标签: 项目管理 IT 配置管理 软件开发 计算机 软件工程 敏捷开发 工作
简介· · · · · ·
要想把软件卖出去,要想让程序发挥价值,需要把研发出来的各个模块、各个功能“捏”在一起,并且达到一定的质量标准。因此,集成很重要。这是一本关于软件集成的书。它将全面介绍包括持续集成、持续交付在内的,业界公认的原则和最佳实践。但本书并不止步于此,本书将仔细讲解这些原则和最佳实践背后的原因。因为我们需要知道最佳实践背后的道理,知道思考的方法,才能在具体的情境中活学活用,根据实际项目具体情况,制定最合适务实的方案。
本书适合所有与软件集成有关的工作者阅读,包括程序开发人员、集成工程师、测试人员、质量保证人员、配置管理人员、项目管理人员等。软件集成策略和方法,需要软件集成相关的每个人了解和掌握。
目录
第一部分 一个故事
1.集成这破活儿.......................................................................................... 2
2.对项目的不利影响竟然这么大................................................................. 5
3.构建错误是怎么来的............................................................................... 8
4.与QA 部门的同事沟通...........................................................................11
5.确定第一个改进方案............................................................................. 13
6.意料之外的问题.................................................................................... 15
7.合并导致了多少问题............................................................................. 18
8.推动第二个改进.................................................................................... 22
9.见义勇为好少年.................................................................................... 24
10.把集成频率提高一倍........................................................................... 26
11.把改进方案讲给老大听........................................................................ 28
12.跟项目经理谈判................................................................................... 32
13.敲定第三个改进................................................................................... 34
14.每日构建............................................................................................. 36
15.在春节到来之前................................................................................... 39
16.老大给的材料...................................................................................... 42
17.持续集成竟然这样干........................................................................... 44
18.阿根廷探戈.......................................................................................... 46
19.用哪个持续集成工具好........................................................................ 48
20.英英的强烈反应................................................................................... 51
21.同时解决两个问题............................................................................... 54
22.失败的改进.......................................................................................... 56
23.自动冒烟测试...................................................................................... 62
24.不可靠的自动测试............................................................................... 67
25.如何进一步缩短工期........................................................................... 71
26.没用的提交说明................................................................................... 74
27.缺陷为什么这么多............................................................................... 77
28.草原夜色............................................................................................. 82
29.十字路口............................................................................................. 84
30.我还没答应呢...................................................................................... 87
第二部分 一些道理
第1 章 集成相关的概念......................................................................... 90
1.1 组装集成:把零件攒起来............................................................. 91
1.2 合并集成:把改动攒起来............................................................. 94
1.3 操作级概念:组合与合并............................................................. 97
1.4 源代码集成与二进制组件集成.....................................................100
1.5 代码流动与合并:星形模式........................................................103
1.6 集成会遇到哪些问题...................................................................110
1.7 发现问题的多种手段...................................................................116
1.8 集成工作不止是为了提升质量.....................................................121
第2 章 集成过程概述........................................................................... 123
2.1 没有人做集成工作.......................................................................124
2.2 测试人员的加入..........................................................................125
2.3 集成人员的加入..........................................................................129
2.4 集成的典型流程..........................................................................135
2.5 难点:根据实际调整...................................................................140
第3 章 集成优化的本质....................................................................... 143
3.1 从项目三角形说起.......................................................................144
3.2 集成优化的目标..........................................................................146
3.3 资源及其成本..............................................................................149
3.4 什么决定了项目时长...................................................................152
3.5 从虫子的视角看集成...................................................................159
3.6 从不同的视角看虫子...................................................................164
第4 章 第一组旋钮:检测的力度和方法............................................. 174
4.1 提交前检测力度..........................................................................175
4.2 当项目临近发布时.......................................................................179
4.3 为了让后续工作更顺畅................................................................183
4.4 提交前检测方法..........................................................................185
4.5 过程导向还是结果导向................................................................193
4.6 狭义集成时检测力度...................................................................198
4.7 狭义集成时检测方法...................................................................204
4.8 狭义集成时发现问题以后............................................................207
4.9 狭义集成后检测类型和力度........................................................210
4.10 狭义集成后具体检测方法..........................................................213
第5 章 第二组旋钮:检测对象的层级................................................ 215
5.1 软件研发与机械制造不一样........................................................216
5.2 系统级检测的困难性...................................................................218
5.3 虚拟化:降低系统级检测成本.....................................................223
第6 章 合并的矩形模型....................................................................... 225
6.1 三源合并的矩形模型...................................................................226
6.2 选择合并与回退合并的本质........................................................230
6.3 合并矩形的面积说明什么............................................................234
6.4 持续集成背后的秘密...................................................................236
6.5 合并矩形模型只是一个简化模型.................................................238
第7 章 第三组旋钮:持续集成、持续交付......................................... 242
7.1 在开始工作前更新.......................................................................243
7.2 在提交前更新..............................................................................244
7.3 在开发过程中更新.......................................................................248
7.4 从何处更新.................................................................................250
7.5 开发过程中持续检测...................................................................252
7.6 频繁提交少量改动.......................................................................253
7.7 频繁狭义集成..............................................................................261
7.8 对串行集成的分析.......................................................................268
7.9 适时使用多层集成.......................................................................271
7.10 尽早和适当频繁的狭义集成后的检测........................................277
7.11 尽早修复发现的问题.................................................................282
7.12 持续发布、持续交付.................................................................284
第8 章 第四组旋钮:提高工作效率和正确性的方法.......................... 289
8.1 在版本控制环境下工作................................................................290
8.2 标准化的设置和操作...................................................................295
8.3 自动化.........................................................................................297
8.4 基于已有构建成果.......................................................................304
8.5 利用休息时间..............................................................................308
8.6 避免不必要的复杂.......................................................................310
8.7 提高性能的多种方法...................................................................312
第9 章 集成解决方案的改进................................................................ 315
9.1 从症状着手:漫长的“最后一公里”..........................................316
9.2 从症状着手:程序员总被别人的问题打扰...................................318
9.3 从症状着手:狭义集成阻塞项目进展..........................................320
9.4 从症状着手:沉重僵化的提交前质量控制...................................322
9.5 从症状着手:一般的方法............................................................324
9.6 系统地改进:迈向持续集成........................................................327
附录A 术语索引................................................................................... 333
附录B 相关工具................................................................................... 336
持续集成、构建管理工具...................................................................336
(源代码)版本控制工具.....................................................................337
代码评审工具.....................................................................................338
静态程序分析工具..............................................................................338
构建工具............................................................................................338
包管理、依赖管理工具.......................................................................339
部署与运行环境管理..........................................................................339
自动测试、测试支持工具...................................................................340
缺陷跟踪、变更请求管理工具............................................................341
附录C 参考文献................................................................................... 342
后记......................................................................................................... 346
1.集成这破活儿.......................................................................................... 2
2.对项目的不利影响竟然这么大................................................................. 5
3.构建错误是怎么来的............................................................................... 8
4.与QA 部门的同事沟通...........................................................................11
5.确定第一个改进方案............................................................................. 13
6.意料之外的问题.................................................................................... 15
7.合并导致了多少问题............................................................................. 18
8.推动第二个改进.................................................................................... 22
9.见义勇为好少年.................................................................................... 24
10.把集成频率提高一倍........................................................................... 26
11.把改进方案讲给老大听........................................................................ 28
12.跟项目经理谈判................................................................................... 32
13.敲定第三个改进................................................................................... 34
14.每日构建............................................................................................. 36
15.在春节到来之前................................................................................... 39
16.老大给的材料...................................................................................... 42
17.持续集成竟然这样干........................................................................... 44
18.阿根廷探戈.......................................................................................... 46
19.用哪个持续集成工具好........................................................................ 48
20.英英的强烈反应................................................................................... 51
21.同时解决两个问题............................................................................... 54
22.失败的改进.......................................................................................... 56
23.自动冒烟测试...................................................................................... 62
24.不可靠的自动测试............................................................................... 67
25.如何进一步缩短工期........................................................................... 71
26.没用的提交说明................................................................................... 74
27.缺陷为什么这么多............................................................................... 77
28.草原夜色............................................................................................. 82
29.十字路口............................................................................................. 84
30.我还没答应呢...................................................................................... 87
第二部分 一些道理
第1 章 集成相关的概念......................................................................... 90
1.1 组装集成:把零件攒起来............................................................. 91
1.2 合并集成:把改动攒起来............................................................. 94
1.3 操作级概念:组合与合并............................................................. 97
1.4 源代码集成与二进制组件集成.....................................................100
1.5 代码流动与合并:星形模式........................................................103
1.6 集成会遇到哪些问题...................................................................110
1.7 发现问题的多种手段...................................................................116
1.8 集成工作不止是为了提升质量.....................................................121
第2 章 集成过程概述........................................................................... 123
2.1 没有人做集成工作.......................................................................124
2.2 测试人员的加入..........................................................................125
2.3 集成人员的加入..........................................................................129
2.4 集成的典型流程..........................................................................135
2.5 难点:根据实际调整...................................................................140
第3 章 集成优化的本质....................................................................... 143
3.1 从项目三角形说起.......................................................................144
3.2 集成优化的目标..........................................................................146
3.3 资源及其成本..............................................................................149
3.4 什么决定了项目时长...................................................................152
3.5 从虫子的视角看集成...................................................................159
3.6 从不同的视角看虫子...................................................................164
第4 章 第一组旋钮:检测的力度和方法............................................. 174
4.1 提交前检测力度..........................................................................175
4.2 当项目临近发布时.......................................................................179
4.3 为了让后续工作更顺畅................................................................183
4.4 提交前检测方法..........................................................................185
4.5 过程导向还是结果导向................................................................193
4.6 狭义集成时检测力度...................................................................198
4.7 狭义集成时检测方法...................................................................204
4.8 狭义集成时发现问题以后............................................................207
4.9 狭义集成后检测类型和力度........................................................210
4.10 狭义集成后具体检测方法..........................................................213
第5 章 第二组旋钮:检测对象的层级................................................ 215
5.1 软件研发与机械制造不一样........................................................216
5.2 系统级检测的困难性...................................................................218
5.3 虚拟化:降低系统级检测成本.....................................................223
第6 章 合并的矩形模型....................................................................... 225
6.1 三源合并的矩形模型...................................................................226
6.2 选择合并与回退合并的本质........................................................230
6.3 合并矩形的面积说明什么............................................................234
6.4 持续集成背后的秘密...................................................................236
6.5 合并矩形模型只是一个简化模型.................................................238
第7 章 第三组旋钮:持续集成、持续交付......................................... 242
7.1 在开始工作前更新.......................................................................243
7.2 在提交前更新..............................................................................244
7.3 在开发过程中更新.......................................................................248
7.4 从何处更新.................................................................................250
7.5 开发过程中持续检测...................................................................252
7.6 频繁提交少量改动.......................................................................253
7.7 频繁狭义集成..............................................................................261
7.8 对串行集成的分析.......................................................................268
7.9 适时使用多层集成.......................................................................271
7.10 尽早和适当频繁的狭义集成后的检测........................................277
7.11 尽早修复发现的问题.................................................................282
7.12 持续发布、持续交付.................................................................284
第8 章 第四组旋钮:提高工作效率和正确性的方法.......................... 289
8.1 在版本控制环境下工作................................................................290
8.2 标准化的设置和操作...................................................................295
8.3 自动化.........................................................................................297
8.4 基于已有构建成果.......................................................................304
8.5 利用休息时间..............................................................................308
8.6 避免不必要的复杂.......................................................................310
8.7 提高性能的多种方法...................................................................312
第9 章 集成解决方案的改进................................................................ 315
9.1 从症状着手:漫长的“最后一公里”..........................................316
9.2 从症状着手:程序员总被别人的问题打扰...................................318
9.3 从症状着手:狭义集成阻塞项目进展..........................................320
9.4 从症状着手:沉重僵化的提交前质量控制...................................322
9.5 从症状着手:一般的方法............................................................324
9.6 系统地改进:迈向持续集成........................................................327
附录A 术语索引................................................................................... 333
附录B 相关工具................................................................................... 336
持续集成、构建管理工具...................................................................336
(源代码)版本控制工具.....................................................................337
代码评审工具.....................................................................................338
静态程序分析工具..............................................................................338
构建工具............................................................................................338
包管理、依赖管理工具.......................................................................339
部署与运行环境管理..........................................................................339
自动测试、测试支持工具...................................................................340
缺陷跟踪、变更请求管理工具............................................................341
附录C 参考文献................................................................................... 342
后记......................................................................................................... 346