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.
The book is divided into four parts, roughly ...