Overview#Constraints are generally limitations imposed on an a specific Architecture.
Constraints, most commonly referred to as Design constraints, Ldapwiki feels these are more accurately referred to as Architecture Constraints.
There are two common perspectives on the process of architectural design.
The first is that a designer starts with nothing--a blank slate, whiteboard, or drawing board--and builds-up an architecture from familiar design components until it satisfies the needs of the intended system.
The second is that a designer starts with the system needs as a whole, without Constraints, and then incrementally identifies and applies Constraints to elements of the system in order to differentiate the Architecture and allow the forces that influence system behavior to flow naturally, in harmony with the system. (null style)
Where the first emphasizes creativity and unbounded vision, the second emphasizes restraint and understanding of the system context.
Constraints are classified into:
- Functional Requirements - such as specifications of features
- User Experience - to applicable laws, regulations and standards.
- Non-Functional Requirements - Requirements that specify intangible elements of an Architecture. For example, a non-functional requirement that a building be accessible.