內容簡介 Software architecture is an important factor in ensuring the success of any software project. It provides a systematically designed framework that ensures the fulfilment of quality requirements such as expandability, flexibility, performance, and time-to-market. A software architect's job is to reconcile customer requirements with the available technical options and constraints while designing an overall structure that allows all components of the system to interact smoothly. This book gives you all the basic know-how you need to begin designing scalable system software architectures. It goes into detail on all the most important terms and concepts and how they relate to other IT practices. Following on from the basics, it describes the techniques and methods required for the planning, documentation, and quality management of software architectures. It details the role, the tasks, and the work environment of a software architect, as well as looking at how the job itself is embedded in company and project structures. The book also addresses the tools required for the job. This edition has been updated to conform to the ISO IEC 25010 and ISO IEC IEEE 42010 standards. It also puts increased emphasis on domain-driven design, and looks at contemporary architectures such as microservices. The book is based on the International Software Architecture Qualification Board's Certified Professional for Software Architecture - Foundation Level (CPSA-F) syllabus, version 4.1.1. (July 2017).