A system can be described by one or more models, possibly from different viewpoints. The following definitions are by influential writers in this field. They are organized chronologically, with the most recent first.
Architecture is the organizational structure of a system.
An architecture can be recursively decomposed into parts that interact through interfaces, relationships that connect parts, and constraints for assembling parts. Parts that interact through interfaces include classes, components and subsystems. Bass, Clements, and Kazman. The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them. Dewayne E. Perry and Alexander L. Wolf.