A system’s software architecture is the set of significant design decisions about how the software is organized to promote desired quality attributes and other properties.

Michael Keeling, "Design It"