Page 24 - DCAP308_OBJECT_ORIENTED_ANALYSIS_AND_DESIGN
P. 24
Object Oriented Analysis and Design
Notes Inheritance
Association
Self Assessment
Fill in the blanks:
4. A .................... is an abstraction of something for the purpose of understanding it before
building it.
5. .................... help in understanding problems, communicating with experts from a distance,
modeling enterprises, and designing programs and database.
6. The .................... model is a concise, precise abstraction and agreement on how the desired
system must be developed.
7. At .................... stage, the complete system architecture is designed.
8. The .................... decides the data structures and algorithms needed to implement each of
the classes in the system.
2.3 Abstraction
Abstraction is one of the very important concepts of object oriented systems. Abstraction is a
simplified description, or specification, of a system that emphasizes some of the system’s details
or properties while suppressing others. A good abstraction is one that emphasizes details that
are significant to the reader or user and suppresses details that are, at least for the moment,
immaterial or diversionary. Abstraction focuses on the essential, inherent aspects of an object of
the system. It does not represent the accidental properties of the system. In system development,
abstraction helps to focus on what an object is supposed to do, before deciding how it should be
implemented. The use of abstraction protects the freedom to make decisions for as long as
possible, by avoiding intermediate commitments in problem solving. Most of the modern
languages provide data abstraction. With the abstraction, ability to use inheritance and ability
to apply polymorphism provides additional freedom and capability for system development.
Did u know? When you are using abstraction during analysis, you have to deal with
application-domain concepts. You do not have to design and make implementation
decisions at that point.
One point of confusion regarding abstraction is its use as a process and as an entity. Abstraction,
as a process, denotes the extracting of the essential details about an item, or a group of items,
while ignoring the inessential details. Abstraction, as an entity, denotes a model, a view, or
some other focused representation for an actual item. Abstraction is most often used as a
complexity mastering technique.
For example, we often hear people say things like “just give the highlights” or “just the facts,
please.”
What these people are asking for are abstractions. We can have varying degrees of abstraction,
although these ‘degrees’ are more commonly referred to as ‘levels’.
As we move to higher levels of abstraction, we focus on the larger and more important pieces of
information (using our chosen selection criteria). Another common observation is that as we
move to higher levels of abstraction, we tend to concern ourselves with progressively smaller
18 LOVELY PROFESSIONAL UNIVERSITY