Software architecture

Definition
software architecture is

{{Quote|the structure or structures of the system. This structure includes software components, the externally visible properties of those components, the relationships among them and the constraints on their use.