"Software developers have often adopted specific architectural patterns for system organization - but, for the most part, informally. In this book, authors Mary Shaw and David Garlan discuss the formalization of what, until now, has been "a substantial folklore of system design, with little consistency or precision."" "With their unique perspective on the current state of software architecture and its impact on design, the authors provide useful information for several types of readers: Professional software developers will find new ideas in the discussion and evaluation of familiar patterns. Students will find useful techniques for approaching system organization from an architectural point of view, rather than following current fads or outmoded methodology. Educators will find the book helpful as a text for a software architecture course or as a supplemental text for courses in software engineering or software design." "This book also includes hints for choosing a suitable architecture, the use of well-understood paradigms for designing new systems, how formal notation and models can characterize system design, and the study of actual system architectures as models for new designs."--BOOK JACKET.