Uncover the necessary steps to building successful software applications. Software architecture is emerging as a new discipline in response to the growing complexity of software systems and the problems they attempt to solve. Software is becoming the dominant component of many systems and it is necessary for the software development community to develop new practices, principles, and standards, to manage the growing complexity.
This book attempts to synthesize and distill information so that the practicing software architect, and especially the beginning software architect, can fill in the gaps in their understanding of software architecture design.
The Art of Software Architecture supplies the information and tools necessary to make sound architectural decisions and create effective software architectures. Using examples in Java, XML, SQL, JSP, C++, and UML, this book:
Applies concepts with analysis, design, and architecture patterns
Demonstrates how to apply design patterns to your software design
Presents software architecting independently of any particular engineering process or organization maturity
Includes thorough introductions to and applications of methodologies, design representations and models, technologies, reference models, and architectural frameworks
Review By: Brad Appleton 11/14/2003The book comprises fourteen chapters in all and its subject matter is presented in a very logical ordering. The material is very informative, is good about referencing existing literature, and seems suited for an advanced undergraduate or perhaps graduate course on the subject. Because of the tone and style, the material often seems more academic than practical, but don't let that fool you. There is still a lot of good, practical information here. The content focuses almost entirely on the technical aspects of software architecture and hardly at all on the essential non-technical aspects and skills of being a successful software architect (including leadership, communication, facilitation, etc.).
All in all, The Art of Software Architecture looks to be a very informative book that covers the basics of software architecture, design, and quality that I wish all software developers were "well versed" in before they embark upon their first real-world software development project. The coverage is quite thorough, despite the surprising omission of product-line/product-family architectures and model-driven architecture (MDA). Stephen Albin has helped establish a solid grounding of concepts, concerns, methods, principles, and techniques for successfully communicating about software architecture and software design with other developers and architects. At the same time, although the book covers a broad subject very well with pragmatic principles and methods, it still comes across as very academic. I was however pleasantly surprised that the book was a bit more practical and a bit less academic than it seems on its face.
I would recommend this book very highly as a comprehensive overview and introduction to the technical acumen and technical knowledge that I think all good software architects should possess. I highly recommend The Art of Software Architecture as a comprehensive overview providing a solid grounding of the concepts, principles and techniques of software architecture. It is an excellent technical reference with an unfortunately academic "look and feel" due to insufficient coverage of legacy systems evolution/integration, and the non-technical skills necessary for a complete "software architect's survival guide."