基本信息
- 作者: [美]伦·巴斯(Len Bass),[美]保罗·克莱门茨(Paul Clements),[美]瑞克·凯兹曼(Rick Kazman)
- 丛书名: 架构师书库
- 出版社:机械工业出版社
- ISBN:9787111716808
- 上架时间:2023-1-31
- 出版日期:2023 年1月
- 开本:16开
- 版次:1-1
- 所属分类:计算机 > 软件工程及软件方法学 > 软件方法/软件工程

内容简介
计算机书籍
自第3版出版以来,计算机领域发生了很大变化。一些之前没有被考虑的质量属性在许多架构师的日常实践中变得重要。我们正在构建不同种类的系统,并且以不同于十年前的方式构建它们。现在的系统通常构建在云中的虚拟化资源之上,移动性越来越强,移动性带来的机遇和挑战也越来越多。因此,第4版全面更新了有关移动、云、能源管理、DevOps、量子计算等方面的内容。
通过本书,你将了解:
架构如何影响技术环境(并受其影响)、项目生命周期、业务概要和实践。
如何通过架构来利用已验证的模式、接口和实践去优化质量。
移动、云、机器学习和量子计算的架构。
设计越来越重要的属性,如能源效率和安全性。
如何通过发现架构的重大影响、使用DevOps和部署流水线以及管理架构债来扩展系统。
架构在组织中的作用,以便提供更多价值。
目录
第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
前言
我们过去(和现在)非常肯定这不是真的。诚然,我们有些偏见。因此,我们采访了一些在医疗保健、汽车、社交媒体、航空、国防、金融、电子商务等领域工作的架构师,他们都没有被教条的偏见所左右。我们所听到的证实了我们的信念,即架构在今天和20多年前(我们编写第1版时)一样重要。
我们来研究一下其中的一些原因。首先,新需求出现的速度多年来一直在加快,甚至还在持续加快。在客户和业务需求以及竞争压力的驱动下,今天的架构师面临着连续且不断增加的特性需求和要修复的bug等问题。如果架构师不重视系统的模块化(请记住微服务不是万能的),系统很快就会变得难以理解、变更、调试和修改,并拖累业务。
其次,当系统的抽象级别在增加时(我们可以并且确实经常使用许多复杂巧妙的服务,而不用关心它们是如何实现的),我们创建的系统的复杂性也在以同样的速度增加。这像一场军备竞赛,而架构师并没有获胜!架构一直致力于“驯服”复杂性,而这种情况在短期内是不会消失的。
说到提高抽象级别,基于模型的系统工程(Model-Based Systems Engineering,MBSE)在过去十年左右的时间里已经成为工程领域的一股强大力量。MBSE是一种形式化的支持系统设计的建模应用。国际系统工程理事会(InterNational Council On Systems Engineering,INCOSE)将MBSE列为一组“转型赋能者”之一,它是整个系统工程学科的基础。模型是对一个可以被推理的概念或结构进行的图形、数学或物理化表示。INCOSE正试图将工程领域从基于文档的思维转向基于模型的思维,其中结构模型、行为模型、性能模型等都被持续用于更好、更快、更便宜地构建系统。MBSE本身已经超出了本书的范围,但是我们不得不注意到正在被建模的是架构。那谁建立模型呢?答案是架构师。
再次,信息系统世界的飞速发展(以及前所未有的员工流动率)意味着,在任何现实世界的系统中,没有人了解一切。仅仅聪明和努力是不够的。
最后,尽管有工具可以自动完成过去需要自己做的许多事情(例如Kubernetes中所有的编排、部署和管理功能),但仍然需要理解所依赖的系统的质量属性,当我们把系统组合在一起时,需要理解随之而来的质量属性。大多数质量属性(防护性、可用性、安全性等)都容易受到“最短板”问题的影响,而“最短板”问题只有在联调系统时才会出现并影响我们。如果没有引领者来避免灾难,联调很可能会失败,而这正是架构师的
工作。
考虑到这些因素,我们觉得确实需要这本书。
但有必要推出第4版吗?当然有必要了!自上一版出版以来,计算机领域发生了很大变化,一些之前没有被考虑的质量属性已在许多架构师的日常实践中变得越来越重要。随着软件继续渗透到社会的各个方面,对许多系统(如无人驾驶系统)来说,安全性已经变得至关重要。同样,十年前很少有架构师会考虑能源效率这一质量属性,但现在从对能源有不可抑制需求的大型数据中心到我们周围的小型(甚至很小的)电池驱动的移动和物联网设备都必须考虑。此外,考虑到我们比以往任何时候都更多地利用现有的组件来构建系统,可集成性这一质量属性也越来越引起我们的注意。
最后,我们正在构建不同种类的系统,并且以不同于十年前的方式构建它们。现在的系统通常构建在云中的虚拟化资源之上,它们需要提供并依赖显式接口。此外,它们的移动性越来越强,移动性带来的机遇和挑战也越来越多。因此,在第4版中,我们增加了关于虚拟化、接口、移动性和云的章节。
如你所见,我们说服了自己。希望我们同样说服了你,你会发现第4版会使你受益匪浅。
媒体评论
通过本书,你将了解:
架构如何影响技术环境(并受其影响)、项目生命周期、业务概要和实践。
如何通过架构来利用已验证的模式、接口和实践去优化质量。
移动、云、机器学习和量子计算的架构。
设计越来越重要的属性,如能源效率和安全性。
如何通过发现架构的重大影响、使用DevOps和部署流水线以及管理架构债来扩展系统。
架构在组织中的作用,以便提供更多价值。