出版社: 机械工业出版社
副标题: 图书届奥斯卡Jolt大奖获奖作品,全球10余个国家出版。卡内基梅隆等名校教材,IEEE杂志10佳图书,软件架构图书事实标准。
原作名: Software Architecture in Practice,4th
译者: 周乐
出版年: 2023-1
页数: 322
定价: 149.00元
装帧: 平装
丛书: 架构师书库
ISBN: 9787111716808
内容简介 · · · · · ·
◆ 编辑推荐 ◆
NO.1 全球软件架构领域领军人物50年经验总结
NO.2 仅有的2次获得Jolt大奖的软件类著作
NO.3 在全球范围内被翻译为10余种文字
NO.4 卡内基·梅隆等多所世界名校选做教材
NO.5 豆瓣、B站、知乎高口碑作品
NO.6 被IEEE软件杂志评为“有史以来最具影响力的10本软件著作之一”
NO.7 内容系统全面,包含软件架构师需要的绝大部分硬技能和软技能
NO.8 注重实战,提供大量模式和解决方案,是架构师的工程行动指南
NO.9 与时具进,为云原生、分布式、移动系统等新技术场景提供架构方案
◆ 内容简介
本书着重讨论以下核心内容,并层层递进,逐步深入。
首先解释了什么是软件架构,为什么它很重要,以及如何以规范和有效的方式设计、实现、分析、演进和管理它。
其次系统阐述如何使用架构来应对需求和系统规模的加速增长,以及如何...
◆ 编辑推荐 ◆
NO.1 全球软件架构领域领军人物50年经验总结
NO.2 仅有的2次获得Jolt大奖的软件类著作
NO.3 在全球范围内被翻译为10余种文字
NO.4 卡内基·梅隆等多所世界名校选做教材
NO.5 豆瓣、B站、知乎高口碑作品
NO.6 被IEEE软件杂志评为“有史以来最具影响力的10本软件著作之一”
NO.7 内容系统全面,包含软件架构师需要的绝大部分硬技能和软技能
NO.8 注重实战,提供大量模式和解决方案,是架构师的工程行动指南
NO.9 与时具进,为云原生、分布式、移动系统等新技术场景提供架构方案
◆ 内容简介
本书着重讨论以下核心内容,并层层递进,逐步深入。
首先解释了什么是软件架构,为什么它很重要,以及如何以规范和有效的方式设计、实现、分析、演进和管理它。
其次系统阐述如何使用架构来应对需求和系统规模的加速增长,以及如何管理新增的质量属性。
最后讲解如何利用架构优化关键质量属性(包括性能、可修改性、防护性、可用性、互操作性、可测试性、易用性、可部署性等),如何管理和优化现有架构,如何将它们用于解决新问题并构建成可作为战略资产的可重用架构。
作者简介 · · · · · ·
伦·巴斯(Len Bass)
全球软件架构和软件工程领域的领军人物,有超过50年的研发和教学经验,曾两次获得“Jolt生产力大奖”,成就卓著。计算机协会(ACM)、电气和电子工程师协会(IEEE)的会员;曾在卡内基梅隆大学软件工程研究所工作25年,担任高级首席研究院,专注于软件架构的分析;曾担任澳大利亚国家信息通信技术研究院(NICTA)高级主任研究员;有数十年的教学经验,曾在德克萨斯大学奥斯汀分校、奥克兰大学、马里兰大学帕克分校、新加坡国立大学担任计算机科学教授,教授软件架构和软件工程相关的课程。
因为其在软件架构领域的杰出贡献,曾获得ACM颁发的杰出论文奖、IEEE颁发的杰出教育奖,对全球的几代软件工程师产生了深远的影响。出版了多部软件架构方面的著作,其中的代表作《软件架构实践》被广泛认为是软件架构领域的开创性著作,于2010年被IEEE软件杂志...
伦·巴斯(Len Bass)
全球软件架构和软件工程领域的领军人物,有超过50年的研发和教学经验,曾两次获得“Jolt生产力大奖”,成就卓著。计算机协会(ACM)、电气和电子工程师协会(IEEE)的会员;曾在卡内基梅隆大学软件工程研究所工作25年,担任高级首席研究院,专注于软件架构的分析;曾担任澳大利亚国家信息通信技术研究院(NICTA)高级主任研究员;有数十年的教学经验,曾在德克萨斯大学奥斯汀分校、奥克兰大学、马里兰大学帕克分校、新加坡国立大学担任计算机科学教授,教授软件架构和软件工程相关的课程。
因为其在软件架构领域的杰出贡献,曾获得ACM颁发的杰出论文奖、IEEE颁发的杰出教育奖,对全球的几代软件工程师产生了深远的影响。出版了多部软件架构方面的著作,其中的代表作《软件架构实践》被广泛认为是软件架构领域的开创性著作,于2010年被IEEE软件杂志评为“有史以来最具影响力的10本软件书籍之一”,两次获得Jolt大奖,在世界各地名校被广泛用作软件工程的教科书。
保罗·克莱门茨(Paul Clements)
资深软件架构专家和软件工程专家,是通用软件架构和产品线工程(PLE)领域的著名先锋人物,在软件领域有超过30年的实践和教学经验。全球产品线工程领域知名企业BigLever的副总裁,曾在卡内基·梅隆大学软件工程研究所担任高级技术人员近20年,在加利福尼亚大学欧文分校软件研究所担任访问科学家10余年,计算机协会(ACM)的高级会员和电气和电子工程师协会(IEEE)的会员。著有多本软件架构方面的著作,曾多次获得各类大奖,在软件架构领域影响深远。
瑞克·凯兹曼(Rick Kazman)
资深软件架构专家和软件工程专家,夏威夷大学的教授,卡内基·梅隆大学SEI的访问研究员,因为在软件架构的实践和教育方面做出了巨大贡献而闻名。参与创造了有影响力的架构分析方法和工具,包括SAAM、ATAM、CBAM、Dali和Titan,他在同行评审期刊和会议论文集上发表了 150 多篇文章,因其对软件工程研究和教育的贡献而获得了无数奖项,包括IEEE TCSE杰出教育奖和ACM SIGSOFT影响力教育家奖。
译者简介
周乐
曾供职于国有大型银行、头部证券公司,长期从事软件架构设计和企业架构管理工作。
目录 · · · · · ·
第1章 什么是软件架构 1
1.1 什么是软件架构,什么不是软件架构 2
1.2 架构结构与视图 5
1.3 什么是“好的”架构 19
1.4 总结 21
· · · · · · (更多)
第1章 什么是软件架构 1
1.1 什么是软件架构,什么不是软件架构 2
1.2 架构结构与视图 5
1.3 什么是“好的”架构 19
1.4 总结 21
1.5 进一步阅读 21
1.6 问题讨论 22
第2章 软件架构的重要性 25
2.1 抑制或支持系统的质量属性 26
2.2 关于变更的推理和管理 27
2.3 预测系统质量 28
2.4 利益相关者之间的沟通 28
2.5 早期设计决策 31
2.6 实现约束 31
2.7 对组织结构的影响 32
2.8 赋能增量开发 33
2.9 成本和进度估算 33
2.10 可转移、可重用模型 34
2.11 架构允许合并独立开发的元素 34
2.12 限制设计方案的术语 35
2.13 培训的基础 36
2.14 总结 36
2.15 进一步阅读 37
2.16 问题讨论 37
第二部分 质量属性
第3章 理解质量属性 39
3.1 功能性 40
3.2 质量属性注意事项 41
3.3 明确质量属性需求:质量属性场景 42
3.4 通过架构模式和战术实现质量属性 45
3.5 用战术设计 46
3.6 分析质量属性的设计决策:基于战术的调查问卷 48
3.7 总结 49
3.8 进一步阅读 49
3.9 问题讨论 50
第4章 可用性 51
4.1 可用性通用场景 53
4.2 可用性战术 55
4.3 基于战术的可用性调查问卷 62
4.4 可用性模式 66
4.5 进一步阅读 68
4.6 问题讨论 69
第5章 可部署性 71
5.1 持续部署 72
5.2 可部署性 75
5.3 可部署性通用场景 76
5.4 可部署性战术 78
5.5 基于战术的可部署性调查问卷 80
5.6 可部署性模式 81
5.7 进一步阅读 87
5.8 问题讨论 87
第6章 能源效率 89
6.1 能源效率通用场景 90
6.2 能源效率战术 92
6.3 基于战术的能源效率调查问卷 95
6.4 模式 97
6.5 进一步阅读 98
6.6 问题讨论 99
第7章 可集成性 101
7.1 评估架构的可集成性 102
7.2 可集成性通用场景 104
7.3 可集成性战术 105
7.4 基于战术的可集成性调查问卷 110
7.5 模式 112
7.6 进一步阅读 114
7.7 问题讨论 115
第8章 可修改性 117
8.1 可修改性通用场景 120
8.2 可修改性战术 121
8.3 基于战术的可修改性调查问卷 125
8.4 模式 126
8.5 进一步阅读 130
8.6 问题讨论 131
第9章 性能 133
9.1 性能通用场景 134
9.2 性能战术 137
9.3 基于战术的性能调查问卷 145
9.4 性能模式 146
9.5 进一步阅读 149
9.6 问题讨论 150
第10章 安全性 151
10.1 安全性通用场景 154
10.2 安全性战术 156
10.3 基于战术的安全性调查问卷 160
10.4 安全性模式 163
10.5 进一步阅读 165
10.6 问题讨论 166
第11章 防护性 169
11.1 防护性通用场景 170
11.2 防护性战术 172
11.3 基于战术的防护性调查问卷 176
11.4 防护性模式 179
11.5 进一步阅读 180
11.6 问题讨论 180
第12章 可测试性 183
12.1 可测试性通用场景 186
12.2 可测试性战术 187
12.3 基于战术的可测试性调查问卷 192
12.4 可测试性模式 192
12.5 进一步阅读 194
12.6 问题讨论 195
第13章 易用性 197
13.1 易用性通用场景 198
13.2 易用性战术 200
13.3 基于战术的易用性调查问卷 202
13.4 易用性模式 203
13.5 进一步阅读 205
13.6 问题讨论 205
第14章 使用其他质量属性 207
14.1 其他质量属性 207
14.2 是否使用标准质量属性清单 209
14.3 处理“X能力”:引入新的QA 212
14.4 进一步阅读 215
14.5 问题讨论 215
第三部分 架构解决方案
第15章 软件接口 217
15.1 接口的概念 218
15.2 设计一个接口 222
15.3 接口文档编制 228
15.4 总结 230
15.5 进一步阅读 230
15.6 问题讨论 231
第16章 虚拟化 233
16.1 共享资源 234
16.2 虚拟机 235
16.3 虚拟机映像 238
16.4 容器 239
16.5 容器和虚拟机 241
16.6 容器可移植性 242
16.7 Pod 242
16.8 无服务器架构 243
16.9 总结 244
16.10 进一步阅读 245
16.11 问题讨论 245
第17章 云和分布式计算 247
17.1 云基础 248
17.2 云中失效 251
17.3 使用多个实例提高性能和可用性 253
17.4 总结 261
17.5 进一步阅读 262
17.6 问题讨论 262
第18章 移动系统 263
18.1 能源 264
18.2 网络连通性 266
18.3 传感器和执行器 267
18.4 资源 268
18.5 生命周期 270
18.6 总结 273
18.7 进一步阅读 274
18.8 问题讨论 275
第四部分 可扩展架构实践
第19章 架构上的重要需求 277
19.1 从需求文档中收集ASR 278
19.2 通过访谈利益相关者收集ASR 279
19.3 通过理解业务目标收集ASR 282
19.4 在工具树中捕获ASR 284
19.5 发生了变化 286
19.6 总结 286
19.7 进一步阅读 287
19.8 问题讨论 287
第20章 设计架构 289
20.1 属性驱动的设计 289
20.2 ADD步骤 292
20.3 ADD步骤4的进一步说明:选择一个或多个设计概念 295
20.4 ADD步骤5的进一步说明:生成结构 298
20.5 ADD步骤6的进一步说明:在设计过程中创建初步文档 301
20.6 ADD步骤7的进一步说明:对当前设计进行分析并审查迭代目标和设计目的实现情况 304
20.7 总结 306
20.8 进一步阅读 306
20.9 问题讨论 307
第21章 架构评估 309
21.1 评估作为一项降低风险的活动 309
21.2 主要的评估活动 310
21.3 谁能执行评估 311
21.4 环境因素 312
21.5 架构权衡分析方法 313
21.6 轻量级架构评估 324
21.7 总结 326
21.8 进一步阅读 327
21.9 问题讨论 327
第22章 记录一个架构 329
22.1 架构文档的用途和受众 330
22.2 符号 331
22.3 视图 332
22.4 合并视图 339
22.5 记录的行为 340
22.6 视图以外 345
22.7 记录基本原理 346
22.8 架构利益相关者 347
22.9 实际问题 350
22.10 总结 353
22.11 进一步阅读 353
22.12 问题讨论 354
第23章 管理架构债 355
23.1 确定是否存在架构债问题 356
23.2 发现热点 358
23.3 示例 362
23.4 自动化 363
23.5 总结 364
23.6 进一步阅读 364
23.7 问题讨论 365
第五部分 架构和组织
第24章 架构师在项目中的角色 367
24.1 架构师和项目经理 367
24.2 增量架构和利益相关者 369
24.3 架构和敏捷开发 370
24.4 架构和分布式开发 373
24.5 总结 376
24.6 进一步阅读 376
24.7 问题讨论 377
第25章 架构能力 379
25.1 个人能力:架构师的职责、技能和知识 379
25.2 软件架构组织的能力 386
25.3 成为更好的架构师 387
25.4 总结 388
25.5 进一步阅读 388
25.6 问题讨论 389
第六部分 结论
第26章 展望未来:量子计算 391
26.1 单量子位 392
26.2 量子隐形传态 394
26.3 量子计算和加密 394
26.4 其他算法 395
26.5 潜在应用 396
26.6 最后的想法 397
26.7 进一步阅读 398
参考资料 399
· · · · · · (收起)
丛书信息
· · · · · ·
喜欢读"软件架构实践(原书第4版)"的人也喜欢的电子书 · · · · · ·
喜欢读"软件架构实践(原书第4版)"的人也喜欢 · · · · · ·
- 计算机系统 9.0
- 领域驱动设计精粹 7.7
- 系统架构 8.8
- 敏捷整洁之道 9.0
- 微服务架构设计模式 9.0
- 并行多核体系结构基础 9.3
- 软件架构基础(影印版) 9.1
- 垃圾回收算法手册 8.5
- 架构真经 7.4
- 架构整洁之道 8.7
软件架构实践(原书第4版)的书评 · · · · · · ( 全部 8 条 )
《软件架构实践》不可多得的经典实践作品
这篇书评可能有关键情节透露
《软件架构实践》一书引发了人们对于软件架构的思考。虽然在现在的软件开发中,我们可以通过各种框架和组件轻松地拼凑起一个“可运行”的系统,但这样的架构很难支撑起五到十年的风雨洗礼。因此,质量属性这一术语被提出,定义了功能性以外的其他特性,如可用性、可部署性、性... (展开)有血有肉的实践原理书
这篇书评可能有关键情节透露
软件构架是一个考验人能力的事情,在网上有好多人讲述架构的知识,都过于注重具体的实践,没有一个统一的理论体系,而<软件架构实践(原书第4版)>提供了深厚的理论素养和深入浅出的普世原则,对在开发和想转变为架构师的角色提供了支撑,这本书两次获得奥斯卡Jolt大奖获奖作品... (展开)系统全面的一本架构方法论书籍
软件架构方面的主要参考资料
> 更多书评 8篇
论坛 · · · · · ·
《软件架构实践》读后感 | 来自Ray | 2023-03-21 15:36:34 |
这本书的其他版本 · · · · · · ( 全部11 )
-
清华大学出版社 (2012)7.2分 75人读过
-
Addison-Wesley Professional (2003)8.5分 16人读过
-
Addison-Wesley Professional (2012)6.8分 13人读过
-
清华大学出版社 (2013)8.1分 9人读过
以下书单推荐 · · · · · · ( 全部 )
- 创新、产品、设计、技术、黑客 (Steven Xu)
- 数字化抓手----EA/企业架构生命周期管理 (小毛叔)
- 我买的计算机书 (吴上阿吉)
- 书单|软件架构 (lyremelody)
- 书单|架构师 (naiverMe)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有83人想读,手里有一本闲着?
订阅关于软件架构实践(原书第4版)的评论:
feed: rss 2.0
2 有用 一默 2023-12-18 23:23:00 四川
内容挺好的,就是翻译太差了,还以为自己在做病句修改呢。
0 有用 惑之重生 2024-02-15 18:49:33 江苏
22.4视图相关有启发,其他内容对自己启发较低, 不涉及具体技术。
0 有用 zhlinh 2023-05-18 09:13:46 广东
目前可能还啃不动,可能得先看翻译本或者相关笔记
0 有用 惑之重生 2024-02-15 18:49:33 江苏
22.4视图相关有启发,其他内容对自己启发较低, 不涉及具体技术。
2 有用 一默 2023-12-18 23:23:00 四川
内容挺好的,就是翻译太差了,还以为自己在做病句修改呢。
0 有用 zhlinh 2023-05-18 09:13:46 广东
目前可能还啃不动,可能得先看翻译本或者相关笔记