We can make an
abstraction that would separate the way the procedure would be used from the details of
how the procedure would be implemented in terms of more primitive procedures. The analogous
notion for compound data is called
data abstraction. Data abstraction is a methodology that
enables us to isolate how a compound data object is used from the details of how it is
constructed from more primitive data objects.
The basic idea of data abstraction is to structure the programs that are to use compound
data objects so that they operate on "
abstract data ." That is, our programs should use
data in such a way as to make no assumptions about the data that are not strictly necessary
for performing the task at hand. At the same time, a "
concrete" data representation
is defined independent of the programs that use the data.
Levels of abstraction :
Each step in software process is a refinement in the level of abstraction of the software solution .
Higher Level
More and more details are ignored with higher levels of abstraction as it is a relative concept .
Lower Level
While a more general look of a concept is given with lower levels of abstraction with introducing more details .
Highest Level
A solution is stated in broad terms using the language of the problem environment .
Lowest Level
The solution is stated in a manner that can be directly implemented.
Source code generated at this level .