在本章中我们会概述软件架构这一主题。我们会简要探讨架构是什么以及为什么必须在软件系统开发时考虑它。我们还会探讨同软件架构开发相关的不同活动和行为,架构设计——本书的主旨——可以理解为以这些活动为背景进行。我们也会简要地讨论架构师这个角色,该角色负责创建设计。最后,我们会引入属性驱动设计(Attribute-Driven Design, ADD)方法,并在本书中大量讨论该架构设计方法。