The theory and practice behind software architectural knowledge management (SAKM) and design decisions are explained in this book.
Following an introductory section, the book is divided into three parts. The first part describes the core concepts, such as architectural knowledge and categories, styles or patterns, reuse and codifications of designs, process, products, and strategies for managing and sharing architectural knowledge. The second part describes techniques and supporting tools used to manage and share architectural knowledge. It first describes how use cases are employed to capture and formalize the essential components of an AKM system, and then covers tools that support use cases related to AKM. Part 3 describes the network-driven techniques that have been used for creating, sharing, and managing AK. Finally, it elaborates on practical experiences and lessons learned by using AKM systems. The practical aspects of AKM are examined in systems such as open-source FLOSS and service-oriented architecture (SOA).
The book is well organized and well written. Its main contribution revolves around the compilation of bodies of work relevant to the codification, presentation, reuse, and management of architectural knowledge. The book can be used as a complement to the original works on architectural knowledge codification and design guidance tools, as discussed by Shaw and Garlan [1].