OBJECT DIAGRAM
Overview:
Although we design and define classes, in a live application classes are not directly used, but
instances or objects of these classes are used for executing the business logic. A pictorial
representation of the relationships between these instantiated classes at any point of time (called
objects) is called an "Object diagram."
It looks very similar to a class diagram, and uses the similar notations to denote relationships. An
object diagram shows a set of objects and their relationship at a point in time.
Object diagrams are derived from class diagrams so object diagrams are dependent
upon class diagrams.
Object diagrams represent an instance of a class diagram. The basic concepts are
similar for class diagrams and object diagrams. Object diagrams also represent the
static view of a system but this static view is a snapshot of the system at a particular
moment. Object diagrams are used to render a set of objects and their relationships
as an instance.
Purpose:
The purpose of a diagram should be understood clearly to implement it practically.
The purposes of object diagrams are similar to class diagrams.
The difference is that a class diagram represents an abstract model consists of
classes and their relationships. But an object diagram represents an instance at a
particular moment which is concrete in nature.
It means the object diagram is more close to the actual system behavior. The
purpose is to capture the static view of a system at a particular moment.
So the purpose of the object diagram can be summarized as:
• Forward and reverse engineering.
• Object relationships of a system
• Static view of an interaction.
• Understand object behavior and their relationship from practical perspective
How to draw Object Diagram?
We have already discussed that an object diagram is an instance of a class diagram.
It implies that an object diagram consists of instances of things used in a class
diagram.
So both diagrams are made of same basic elements but in different form. In class
diagram elements are in abstract form to represent the blue print and in object
diagram the elements are in concrete form to represent the real world object.
To capture a particular system, numbers of class diagrams are limited. But if we
consider object diagrams then we can have unlimited number of instances which are
unique in nature. So only those instances are considered which are having impact on
the system.
Object diagram commonly contain:
• Objects
• Links
From the above discussion it is clear that a single object diagram cannot capture all
the necessary instances or rather cannot specify all objects of a system. So the
solution is:
• First, analyze the system and decide which instances are having important
data and association.
• Second, consider only those instances which will cover the functionality.
• Third, make some optimization as the numbers of instances are unlimited.
Before drawing an object diagrams the following things should be remembered and
understood clearly:
• Object diagrams are consist of objects.
• The link in object diagram is used to connect objects.
• Objects and links are the two elements used to construct an object diagram.
Now after this the following things are to be decided before starting the construction
of the diagram:
• The object diagram should have a meaningful name to indicate its purpose.
• The most important elements are to be identified.
• The association among objects should be clarified.
• Values of different elements need to be captured to include in the object
diagram.
• Add proper notes at points where more clarity is required.
The following diagram is an example of an object diagram. It represents the Order
management system which we have discussed in Class Diagram. The following
diagram is an instance of the system at a particular time of purchase. It has the
following objects
• Customer
• Order
• SpecialOrder
• NormalOrder
Now the customer object (C) is associated with three order objects (O1, O2 and O3).
These order objects are associated with special order and normal order objects (S1,
S2 and N1). The customer is having the following three orders with different
numbers (12, 32 and 40) for the particular time considered.
Now the customer can increase number of orders in future and in that scenario the
object diagram will reflect that. If order, special order and normal order objects are
observed then we you will find that they are having some values.
For orders the values are 12, 32, and 40 which implies that the objects are having
these values for the particular moment (here the particular time when the purchase
is made is considered as the moment) when the instance is captured.
The same is for special order and normal order objects which are having number of
orders as 20, 30 and 60. If a different time of purchase is considered then these
values will change accordingly.
So the following object diagram has been drawn considering all the points mentioned
above:
Where to use Object Diagrams?
Object diagrams can be imagined as the snapshot of a running system at a particular
moment. Now to clarify it we can take an example of a running train.
Now if you take a snap of the running train then you will find a static picture of it
having the following:
• A particular state which is running
• A particular number of passengers. which will change if the snap is taken in a
different time.
So here we can imagine the snap of the running train is an object having the above
values. And this is true for any real life simple or complex system. In a brief, object
diagrams are used for:
• Making the prototype of a system.
• Reverse engineering.
To model object structures:
Modelling object structures involves taking a snapshot of the objects in a system
at a given moment in time. An object diagram represents one static frame in the
dynamic storyboard represented by an interaction diagram.