This book is for software professionals, or students who have knowledge and experience in software engineering. We anticipate three classes of reader:
Practicing software engineers who wish to understand both the technical basis of software architecture and the business and organizational forces that are acting on them.
Technical managers who wish to understand how software architecture can help them to supervise the construction of systems more effectively and improve their organizations.
Students of computer science or software engineering who might use this book as supplemental reading in a first or second software engineering course.