The core book in SEI's influential architecture curriculum, this book introduces software architecture both for practicing software engineers and for students pursuing careers in software design or management. It combines the authority of SEI's pioneering curriculum with the proven pedagogical effectiveness of a book that's been used for many years in countless training and college courses. The authors provide a comprehensive overview of the field of software architecture in a single, easy-to-digest package. They have improved this edition with a much deeper treatment of architecture throughout the software development life cycle, including detailed coverage of the various contexts within which architecture exists. It will now be accompanied by slides, exercises, and exercise answers - all designed to make it even easier to teach and learn from. Case studies have been moved to a companion website. To make space for these improvements, case studies have been moved to a companion website.
This book will help readers understand: * Why software architecture is critical to development projects and the organization as a whole * Which technical and organizational factors influence architecture, and are in turn influenced by it * How architecture drives quality attributes such as performance and reliability * How to master and choose among today's best architectural tactics
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. He is the coauthor of two award-winning books in software architecture, including Documenting Software Architectures: Views and Beyond, Second Edition (Addison-Wesley, 2011), as well as several other books and numerous papers in computer science and software engineering on a wide range of topics. Len has almost fifty years' experience in software development and research in multiple domains, such as scientific analysis systems, embedded systems, and information systems. 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. Prior to this position, he was Senior Member of the Technical Staff at the SEI, where, for 17 years, he lead or co-lead projects in software product line engineering and software architecture documentation and analysis. Other books Paul has coauthored include Documenting Software Architectures: Views and Beyond, Second Edition (Addison-Wesley, 2011) and Evaluating Software Architectures: Methods and Case Studies, (Addison-Wesley, 2002), and Software Product Lines: Practices and Patterns (Addison-Wesley, 2002). In addition, he has also published dozens of papers in software engineering reflecting his long-standing interest in the design and specification of challenging software systems. Paul was a founding member of the IFIP WG2.10 Working Group on Software Architecture. 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). Rick's primary research interests are software architecture, design and analysis tools, software visualization, and software engineering economics. He is also interested in human-computer interaction and information retrieval. Rick was one of the creators of several highly influential methods and tools for architecture analysis, including the SAAM (Software Architecture Analysis Method), the ATAM (Architecture Tradeoff Analysis Method), the CBAM (Cost-Benefit Analysis Method), and the Dali architecture reverse engineering tool.