OOPortal OOPortal


Design Concepts  «Prev  Next»
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

Click the Exercise link to describe an object (an automobile) for three different purposes.
Describe Object using Abstraction - Exercise