Lesson 2 | Abstraction |
Objective | Define the Process and Goal of Abstraction |
Process and Goal Abstraction
Each model object we create is an abstraction of a real object. There is an almost infinite amount of information about any real object. But
how much of that information is really needed? Here are three closely related criteria that can help you decide what information is really
needed.
Context
The first criterion is the context. Who will use the object? Why do they need the object? For example, if the object is a room, does the
client need to know the dimensions? In a drafting context, the dimensions are essential. In the context of a hotel reservation system, the
dimensions would not be needed.
Level of detail
Next ask, "How much detail do I need?"
For example, cars have engines. A car salesman might need to know a car's engine size,
but probably does not need to know the type of carburetor it has.
On the other hand, a mechanic would need to know about the carburetor and much more.
Time frame
Next ask,
How long do I need to track the object?
In a
product engineering application, you need to know only what the design
options are. However, when the product is being manufactured, you need information such as cost of production and the length of time to
produce it.
In short, to create an abstraction means to represent a real entity in a useful manner for a specific problem. Questions about context, level
of detail, and time frame help determine whether the representation you create is
useful for the
specific problem you are
solving.
Describe Object using Abstraction - Exercise