Len Bass, Paul Clements, Rick Kazman
Software_Architecture#
DevOps#
pipelines#
Cloud#
Quantum_Computing#
The Definitive, Practical, Proven Guide to Architecting Modern Software--Fully Updated with New Content on Mobility, the Cloud, Energy Management, DevOps, Quantum Computing, and More
Updated with eleven new chapters, Software Architecture in Practice, Fourth Edition, thoroughly explains what software architecture is, why it's important, and how to design, instantiate, analyze, evolve, and manage it in disciplined and effective ways.
Three renowned software architects cover the entire lifecycle, presenting practical guidance, expert methods, and tested models for use in any project, no matter how complex. You'll learn how to use architecture to address accelerating growth in requirements, system size, and abstraction, and to manage emergent quality attributes as systems are dynamically combined in new ways.
With insights for utilizing architecture to optimize key quality attributes--including performance, modifiability, security, availability, interoperability, testability, usability, deployability, and more--this guide explains how to manage and refine existing architectures, transform them to solve new problems, and build reusable architectures that become strategic business assets.
Contents
PART I: INTRODUCTION
CHAPTER 1 What Is Software Architecture?
CHAPTER 2 Why Is Software Architecture Important?
PART II: QUALITY ATIRIBUTES
CHAPTER 3 Understanding Quality Attributes
CHAPTER 4 Availability
CHAPTER 5 Deployability
CHAPTER 6 Energy Efficiency
CHAPTER 7 Integrability
CHAPTER 8 Modifiability
CHAPTER 9 Performance
CHAPTER 10 Safety
CHAPTER 11 Security
CHAPTER 12 Testability
CHAPTER 13 Usability
CHAPTER 14 Working with Other Quality Attributes
PART Ill: ARCHITECTURAL SOLUTIONS
CHAPTER 15 Software Interfaces
CHAPTER 16 Virtualization
CHAPTER 17 The Cloud and Distributed Computing
CHAPTER 18 Mobile Systems
PART IV: SCALABLE ARCHITECTURE PRACTICES
CHAPTER 19 Architecturally Significant Requirements
CHAPTER 20 Designing an Architecture
CHAPTER 21 Evaluating an Architecture
CHAPTER 22 Documenting an Architecture
CHAPTER 23 Managing Architecture Debt
PART V: ARCHITECTURE AND THE ORGANIZATION
CHAPTER 24 The Role of Architects in Proj ects
CHAPTER 25 Architecture Competence
PART VI: CONCLUSIONS
CHAPTER 26 A Glimpse of the Future: Quantum Computing
Len Bass, an award-winning author and lecturer, has more than 50 years of advanced software experience, including 25 years at Carnegie Mellon University’s (CMU) Software Engineering Institute (SEI). He now teaches DevOps as an adjunct faculty member at CMU.
Dr. Paul Clements, VP of Customer Success with BigLever Software, helps organizations gain value from Product Line Engineering (PLE). As senior member of technical staff at SEI, he led advanced projects in PLE and software architecture.
Rick Kazman is Professor, University of Hawaii, and Visiting Researcher at SEI. His interests include software architecture, visualization, design, analysis, and economics. He co-created influential architecture analysis methods and tools, including SAAM, ATAM, CBAM, Dali, and Titan.