Software Architecture
Validated
Definitions
[...] software architecture involves the description of elements from which systems are built, interactions among those elements, patterns that guide their composition and constraints on these patterns. [...] a particular system is defined in terms of a collection of components and interactions among these components.
Book: M. Shaw, D. Garlan. "Software Architecture: Perspectives on an Emerging Discipline". Prentice Hall, 1996. [ACM DL]
The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both.
Book: L. Bass, P. Clements, R. Kazman. "Software Architecture in Practice". Addison-Wesley Professional, 3rd edition, 2012. [ACM DL]