Design constraints are factors that restrict the options the architect can use to satisfy the design requirements. Once the functional and nonfunctional requirements have been identified, they are separated. The nonfunctional requirements that define how requirements must be satisfied become the constraints on the design.
Design constraints include the following:
- Technology constraints, such as hardware vendors, software solutions, and protocols
- Operational constraints, such as performance and accessibility
- Financial constraints, such as budgets
Unlike functional requirements, the constraints and nonfunctional requirements may change during the design process. This holds true, especially if the constraint introduces risks into the design. For example, if an identified constraint that requires a specific model of hardware to be used prevents the...