Designing Software Architectures: A Practical Approach
Designing Software Architectures will teach you how to design any software architecture in a systematic, predictable, repeatable, and cost-effective way. This is the first book dedicated solely to architecture design, and it introduces a practical methodology that any professional software engineer can use, provides structured methods supported by reusable chunks of design knowledge, and includes rich case studies that demonstrate how to use the methods.