A Lightweight Sanity Check for Implemented Architectures
Eric Bouwers, Arie van Deursen · IEEE Software · 2010
Software architecture has been loosely defined as the organizational structure of a software system, including the components, connectors, constraints, and rationale.1 Evaluating a system's software architecture helps stakeholders to check whether the architecture complies with their interests. Additionally, the evaluation can result in a common understanding of the architecture's strengths and weaknesses. All of this helps to determine which quality criteria the system meets because "architectures allow or preclude nearly all of the system's quality attributes."2