What is software architecture?
The software architecture of a program or computing system is the structure or structures of the system, which comprises software methods, the externally visible properties of those methods and the relationships between them.