Architecture defined (yet again)
Software architecture encompasses the set of significant decisions about the organization of a software system
- selection of the structural elements and their interfaces by which a system is composed
- behavior as specified in collaborations among those elements
- composition of these structural and behavioral elements into larger subsystem
- architectural style that guides this organization