next up previous
Next: Quality Assurance Up: Requirements Gathering Previous: Introduction

       
Models

The distinction between declarative and imperative knowledge is well argued in computer science circles, especially in the field of artificial intelligence. Declarative knowledge represents the ``what'' knowledge, while imperative knowledge represents the ``how'' knowledge. Both are needed to gain full understanding.

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.


  
Figure C.1: Three Basic Models
\resizebox{\textwidth}{!}{\includegraphics[bb=35 36 756 577,height=10.014in,width=7.5in]{models.eps}}


  
Figure C.2: Declarative and Imperative Knowledge
\resizebox{\textwidth}{!}{\includegraphics[bb=35 36 756 577,height=10.014in,width=7.5in]{knowledge.eps}}


  
Figure C.3: Quality Assurance as Validation
\resizebox{\textwidth}{!}{\includegraphics[bb=35 36 756 577,height=10.014in,width=7.5in]{validation.eps}}


next up previous
Next: Quality Assurance Up: Requirements Gathering Previous: Introduction
Ronald LeRoi Burback
1998-12-14