This book was the textbook for a introduction course to software architecture. I found the textbook quite helpful in learning architectural principles.
The core chapters of the book are the first 6 chapters, which provided a strong foundation of knowledge. Chapter 1 introduces the topic by discussing architecture definition, abstraction, views and non-functional requirements plus others. Chapter 2 introduces the study study utilized throughout the book. I got alot out of chapters 3 & 4. Chapter 3 discusses software quality attributes that an architecture should take into consideration. Quality attribute are characteristics of an architecture design rather than capability. Quality attributes are such items as scalability, modifiability, security, performance, portability, etc. Chapter 4 discusses architecture design patterns and technologies applicable to architecture design. Chapter 5 discusses development cycle for defining your software architecture. Chapter 6 discusses how to document the architecture design.
I thought chapter 6 was a bit light in discussing architecture documentation. In the course where this book was the textbook, there was much time spent discussing views and viewpoints. I think chapter 6 should have delved deeper into the view discussion.
I thought the author did an excellent job with this book. There are many different types of software architectures that can be built. Therefore, readers would becoming various technological perspectives in reading this book. I felt he discussed the topics in the chapters in a way that was applicable to this wide audience.