| This is
the "has a" type of relationship. The objects
on the diamond end "have" the object(s) on the arrow
end of the line. In aggregation, if the object(s) on the
diamond end are "destroyed", the objects on the arrow
end are not destroyed - they can exist separately from the object(s)
on the diamond end.
The
difference between aggregation and composition may be subjective,
especially when dealing with groupings of data objects used in business
document definitions. Does Receipt_Data cease to exist if
Line_Item_Comsumption_Plan ceases to exist? The example below
suggests that if Line_Item_Consumption_Plan is destroyed, Receipt_Data
could still exist by itself. In the second example, both
Replenishment Scenarios "have" Order Model 2 in them. If the
Replenishment Scenarios are destroyed, Order Model 2 could still exist
and be implemented by itself. It could be argued, on the other
hand, that Order Model 2 has no meaning except in the context of a
Replenishment Scenario, and that the "composition" symbol should
be used to indicate that if all the Replenishment Scenarios that use
Order Model
2 are destroyed, then Order Model 2 is destroyed also.
Multiplicity is denoted per
the table below. |