Software Engineering Institute Carnegie Mellon

About the logo

SEI Series in Software Engineering: Software Architecture and Product Lines

The Product Line Systems Program of the Software Engineering Institute is proud to be represented by the following books. They are published by Addison-Wesley, as part of the SEI Series in Software Engineering.



Documenting Software Architectures: Views and Beyond, by Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Robert Nord, and Judith Stafford

This book is a practical guide to documenting software architectures. The goal of is to provide a readable reference for software practitioners to use when creating and using software architecture documents. The approach takes advantage of the concept of architectural views, but goes beyond that go incorporate other essential information that applies beyond any single view. A comprehensive sample documentation package is included.

A course based on this book is available.


Evaluating Software Architectures: Methods and Case Studies, by Paul Clements, Rick Kazman, and Mark Klein.

This book is a comprehensive, step-by-step guide to software architecture evaluation, describing specific methods that can quickly and inexpensively mitigate enormous risk in software projects. The methods are illustrated both by case studies and by sample artifacts put into play during an evaluation: viewgraphs, scenarios, and final reports--everything you need to evaluate an architecture in your own organization.

A course based on this book is available.


Software Product Lines: Practices and Patterns, by Paul Clements and Linda Northrop.

Building product lines from common assets can yield remarkable improvements in productivity, time to market, product quality, and customer satisfaction. This book provides a framework of specific practices, with detailed case studies, to guide the implementation of product lines in your organization.

A course based on this book is available.


Building Systems from Commercial Components, by Kurt Wallnau, Scott Hissam, and Robert Seacord.

Commercial components are increasingly seen as an effective means to save time and money in building large software systems. However, integrating preexisting components, with preexisting specifications, is a delicate and difficult task. This book describes specific engineering practices needed to accomplish that task successfully, illustrating the techniques described with case studies and examples.


Software Architecture in Practice, 2nd Edition, by Len Bass, Paul Clements, and Rick Kazman.

This book 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. In addition to covering the essential technical topics for designing, specifying, and validating a system, this book also emphasizes the importance of the business context in which large systems are designed. Case studies that describe successful architectures illustrate key points of both technical and organizational discussions.

A course based on this book is available.