軟體架構實踐 封面

軟體架構實踐

👨‍💼: Len Bass, Paul Clements, Rick Kazman
📅: April 26, 2022
Buy Now
📖:
軟體架構領域的經典教科書,系統性探討品質屬性驅動的架構設計方法與實務。
📘 深度概覽

作者背景#

Len Bass 為澳洲 NICTA 資深首席研究員,曾於卡內基美隆大學軟體工程研究所(SEI)任職二十五年,擁有近五十年軟體開發與研究經驗。Paul Clements 曾於 SEI 擔任資深技術人員達十七年,是 IFIP WG2.10 軟體架構工作小組的創始成員。Rick Kazman 為夏威夷大學教授暨 SEI 訪問科學家,創建了 SAAM 與 ATAM 等具高度影響力的架構分析方法。三人均為軟體架構學術與實務領域的奠基人物。

完整摘要#

本書(Software Architecture in Practice)的核心主張是:軟體架構是用來推理系統的一組結構,而品質屬性(Quality Attributes)才是驅動架構決策的關鍵力量——功能需求並不決定架構。全書以此論點為基礎,首先定義架構的三大類結構(模組、元件與連接器、分配),建立共通語言;接著以統一的「品質屬性場景」框架,系統性地分析可用性、效能、安全性、可修改性、可測試性等十餘種品質屬性,並為每種屬性提出對應的策略(Tactics)與架構模式(Patterns)。在設計實務方面,書中介紹了屬性驅動設計法(ADD)作為可重複的架構設計流程,以及架構權衡分析法(ATAM)作為評估工具。進一步涵蓋了軟體介面設計、虛擬化、雲端運算、行動系統等現代架構解決方案,以及架構文件化與架構技術債管理。最終討論架構師在組織中的角色與所需能力,強調 Conway 定律下組織結構與系統架構的相互映射。

本書的貢獻與定位#

本書是軟體架構領域最廣泛採用的教科書之一,自首版以來持續更新至第四版,由 SEI 出版系列背書。相較於 Martin Fowler 的《Patterns of Enterprise Application Architecture》側重企業應用模式,或 Mark Richards 的《Fundamentals of Software Architecture》偏重現代架構風格分類,本書的獨特貢獻在於提供了一套完整的品質屬性分析框架與系統化的設計方法論。適合軟體架構師、資深工程師及電腦科學研究生。