Software Architecture
Software architecture is the arrangement of its components
into one or more structures defined by
the functional role played by each component
and the interaction relationships exhibited
by the components.
Key elements: components, connections and behaviors