A model is a representation of a real-world system. A model may use simplifying assumptions and approximations to capture only a portion of the real-world system. Given a sequence of inputs, the model makes a prediction. If these predictions match the real-world's systems reactions to the corresponding inputs, then the model is validated.
The customer has real-world needs. Requirement gathering generates a declarative model of the customer's needs. The architecture and implementation phases transform the declarative model into an imperative model. The testing phase assures that the generated imperative model matches and predicts the customer's real-world needs as expressed in the requirement's declarative model.
See Figure C.1 on page for the three basic models of a real-world customer needs. See Figure C.2 on page for the correspondence between the three basic models and declarative and imperative knowledge. See Figure C.3 on page for the validation role of quality assurance.