书籍详情
《软件架构实践(原书第4版)》[43M]百度网盘|亲测有效|pdf下载
  • 软件架构实践(原书第4版)

  • 出版社:机械工业出版社
  • 作者:[美] 伦·巴斯(Len Bass),[美] 保罗·克莱门茨(Paul Clements) 等 著,周乐 译
  • 出版时间:2023-02-01
  • 热度:6013
  • 上架时间:2025-01-04 08:18:29
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

产品特色

编辑推荐

适读人群 :软件开发工程师

NO.1 全球软件架构领域领军人物50年经验总结

NO.2 仅有的2次获得Jolt大奖的软件类著作

NO.3 在全球范围内被翻译为10余种文字

NO.4 卡内基·梅隆等多所世界名校选做教材

NO.5 豆瓣、B站、知乎高口碑作品

NO.6 被IEEE软件杂志评为“有史以来z具影响力的10本软件著作之一”

NO.7 内容系统全面,包含软件架构师需要的绝大部分硬技能和软技能

NO.8 注重实战,提供大量模式和解决方案,是架构师的工程行动指南

NO.9 与时具进,为云原生、分布式、移动系统等新技术场景提供架构方案

网店好评


我是《软件架构实践》一书的忠实读者,20多年前我还是研究生的时候就读过它的第1版。我强烈推荐这本书给所有的软件工程师,无论你是经验丰富的还是刚刚入行的。第4版中的虚拟化、接口、移动性和云的新章节使我受益匪浅。

这是一本涵盖软件架构基础知识的宝典级图书,尤其是工程目标和质量属性,这在构建在线协作系统的架构时非常有用。此外,这本书经过二十多年的四次版本更新,易读性一直是它带给读者的惊喜,在讨论新产品/现有产品的结构时使用这本书会令你事半功倍。

《软件架构实践》是架构标准化和软件体系结构方面的经典图书,作者对软件架构进行了广泛而全面的概述。这本书的案例研究也是一大特色,可帮助软件架构师实现企业IT体系架构设计。

这本书涵盖了软件架构整个生命周期的方方面面,是能为任何软件架构项目(无论多么复杂)提供专家方法和测试模型的实用指南。

这本书内容丰富,帮助我为软件架构工作开发了更好的量化技术,我将这本书卡耐基梅隆大学的在线软件架构课程结合使用,

通过这本书,你不仅掌握什么是架构、架构的影响,更是能掌握如何评估架构质量。



内容简介

本书着重讨论以下核心内容,并层层递进,逐步深入。

首先解释了什么是软件架构,为什么它很重要,以及如何以规范和有效的方式设计、实现、分析、演进和管理它。

其次系统阐述如何使用架构来应对需求和系统规模的加速增长,以及如何管理新增的质量属性。

最后讲解如何利用架构优化关键质量属性(包括性能、可修改性、防护性、可用性、互操作性、可测试性、易用性、可部署性等),如何管理和优化现有架构,如何将它们用于解决新问题并构建成可作为战略资产的可重用架构。

作者简介

作者简介
伦·巴斯(Len Bass)

全球软件架构和软件工程领域的领军人物,有超过50年的研发和教学经验,曾两次获得“Jolt生产力大奖”,成就卓著。计算机协会(ACM)、电气和电子工程师协会(IEEE)的会员;曾在卡内基梅隆大学软件工程研究所工作25年,担任高级首席研究院,专注于软件架构的分析;曾担任澳大利亚国家信息通信技术研究院(NICTA)高级主任研究员;有数十年的教学经验,曾在德克萨斯大学奥斯汀分校、奥克兰大学、马里兰大学帕克分校、新加坡国立大学担任计算机科学教授,教授软件架构和软件工程相关的课程。

因为其在软件架构领域的杰出贡献,曾获得ACM颁发的杰出论文奖、IEEE颁发的杰出教育奖,对全球的几代软件工程师产生了深远的影响。出版了多部软件架构方面的著作,其中的代表作《软件架构实践》被广泛认为是软件架构领域的开创性著作,于2010年被IEEE软件杂志评为“有史以来z具影响力的10本软件书籍之一”,两次获得Jolt大奖,在世界各地名校被广泛用作软件工程的教科书。

保罗·克莱门茨(Paul Clements)

资深软件架构专家和软件工程专家,是通用软件架构和产品线工程(PLE)领域的著名先锋人物,在软件领域有超过30年的实践和教学经验。全球产品线工程领域知名企业BigLever的副总裁,曾在卡内基·梅隆大学软件工程研究所担任高级技术人员近20年,在加利福尼亚大学欧文分校软件研究所担任访问科学家10余年,计算机协会(ACM)的高级会员和电气和电子工程师协会(IEEE)的会员。著有多本软件架构方面的著作,曾多次获得各类大奖,在软件架构领域影响深远。

瑞克·凯兹曼(Rick Kazman)

资深软件架构专家和软件工程专家,夏威夷大学的教授,卡内基·梅隆大学SEI的访问研究员,因为在软件架构的实践和教育方面做出了巨大贡献而闻名。参与创造了有影响力的架构分析方法和工具,包括SAAM、ATAM、CBAM、Dali和Titan,他在同行评审期刊和会议论文集上发表了 150 多篇文章,因其对软件工程研究和教育的贡献而获得了无数奖项,包括IEEE TCSE杰出教育奖和ACM SIGSOFT影响力教育家奖。


译者简介

周乐:曾供职于国有大型银行、头部证券公司,长期从事软件架构设计和企业架构管理工作。



特邀技术审校

茹炳晟:腾讯Tech Lead,腾讯研究院特约研究员,中国计算机学会(CCF)TF研发效能SIG主席,“软件研发效能宣言”发起人和主要起草人,多本畅销书作者,国内各大技术峰会的联席主席,出品人和Keynote演讲嘉宾。公众号“茹炳晟聊软件研发”作者。



前言/序言

◆ 译者序◆

在比尔·盖茨的众多称谓中,据说他更偏爱“首席软件架构师”。在网易创始人丁磊名字前,也有“首席架构师”这样的称谓。架构师是如此重要,以至于在《黑客帝国》中各色人物悉数登场,最后你却发现这一切都是被一个称作“架构师”的白胡子老头左右的。

这是否意味着要成为架构师就要以“领导”权威来支撑或者以时间或实践来积累?当然不必这样,在修炼成“架构师”的道路上,一本好书能让你少走许多弯路,帮助你学会“架构师”思维,快速进入“架构师”角色。

随着数字时代的到来,各种云基础设施、微服务、框架层出不穷,互联和互操作变得唾手可得,集成和重用已有成果成为软件开发常态。在软件系统变得越来越复杂的同时,今天架构师似乎不再需要架构知识了,甚至软件开发的精髓被调侃是“Ctrl+C和Ctrl+V”。显然,在已有的架构上实现二次架构设计并不是架构师的未来,我们既要站在巨人的肩膀上,善于利用后发优势,更需要从原始创新上取得突破,这就需要你回到问题的原点,系统地掌握软件架构的知识,努力贡献优秀的原创架构。

《软件架构实践》就是这样一本书。本书是其第4版,在软件架构领域,本书已经成为标准。软件架构的术语或知识,大都可以在这本书中找到相关内容和最准确的定义。

本书共分为六个部分。第一部分对软件架构进行了定义,并从13个方面揭示软件架构的重要性,希望这13个方面能激起你学习软件架构的兴趣。第二部分是关于质量属性的,你如果还分不清“可用性”(availability)和“易用性”(usability)的差别,或觉得“安全性”(safety)和“防护性”(security)就是一回事,那么应该仔细看看这一部分。这部分对10个颇具代表性的质量属性进行了全面介绍,给出了一种通用形式来描述质量属性,介绍了每个质量属性要关注的问题并给出了现成的“解决方案”,你甚至可以直接把这些知识运用到你当前的设计中去。第三部分具有很强的时代感,紧密结合当前最流行的技术,包括虚拟化、云计算和移动技术,介绍了当下架构解决方案要关注的内容。第四部分是可扩展架构实践,为设计架构、评估架构和记录架构等活动提供了可操作的工程方法,旨在为完成这些复杂的架构活动提供指南,帮助普通人学习并熟练地完成架构相关工作。如果面对复杂设计你还不知从何下手,则完全可以按照书中介绍的工程方法和交付样式“照猫画虎”,相信通过亲自实践你会掌握书中方法的精髓。第五部分全面介绍了架构师在组织中的角色和应具备的能力,架构师不能活在象牙塔里,这部分知识可以让你根据个人的情况和组织的发展要求,找到自己的努力方向,理解相关处境,做出正确选择。最后一部分介绍了最新的量子计算,并思考了其可能对架构的影响,也算是为读者留下一些悬念。

本书可以作为架构师的工具书,你不必从头开始,根据遇到的问题,找到相应章节就可以得到参考架构解决方案。你也可以把它当作工程行动指南,面对复杂问题,按照其中介绍的方法采取相应行动即可。本书将理论和实践紧密结合,如果你的单位很重视架构,但存在曲高和寡的现象,建议你单位的项目经理和架构师好好阅读一下本书。

◆ 前言 ◆

当我们开始编写本书第4版时,遇到的第一个问题是:架构还重要吗?随着云基础设施、微服务、框架和每个可能想象的领域以及质量属性的参考架构的兴起,人们可能会认为不再需要架构知识了。今天的架构师需要做的就是从丰富的工具和基础设施备选方案中选一个,实例化并配置它。瞧!一个架构就完成了。

我们过去(和现在)非常肯定这不是真的。诚然,我们有些偏见。因此,我们采访了一些在医疗保健、汽车、社交媒体、航空、国防、金融、电子商务等领域工作的架构师,他们都没有被教条的偏见所左右。我们所听到的证实了我们的信念,即架构在今天和20多年前(我们编写第1版时)一样重要。

我们来研究一下其中的一些原因。首先,新需求出现的速度多年来一直在加快,甚至还在持续加快。在客户和业务需求以及竞争压力的驱动下,今天的架构师面临着连续且不断增加的特性需求和要修复的bug等问题。如果架构师不重视系统的模块化(请记住微服务不是万能的),系统很快就会变得难以理解、变更、调试和修改,并拖累业务。

其次,当系统的抽象级别在增加时(我们可以并且确实经常使用许多复杂巧妙的服务,而不用关心它们是如何实现的),我们创建的系统的复杂性也在以同样的速度增加。这像一场军备竞赛,而架构师并没有获胜!架构一直致力于“驯服”复杂性,而这种情况在短期内是不会消失的。

说到提高抽象级别,基于模型的系统工程(Model-Based Systems Engineering,MBSE)在过去十年左右的时间里已经成为工程领域的一股强大力量。MBSE是一种形式化的支持系统设计的建模应用。国际系统工程理事会(InterNational Council On Systems Engineering,INCOSE)将MBSE列为一组“转型赋能者”之一,它是整个系统工程学科的基础。模型是对一个可以被推理的概念或结构进行的图形、数学或物理化表示。INCOSE正试图将工程领域从基于文档的思维转向基于模型的思维,其中结构模型、行为模型、性能模型等都被持续用于更好、更快、更便宜地构建系统。MBSE本身已经超出了本书的范围,但是我们不得不注意到正在被建模的是架构。那谁建立模型呢?答案是架构师。

再次,信息系统世界的飞速发展(以及前所未有的员工流动率)意味着,在任何现实世界的系统中,没有人了解一切。仅仅聪明和努力是不够的。

最后,尽管有工具可以自动完成过去需要自己做的许多事情(例如Kubernetes中所有的编排、部署和管理功能),但仍然需要理解所依赖的系统的质量属性,当我们把系统组合在一起时,需要理解随之而来的质量属性。大多数质量属性(防护性、可用性、安全性等)都容易受到“最短板”问题的影响,而“最短板”问题只有在联调系统时才会出现并影响我们。如果没有引领者来避免灾难,联调很可能会失败,而这正是架构师的工作。

考虑到这些因素,我们觉得确实需要这本书。

但有必要推出第4版吗?当然有必要了!自上一版出版以来,计算机领域发生了很大变化,一些之前没有被考虑的质量属性已在许多架构师的日常实践中变得越来越重要。随着软件继续渗透到社会的各个方面,对许多系统(如无人驾驶系统)来说,安全性已经变得至关重要。同样,十年前很少有架构师会考虑能源效率这一质量属性,但现在从对能源有不可抑制需求的大型数据中心到我们周围的小型(甚至很小的)电池驱动的移动和物联网设备都必须考虑。此外,考虑到我们比以往任何时候都更多地利用现有的组件来构建系统,可集成性这一质量属性也越来越引起我们的注意。

最后,我们正在构建不同种类的系统,并且以不同于十年前的方式构建它们。现在的系统通常构建在云中的虚拟化资源之上,它们需要提供并依赖显式接口。此外,它们的移动性越来越强,移动性带来的机遇和挑战也越来越多。因此,在第4版中,我们增加了关于虚拟化、接口、移动性和云的章节。

如你所见,我们说服了自己。希望我们同样说服了你,你会发现第4版会使你受益匪浅。



相关推荐