Book description
Learn how to create successful architectural designs and improve your current design practices!
Designing Software Architectures, 2nd Edition, provides a practical, step-by-step methodology for architecture design that any professional software engineer can use, with structured methods supported by reusable chunks of design knowledge and rich case studies that demonstrate how to use the methods.
The Attribute-Driven Design method may not have changed since this book's first printing, but almost everything else about the industry has. In this newly updated edition, you will find new chapters on supporting business agility through API-centric design, deployability, cloud-based solutions, and technical debt in design.
Humberto Cervantes and Rick Kazman illuminate best practices for how architects should design complex systems so you can make design decisions in systematic, repeatable, and cost-effective ways. This book will help you become a better, more confident designer who can create high-quality architectures with ease.
The new edition includes:
A clear explanation of the Attribute-Driven Design method
New chapters focused on the technical environments and contexts of contemporary design
Two new case studies on The Hotel Pricing System and Digital Twin Platform
Coverage of current architecture topics like cloud computing, DevOps, and large-scale systems
Methods to make architecture design agile and achievable
Register your product at informit.com/register for convenient access to downloads, updates, and/or corrections as they become available.
Table of contents
- Cover Page
- About This eBook
- Halftitle Page
- Title Page
- Copyright Page
- Dedication Page
- Contents
- Preface
- Acknowledgments
- About the Authors
- 1. Introduction
- 2. Architectural Design
-
3. Making Design Decisions
- 3.1 Making Design Decisions
- 3.2 Design Concepts: The Building Blocks for Creating Structures
- 3.3 Design Concepts to Support Performance
- 3.4 Design Concepts to Support Availability
- 3.5 Design Concepts to Support Modifiability
- 3.6 Design Concepts to Support Security
- 3.7 Design Concepts to Support Integrability
- 3.8 Summary
- 3.9 Further Reading
- 3.10 Discussion Questions
-
4. The Architecture Design Process
- 4.1 The Need for a Principled Method
- 4.2 Attribute-Driven Design 3.0
- 4.3 Applying ADD to Different System Contexts
- 4.4 Identifying and Selecting Design Concepts
- 4.5 Producing Structures
- 4.6 Defining Interfaces
- 4.7 Creating Preliminary Documentation During Design
- 4.8 Tracking Design Progress
- 4.9 Summary
- 4.10 Further Reading
- 4.11 Discussion Questions
- 5. API-centric Design
- 6. Designing for Deployability
- 7. Designing Cloud-Based Solutions
- 8. Case Study: Hotel Pricing System
- 9. Case Study: Digital Twin Platform
- 10. Technical Debt in Architectural Design
- 11. Analysis in the Design Process
- 12. The Architecture Design Process in the Organization
- 13. Final Thoughts
- Appendix. Tactics-Based Questionnaires
- Index
- From Ch. 4 of Designing Software Architectures, First Edition: Case Study: FCAPS System
- From Ch. 5 of Designing Software Architectures, First Edition: Case Study: Big Data System
- From Ch. 6 of Designing Software Architectures, First Edition: Case Study: Banking System
- From Appendix A of Designing Software Architectures, First Edition: A Design Concepts Catalog
- Code Snippets
Product information
- Title: Designing Software Architectures: A Practical Approach, 2nd Edition
- Author(s):
- Release date: June 2024
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780138108069
You might also like
book
Software Architecture in Practice, 4th Edition
The Definitive, Practical, Proven Guide to Architecting Modern Software--Fully Updated with New Content on Mobility, the …
book
Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems
Harness the Power of the Multi-Dimensional Coupling Model as a Tool for Architecting Modular, Evolvable Software …
audiobook
Fundamentals of Software Architecture: An Engineering Approach
Salary surveys worldwide regularly place software architect in the top 10 best jobs, yet no real …
book
Effective Software Architecture: Building Better Software Faster
Leverage software architecture as an effective tool for product development and build better software faster. Effective …