Software Architecture = a set of rules, guidelines, interfaces, and conventions used to define how components and applications communicate and interoperate with eachother ...

see patterns


slide: Software Architecture