Abstraction is the process of recognizing and focusing on important
characteristics of a situation or object and leaving/filtering out the
un-wanted characteristics of that situation or object.
Let’s take a person as
example and see how that person is abstracted in various situations
· A doctor sees (abstracts) the person as
patient. The doctor is interested in name, height, weight, age, blood
group, previous or existing diseases etc. of a person.
· An employer sees (abstracts) a person as
Employee. The employer is interested in name, age, health, degree of
study, work experience etc. of a person.
It’s through abstraction we define the
essential aspects of a system. The process of identifying the
abstractions for a given system is called as Modelling (or
object modelling).
In the above example, the doctor may not be
interested in characteristics of a person on which the employer is interested
in and vice versa.
Both employer and doctor will not be
interested in all the characteristics of a person
(like the color of dress the person wears on a particular day, the food the
person takes, the relatives of the person etc.).
But however some elements are common to both
doctor and the employer (like name, age, height etc.). This common
element gives way to generalization. i.e., if we
eliminate enough details of an abstraction, it become so generalized that it
can be applied wide in range of situations.
In real world, there are millions of
abstractions possible and many are complex in nature.
The complexities of abstractions are handled by
systematically classifying and generalizing the abstractions based on some
pre-defined criteria. This process is known as classification.
Classification
builds up a hierarchy and it called as abstract hierarchy.
A "person" abstraction for a hospital information
system would be different from a person abstraction for a library information
system and even with hospital information system, person abstraction may
be different for different projects.
No comments:
Post a Comment