Architectural analysis is the activity of discovering important system properties using the system’s architectural model.
The goals of architectural analysis is categorized into four groups and referred as 4 c’s.
- Completeness is an external and internal analysis goal. It is external with respect to system requirements. The main goal of assessing architecture’s completeness is to establish whether it adequately captures all of the system’s key functional and non-functional requirements. Analyzing architecture for internal completeness establishes whether all of the system’s elements have been fully captured with respect to modeling notation and the system undergoing architectural design.
- Consistency is an internal property of an architectural model which is intended to ensure that different elements of that model do not contradict one another. Some of the inconsistencies in a model include:
- Name inconsistencies: it occurs at the level of components and connectors or their constituent elements such as names of services exported by a component.
- Interface inconsistencies: it include naming inconsistency and other forms of inconsistencies. A components service name might be same as another component but their parameter list may differ.
- Behavioral inconsistencies: it occurs between components that request and provide services whose names and interfaces match but behaviors don’t.
- Interaction inconsistencies: it occurs when a component’s provided operations are accessed in a manner that violates certain interaction constraints.
- Refinement inconsistencies: it stems from the fact that a system’s architecture is frequently captured at multiple levels of abstraction.
- Compatibility is an external property of architectural model, intended to ensure that the model adheres to the design guidelines and constraints imposed by an architectural style, reference architecture or an architectural standard. If architecture must be compatible with a set of semi-formally or informally specified design guidelines, analyzing the architecture for compatibility may be more challenging and outcome of analysis process may also be ambiguous.
- Correctness is an external property of an architectural model. A systems’ architecture is said to be correct if the architectural design decisions fully realize those specifications. The systems implementation is correct if the implementation fully captures and realizes all the principal design decisions comprising the architecture.