Page 8 - DCAP308_OBJECT_ORIENTED_ANALYSIS_AND_DESIGN
P. 8
Object Oriented Analysis and Design
Notes one another. The object-oriented paradigm is currently the most popular way of analysing,
designing, and developing application systems, especially large ones. Labelling something as
‘object-oriented’ implies that objects play a central role, and we elaborate this further as a
perspective that views the elements of a given situation by decomposing them into objects and
object relationships. In this unit, we will discuss the concept of object orientation and discuss
object oriented development and object oriented themes.
1.1 Object Orientation (OO)
In the past, information systems used to be defined primarily by their functionality: data and
functions were kept separate and linked together by means of input and output relations.
Object-oriented Approach means organizing software as a collection of discrete objects that
incorporate both data structure and behavior. The object-oriented approach, however, focuses
on objects that represent abstract or concrete things of the real world. These objects are first
defined by their character and their properties which are represented by their internal structure
and their attributes (data). The behaviour of these objects is described by methods (functionality).
Object orientation (OO), or to be more precise, object-oriented programming, is a
problem-solving method in which the software solution reflects objects in the real world.
The term object-oriented (OO) signifies that we organize software as a collection of discrete
objects that incorporate both data structure and behavior. This contrasts with previous
programming approaches in which data structure and behavior are only loosely connected.
There is some dispute regarding exactly what characteristics are needed by an object oriented
approach, however they generally include aspects such as identity, classification, inheritance,
polymorphism, etc.
Terms that are used universally in object orientation are:
Objects: An object is a section of source code that contains data and provides services. The
data forms the attributes of the object. The services are known as methods (also known as
operations or functions). Typically, methods operate on private data (the attributes, or
state of the object), which is only visible to the methods of the object. Thus the attributes
of an object cannot be changed directly by the user, but only by the methods of the object.
This guarantees the internal consistency of the object.
Objects are a concept, abstraction, or item with clear boundaries and meaning for the
problem domain.
Objects have:
Unique identity
State
Behavior
Objects can be concrete or conceptual, conceptual objects are pure abstractions that serve
some specific purpose for a system. Objects are instances of classes. The set of activities
that the object performs defines the object’s behavior.
Example: A “StudentStatus” object can tell you its grade point average, year in school,
or can add a list of courses taken. A “Student” object can tell you its name or its address.
Classes: Classes describe objects. From a technical point of view, objects are runtime
instances of a class. In theory, you can create any number of objects based on a single class.
2 LOVELY PROFESSIONAL UNIVERSITY