Author: Rick Kazman
Publisher: Addison-Wesley Professional
Designing Software Architectures is the first step-by-step guide to making the crucial design decisions that can make or break your software architecture. SEI expert Rick Kazman and Dr. Humberto Cervantes provide comprehensive guidance for ensuring that your architectural design decisions are consistently rational and evidence-based. Drawing on their own extensive experience, they demonstrate how to craft designs that are practical and effective, and support all phases of architectural development, from requirements to documentation. You'll learn how to successfully integrate the design process in an organizational context, including designing systems that will be built with agile methods. The authors begin with a general review of software architecture concepts and the software architecture lifecycle. Next, they explain what architecture design really means, introduce key design concepts and principles, and walk through both conventional and alternative design processes. Building on this foundation, they introduce the new Attribute-Driven Design (ADD) 3.0 process, walk the reader through two extended ADD 3.0 case studies, and demonstrate how ADD 3.0 can lead to more successful designs. You'll learn how to scale design and analysis up and down - for example, to design for pre-sales processes and lightweight architecture reviews. Kazman and Cervantes illuminate the relationships between analysis and design, introduce a set of reusable design primitives, and identify issues and solutions for new domains, including cloud, mobile, and big data. Design is the core activity for software designers and architects, but for most practitioners, it's been a black art. This book offers the systematic guidance you need to consistently do it rationally, and do it right.