Software Architecture is the high-level structure of a software system, including its components, responsibilities, interfaces, constraints, and key design decisions.
Architecture guides implementation, deployment, quality attributes, integration, security, maintainability, and documentation.
Related concepts include Architectural Pattern, Design Pattern and Software Cohesion.