The award-winning and highly influential Software Architecture in Practice, Third Edition, has been substantially revised to reflect the latest developments in the field. In a real-world setting, the book once again introduces the concepts and best practices of software architecture—how a software system is structured and how that system’s elements are meant to interact. Distinct from the details of implementation, algorithm, and data representation, an architecture holds the key to achieving system quality, is a reusable asset that can be applied to subsequent systems, and is crucial to a software organization’s business strategy.
The authors have structured this edition around the concept of architecture influence cycles. Each cycle shows how architecture influences, and is influenced by, a particular context in which architecture plays a critical role. Contexts include technical environment, the life cycle of a project, an organization’s business profile, and the architect’s professional practices. The authors also have greatly expanded their treatment of quality attributes, which remain central to their architecture philosophy—with an entire chapter devoted to each attribute—and broadened their treatment of architectural patterns.
If you design, develop, or manage large software systems (or plan to do so), you will find this book to be a valuable resource for getting up to speed on the state of the art.
Key Features
- The core book in Software Engineering Institute's (SEI) influential software architecture curriculum: the field's best-seller (14,000+ copies sold).
- Helps software practitioners and managers resolve crucial questions that enable the development of clear and effective architecture.
- Now accompanied by slides, exercises, and exercise answers, making it even easier to teach and learn from.
New to This Edition
- The book now includes a much deeper treatment of architecture throughout the software development life cycle and in the various contexts within which an architecture exists.
- It now will be accompanied by slides, exercises, and answers to the exercises, to make it even easier to teach from.
- The case studies will be removed from the book, to make space for the deeper treatment of the topic, but they will be made available on the Web.
- Totally new material covers :
- Contexts of software architecture: technical, project, business, and professional.
- Architecture competence: what this means both for individuals and organizations.
- The origins of business goals and how this affects architecture.
- Architecturally significant requirements, and how to determine them.
- Architecture in the life cycle, including generate-and-test as a design philosophy; architecture conformance during implementation; architecture and testing; and architecture and agile development.
- Architecture and current technologies, such as the cloud, social networks, and end-user devices.
Contents
Part One: Introduction
- Chapter 1: What Is Software Architecture?
- Chapter 2: Why Is Software Architecture Important?
- Chapter 3: The Many Contexts of Software Architecture
Part Two: Quality Attributes
- Chapter 4: Understanding Quality Attributes
- Chapter 5: Availability
- Chapter 6: Interoperability
- Chapter 7: Modifiability
- Chapter 8: Performance
- Chapter 9: Security
- Chapter 10: Testability
- Chapter 11: Usability
- Chapter 12: Other Quality Attributes
- Chapter 13: Architectural Tactics and Patterns
- Chapter 14: Quality Attribute Modeling and Analysis
Part Three: Architecture in the Life Cycle
- Chapter 15: Architecture in Agile Projects
- Chapter 16: Architecture and Requirements
- Chapter 17: Designing an Architecture
- Chapter 18: Documenting Software Architectures
- Chapter 19: Architecture, Implementation, and Testing
- Chapter 20: Architecture Reconstruction and Conformance
- Chapter 21: Architecture Evaluation
- Chapter 22: Management and Governance
Part Four: Architecture and Business
- Chapter 23: Economic Analysis of Architectures
- Chapter 24: Architecture Competence
- Chapter 25: Architecture and Software Product Lines
Part Five: The Brave New World
- Chapter 26: Architecture in the Cloud
- Chapter 27: Architectures for the Edge
- Chapter 28: Epilogue
- Index
About the Authors
- Len Bass is a Senior Principal Researcher at National ICT Australia Ltd (NICTA). He joined NICTA in 2011 after twenty-five years at the Software Engineering Institute (SEI) at Carnegie Mellon University.
- Paul Clements is the Vice President of Customer Success at BigLever Software, Inc., where he works to spread the adoption of systems and software product line engineering.
- Rick Kazman is a Professor at the University of Hawaii and a Visiting Scientist (and former Senior Member of the Technical Staff) at the SEI. He is a coauthor of Evaluating Software Architectures: Methods and Case Studies, (Addison-Wesley, 2002).
Book Details
- Hardcover: 640 pages
- Publisher: Addison-Wesley Professional; 3 edition (c2013)
- Language: English
- ISBN-10: 0321815734
- ISBN-13: 978-0321815736
- Product Dimensions: 1.5 x 6 x 9 inches
- List Price: $69.99