[1] An architecture description is a formal description and representation of a system, organized in a way that supports reasoning about the structures and behaviors of the system.
These representations initially describe a general, high-level functional organization, and are progressively refined to more detailed and concrete descriptions.
System architecture conveys the informational content of the elements consisting of a system, the relationships among those elements, and the rules governing those relationships.
The architectural components and set of relationships between these components that an architecture description may consist of hardware, software, documentation, facilities, manual procedures, or roles played by organizations or people.
Several types of systems architectures (underlain by the same fundamental principles[14]) have been identified as follows:[15]