This book introduces the concepts and practice of software architecture-what a system is designed to do, and on how its components are meant to interact with each other. An architecture is an abstract view, distinct from the details of implementation, algorithm, and data representation. Its creation is the first step in designing a system with properties desired by customers, end users, developers, maintainers, and other interested parties. The authors cover here not only essential technical topics for specifying and validating a system, but, for the first time, emphasize the importance of the business context in which large systems are designed. Enhancing both technical and organizational discussions, key points are illuminated by substantial case studies undertaken by the authors and the Software Engineering Institute.
Len Bass is a senior member of the technical staff at the Software Engineering Institute (SEI). He has written or edited five books and numerous papers on software engineering and other topics. He has extensive experience in architecting real-world development projects.
Paul Clements is a senior member of the technical staff at the SEI, where he works on software architecture and product line engineering. He is the author of five books and more than three dozen papers on these and other topics.
Rick Kazman is a senior member of the technical staff at the SEI. He is also an Associate Professor at the University of Hawaii. He is the author of two books, editor of two more, and has written more than seventy papers on software engineering and related topics.
0201199300AB01162003