【假一罚四】软件交付通识
集团直发,全新正版书籍,假一罚四,放心选购。24小时内发货。
¥
70.3
7.9折
¥
89
全新
库存2件
作者董越
出版社电子工业出版社
ISBN9787121422027
出版时间2021-10
装帧平装
开本16开
定价89元
货号31284117
上书时间2024-12-14
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
董越,DevOps 专家,阿里巴巴集团前研发效能事业部架构、产品专家等职,从事 Aone&云效 DevOps 产品设计、阿里云专有云集成与交付解决方案设计等工作。在加入阿里之前,他还曾就职于西门子、摩托罗拉、雅虎、索尼、去哪儿网等企业,一直从事软件配置管理、软件集成与交付、DevOps 相关的工作。当前主要从事企业级DevOps体系建设与咨询工作,帮助众多企业提升软件研发交付效能。已服务过的客户有华为、工商银行、交通银行、招商银行、中信银行、中国移动、中国联通、中国电信、华泰证券、泰康人寿等。
目录
第1部分 思维方式
第1章 本书要解决什么问题2
1.1 提供一种系统全面的方法2
1.2 分析软件交付过程3
1.3 软件交付过程包括三类事情4
1.4 软件交付不是按时间阶段或角色划分出来的4
1.5 本书本质上是讲述软件交付这门学科5
1.6 本书分成三个部分讲述5
第2章 我们要追求什么6
2.1 一切为了业务的成功6
2.2 小步快跑7
2.3 软件实现侧该追求什么目标8
2.4 软件交付过程追求的目标10
第3章 几十年来的探索12
3.1 软件工程12
3.1.1 软件危机12
3.1.2 工程化13
3.2 敏捷14
3.2.1 敏捷的理念14
3.2.2 敏捷的实践15
3.3 精益16
3.3.1 起源于制造业的精益思想16
3.3.2 把精益应用于软件开发17
3.4 持续集成18
3.4.1 持续集成是什么18
3.4.2 为什么要持续集成19
3.4.3 如何做到持续集成19
3.5 持续交付20
3.5.1 包括所有质量验证工作20
3.5.2 比较频繁地发布上线21
3.5.3 持续部署22
3.6 DevOps22
3.6.1 DevOps的诞生22
3.6.2 DevOps三步工作法23
3.6.3 DevOps落地实践23
3.7 技术方面的演进24
3.7.1 软件架构24
3.7.2 部署运行24
3.8 它们之间是什么关系25
第4章 做好软件交付的10个策略27
4.1 细粒度、低耦合、可复用的架构27
4.1.1 软件架构27
4.1.2 测试脚本和测试数据的架构28
4.1.3 组织架构29
4.2 小批量持续流动的流程30
4.2.1 大批量带来等待等问题31
4.2.2 短周期、小颗粒度、减少在制品31
4.2.3 小批量持续流动的交付过程32
4.3 运用综合手段保证质量和安全32
4.3.1 各种各样的测试32
4.3.2 左移+右移33
4.3.3 测试人员+开发人员33
4.3.4 人工测试+自动化测试33
4.3.5 综合运用34
4.4 自动化与自助化34
4.4.1 单项活动的自动化34
4.4.2 流程的自动化34
4.4.3 自助化35
4.4.4 相关支持35
4.5 加速各项活动35
4.5.1 为什么要加速35
4.5.2 加速的通用思路36
4.6 及时修复36
4.6.1 为什么要及时修复37
4.6.2 如何做到及时修复37
4.7 完备记录,充分展现38
4.7.1 任务及其执行情况38
4.7.2 版本和配置信息39
4.7.3 关联关系40
4.7.4 单一可信源40
4.7.5 相关支持41
4.8 标准化41
4.8.1 规范可重复41
4.8.2 方案收敛41
4.8.3 环境一致性42
4.9 协调完成完整功能43
4.9.1 背景43
4.9.2 开发全过程的协调43
4.9.3 交付过程的协调43
4.10 基于度量的持续改进44
第5章 一个典型的软件交付过程47
5.1 前传47
5.2 代码改动累积并最终提交48
5.3 特性改动累积并最终提交48
5.4 集成并最终发布49
第6章 各个细分领域51
6.1 交付过程51
6.2 源代码及其构建52
6.3 部署运行54
6.4 静态测试54
6.5 动态测试55
第7章 各个关注角度58
7.1 执行时机58
7.2 执行效果60
7.3 执行效率61
7.4 问题处理效率62
7.5 避免引入问题64
第2部分 总体过程
第8章 代码改动累积68
8.1 导论68
8.1.1 考查范围68
8.1.2 关注重点68
8.2 执行时机68
8.2.1 包含改动的颗粒度:实时进行的测试68
8.2.2 包含改动的颗粒度:随时进行的测试69
8.3 执行效率70
第9章 代码改动提交71
9.1 导论71
9.1.1 考查范围71
9.1.2 关注重点71
9.2 执行时机72
9.2.1 包含改动的颗粒度:提交的颗粒度72
9.2.2 包含改动的颗粒度:提交时进行的测试72
9.3 执行效果73
9.4 执行效率73
9.4.1 执行效率度量:从发起提交到提交完成的时间73
9.4.2 工具辅助记录和展现:代码改动提交说明73
9.4.3 工具间集成:代码改动提交与工作项关联74
第10章 特性改动累积75
10.1 导论75
10.1.1 特性的概念75
10.1.2 特性隔离76
10.1.3 考查范围76
10.1.4 关注重点76
10.2 执行时机76
10.2.1 包含改动的颗粒度:代码改动提交触发的测试76
10.2.2 包含改动的颗粒度:随时进行的测试77
10.2.3 流程顺序和卡点:适当并行78
10.2.4 管理并发:控制在研的特性数量78
10.2.5 整体协调:完整的特性79
10.3 执行效果79
10.4 执行效率81
10.4.1 自动执行:构建流水线81
10.4.2 工具辅助记录和展现:流水线执行情况81
10.4.3 方案收敛82
10.5 问题处理效率83
10.5.1 问题处理效率度量83
10.5.2 适当通知83
10.5.3 记录版本:流水线配置的修改历史83
10.6 避免引入问题84
第11章 特性改动提交86
11.1 导论86
11.1.1 考查范围86
11.1.2 关注重点86
11.2 执行时机86
11.2.1 包含改动的颗粒度:特性的颗粒度86
11.2.2 包含改动的颗粒度:当特性做不到既小又独立时87
11.2.3 包含改动的颗粒度:特性提交时进行的测试88
11.2.4 流程顺序和卡点:特性提交门禁89
11.2.5 整体协调:完整的特性89
11.3 执行效果90
11.4 执行效率90
11.4.1 执行效率度量:从发起提交到提交完成的时间90
11.4.2 自动执行:合并请求91
11.4.3 工具辅助记录和展现:特性内容说明91
11.4.4 工具间集成:特性的代码改动与工作项之间的关联92
11.5 问题处理效率92
11.5.1 问题处理效率度量92
11.5.2 适当通知93
11.5.3 便捷回退:特性摘除93
第12章 集成94
12.1 导论94
12.1.1 考查范围94
12.1.2 关注重点94
12.2 执行时机94
12.2.1 包含改动的颗粒度:持续接收特性改动提交94
12.2.2 包含改动的颗粒度:特性合入触发的测试95
12.2.3 包含改动的颗粒度:针对新特性的测试95
12.2.4 流程顺序和卡点:制品晋级96
12.2.5 管理并发:适当交叠97
12.2.6 管理并发:管理变体98
12.3 执行效率99
12.3.1 自动执行:部署流水线99
12.3.2 工具间集成:版本的特性列表100
12.3.3 工具间集成:特性状态信息101
12.3.4 工具间集成:自动维护说明文档102
12.3.5 自主完成:各项活动102
12.3.6 自主完成:工具的配置103
12.3.7 便捷配置103
12.4 问题处理效率103
12.4.1 问题处理效率度量:红灯修复时长103
12.4.2 问题处理效率度量:缺陷修复时长104
12.4.3 及时发现104
12.4.4 适当通知105
12.4.5 及时处理105
12.4.6 快速定位106
12.5 避免引入问题106
第13章 发布107
13.1 导论107
13.1.1 考查范围107
13.1.2 关注重点107
13.2 执行时机108
13.2.1 包含改动的颗粒度:发布的颗粒度108
13.2.2 包含改动的颗粒度:发布前的测试109
13.2.3 包含改动的颗粒度:生产环境的测试109
13.2.4 减少等待:发布时间窗口109
13.2.5 操作对象的颗粒度110
13.2.6 整体协调:按一定顺序发布111
13.2.7 整体协调:当在特性分支上完成全部测试时112
13.2.8 整体协调:当每个微服务都有自己的迭代节奏时113
13.2.9 整体协调:静态库典型情况之公共基础库114
13.2.10 整体协调:静态库典型情况之整体应用的组成部分115
13.2.11 整体协调:静态库典型情况之服务接口定义116
13.3 执行效果117
13.4 执行效率117
13.4.1 执行效率度量117
13.4.2 自主完成:精简发布审批流程118
13.5 问题处理效率118
13.5.1 问题处理效率度量:故障恢复与缺陷修复的时长118
13.5.2 及时发现118
13.5.3 适当通知119
13.5.4 及时处理119
13.5.5 快速定位119
13.5.6 便捷回退:发布回滚119
13.5.7 紧急改动的生效方式:紧急发布120
第3部分 具体活动
第14章 源代码版本控制122
14.1 导论122
14.1.1 考查范围122
14.1.2 关注重点122
14.2 执行时机123
14.2.1 管理并发:晚分叉模式支持交叠123
14.2.2 管理并发:早分叉模式支持交叠124
14.2.3 管理并发:用主干代表最新已发布版本125
14.2.4 管理并发:特性分支的管理126
14.2.5 操作对象的颗粒度:代码库的尺寸127
14.3 执行效果127
14.4 执行效率128
14.4.1 执行效率度量128
14.4.2 快速执行:分布式版本控制工具128
14.4.3 快速执行:便捷的页面操作129
14.4.4 规范可重复:管理众多代码库129
14.4.5 规范可重复:明确代码库内的目录结构和内容129
14.4.6 规范可重复:规范版本号130
14.4.7 规范可重复:标识源代码版本131
14.5 问题处理效率132
14.5.1 便捷回退:特性摘除132
14.5.2 便捷回退:发布回滚132
14.5.3 紧急改动的生效方式:已提交特性的修改133
14.5.4 紧急改动的生效方式:紧急发布133
14.6 避免引入问题134
第15章 构建135
15.1 导论135
15.1.1 构建的概念135
15.1.2 考查范围136
15.1.3 关注重点136
15.2 执行时机136
15.3 执行效率137
15.3.1 工具辅助记录和展现:构建遇到的问题137
15.3.2 快速执行:从全局视角提速构建138
15.3.3 规范可重复:构建的可重复性140
第16章 构建环境管理142
16.1 导论2
16.1.1 考查范围142
16.1.2 关注重点142
16.2 执行效率142
16.2.1 规范可重复:构建环境标准化142
16.2.2 资源复用:构建环境资源池化143
16.2.3 快速执行:保障随时有构建资源可分配144
16.2.4 快速执行:保障构建所需的缓存145
第17章 制品管理146
17.1 导论146
17.1.1 制品的概念146
17.1.2 考查范围147
17.1.3 关注重点147
17.2 执行时机147
17.3 执行效果148
17.3.1 覆盖范围:外来制品148
17.3.2 覆盖范围:工具和基础软件148
17.4 执行效率149
17.4.1 执行效率度量149
17.4.2 工具辅助记录和展现:制品的属性信息149
17.4.3 工具间集成:源代码、构建、制品之间的关联150
17.4.4 快速执行:快速存取150
17.4.5 资源复用:不重复存储151
17.4.6 规范可重复:管理众多制品151
17.4.7 规范可重复:标识制品版本152
17.4.8 规范可重复:标识静态库版本152
17.4.9 规范可重复:制品清理策略153
17.5 问题处理效率154
17.6 避免引入问题154
第18章 部署155
18.1 导论155
18.1.1 部署单元的概念155
18.1.2 考查范围156
18.1.3 关注重点156
18.2 执行效果156
18.3 执行效率157
18.3.1 自动执行:完全自动化157
18.3.2 工具间集成:以部署单元为核心对象157
18.3.3 自主完成158
18.3.4 便捷配置:避免重复配置159
18.3.5 快速执行159
18.4 问题处理效率160
18.4.1 及时发现160
18.4.2 便捷回退160
18.5 避免引入问题160
18.5.1 业务连续性:生产环境的部署策略160
18.5.2 业务连续性:测试环境的部署策略161
18.5.3 业务连续性:客户端的部署策略162
第19章 运行环境管理163
19.1 导论163
19.1.1 运行环境的概念163
19.1.2 考查范围163
19.1.3 关注重点164
19.2 执行效果164
19.2.1 执行效果度量:保证足量供应164
19.2.2 执行方法:声明式164
19.2.3 环境一致性:本机运行环境165
19.2.4 环境一致性:整体运行环境166
19.3 执行效率166
19.3.1 执行效率度量166
19.3.2 自动执行167
19.3.3 工具间集成:制品、部署、环境之间的关联167
19.3.4 自主完成167
19.3.5 资源复用:环境实例的分配与回收168
19.3.6 资源复用:虚拟独占方式168
19.3.7 资源复用:处于整体环境中的个人开发环境168
19.3.8 方案收敛169
19.4 避免引入问题169
第20章 配置参数管理170
20.1 导论170
20.1.1 系统配置参数的概念170
20.1.2 业务配置参数的概念170
20.1.3 考查范围171
20.1.4 关注重点171
20.2 执行时机171
20.2.1 流程顺序和卡点:设置方式171
20.2.2 流程顺序和卡点:选择设置方式172
20.2.3 流程顺序与卡点:确保质量173
20.2.4 整体协调:程序与配置参数的匹配173
20.2.5 整体协调:键值分离173
20.3 执行效率174
20.3.1 自动执行174
20.3.2 自主完成175
20.3.3 便捷配置:减少人工设置内容175
20.4 问题处理效率175
20.5 避免引入问题176
第21章 数据存储结构管理177
21.1 导论177
21.1.1 数据存储结构管理的概念177
21.1.2 考查范围177
21.1.3 关注重点178
21.2 执行时机178
21.3 执行效果178
21.3.1 执行方法:应对挑战的常见方法178
21.3.2 执行方法:声明式179
21.3.3 环境一致性180
21.4 执行效率180
21.4.1 自动执行180
21.4.2 自主完成180
21.5 问题处理效率181
21.6 避免引入问题181
第22章 代码评审182
22.1 导论182
22.1.1 代码评审的概念182
22.1.2 关注重点182
22.2 执行时机183
22.2.1 包含改动的颗粒度:通常以特性为单位183
22.2.2 包含改动的颗粒度:结对编程183
22.2.3 流程顺序和卡点:事前评审和事后评审183
22.3 执行效果185
22.3.1 执行效果度量185
22.3.2 覆盖范围:根据场景选择合适的测试力度185
22.3.3 覆盖范围:不仅包括源代码的改动186
22.3.4 执行方法:代码评审的形式187
22.3.5 执行方法:检查清单187
22.3.6 人员能力:做代码评审需要专门的技能188
22.4 执行效率188
22.4.1 执行效率度量188
22.4.2 工具辅助记录和展现:记录评审发现的问题188
22.4.3 工具间集成:IDE能力189
第23章 代码扫描190
23.1 导论190
23.1.1 代码扫描的概念190
23.1.2 关注重点191
23.2 执行时机191
23.2.1 流程顺序和卡点:只卡增量191
23.2.2 流程顺序和卡点:技术债可以通融191
23.3 执行效率192
23.3.1 快速执行192
23.3.2 规范可重复:定制规则192
23.4 问题处理效率193
第24章 制品分析194
第25章 单元测试196
25.1 导论196
25.1.1 单元测试的概念196
25.1.2 自动化测试用例和测试脚本的概念196
25.1.3 关注重点197
25.2 执行时机197
25.2.1 包含改动的颗粒度197
25.2.2 流程顺序和卡点:尝试性工作推迟测试197
25.2.3 流程顺序和卡点:测试驱动开发198
25.3 执行效果198
25.3.1 覆盖范围:代码覆盖率198
25.3.2 人员能力:测试设计是一门学问199
25.4 执行效率200
25.4.1 快速测试准备:测试脚本的自动化生成200
25.4.2 快速执行:只测试增量部分200
25.5 问题处理效率201
25.5.1 快速定位:调试器201
25.5.2 记录版本201
第26章 自动化接口测试202
26.1 导论202
26.1.1 自动化接口测试的概念202
26.1.2 关注重点202
26.2 执行时机202
26.2.1 包含改动的颗粒度202
26.2.2 流程顺序和卡点:先做增量测试203
26.2.3 流程顺序和卡点:测试驱动开发及其变体203
26.3 执行效果203
— 没有更多了 —
以下为对购买帮助不大的评价