5.1 The Task Model of Software
5.1.1 Modeling – What and Why
This opening section might, at first, seem to be somewhat academic, far removed from the reality of software and software engineering. Not so. It does, in fact, deal with a very practical and important topic: the use of models as part of the design process. However, before going further, we need to answer two key questions:
- What is a model?
- Why do we use models?
A model, in our view, is a "representation of reality." Although that sounds pretty abstract (and not especially helpful), it actually gets to the heart of the matter. Now, let's make it more meaningful by looking at some tangible items (Figures 5.1, 5.2, and 5.3):
In the auto industry, it is common practice to produce...