A Practical Approach
Humberto Cervantes, Rick Kazman

#Software_Architectures
#ADD
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:
Table of Contents
CHAPTER 1 Introduction
CHAPTER 2 Architectural Design
CHAPTER 3 Making Design Decisions
CHAPTER 4 The Architecture Design Process
CHAPTER 5 API-centric Design
CHAPTER 6 Designing for Deployability
CHAPTER 7 Designing Cloud-Based Solutions
CHAPTER 8 Case Study: Hotel Pricing System
CHAPTER 9 Case Study: Digital Twin Platform
CHAPTER 10 Technical Debt in Architectural Design
CHAPTER 11 Analysis in the Design Process
CHAPTER 12 The Architecture Design Process in the Organization
CHAPTER 13 Final Thoughts
About the Authors
Humberto Cervantes is a practicing software architect and a professor at Universidad Autónoma Metropolitana Iztapalapa in Mexico City. His primary research interest is software architecture and, more specifically, the development of methods and tools to aid in the design process. He is active in promoting the adoption of these methods and tools in the software industry. Since 2006, Cervantes has collaborated with several software development companies as a consultant and a software architect. He has worked in several projects for different industries, including telecommunications, hospitality, finance, and retail. He has authored numerous research papers and popularization articles, and has also co-authored one of the few books in Spanish on the topic of software architecture. Cervantes received a master’s degree and a PhD from Université Joseph Fourier (now Université Grenoble Alpes) in France. He holds the Software Architecture Professional and ATAM Evaluator certificates from the Software Engineering Institute. Besides software engineering, Cervantes enjoys spending time with his loved ones, playing with his dogs, exercising, and traveling.
Rick Kazman is the Danny and Elsa Lui Distinguished Professor of Information Technology Management at the University of Hawaii and a Visiting Researcher at the Software Engineering Institute of Carnegie Mellon University. His primary research interests are software architecture, design and analysis tools, software visualization, and technical debt. Kazman has been involved in the creation of several highly influential methods and tools for architecture analysis, including the ATAM (Architecture Tradeoff Analysis Method) and the Titan and DV8 tools. He is the author of more than 250 publications, co-author of three patents and nine books, including Software Architecture in Practice, Technical Debt: How to Find It and Fix It, Designing Software Architectures: A Practical Approach, Evaluating Software Architectures: Methods and Case Studies, and Ultra-Large-Scale Systems: The Software Challenge of the Future. His methods and tools have been adopted by many Fortune 1000 companies and has been cited more than 30,000 times, according to Google Scholar. He is currently a member of the IEEE Computer Society’s Board of Governors, and a member of the ICSE Steering Committee.









