This document discusses software architecture and defines key terms:
1. Software architecture defines the structure of a system, including elements, their properties, and relationships. However, an architecture diagram alone does not provide all details about elements and relationships.
2. Architectural patterns describe common element and relationship types with constraints, defining families of architectures. Reference architectures map functionality to software elements and data flows.
3. Architecture represents a common abstraction for stakeholders and constrains implementation while influencing quality attributes and change management.