Source: Model Driven Solutions ( Cory Casanave)
Use of abstraction is an essential part of design. One way UML supports abstraction is with abstract classes and their subclasses. For semantic clarity and precision, associations are defined on these abstract classes.
However, when presented to stakeholders the view frequently needs to be "flattened" to more concrete classes Such concrete classes that subclass more abstract classes may show inherited properties and operations without showing the abstractions. The same is not true of associations - there is no way to show associations between concrete classes that are derived from abstract classes. This results in the abstractions becoming confusing and/or incomplete. Not all people can follow the abstractions.
The suggested resolution is, on a class diagram, to allow associations to be shown between classes where that association is defined between supertypes of the more concrete classes. This "inherited association" should have some visible marker, such as a greyed out line.
The result would be a "flattened view" of an abstract hierarchy more accessible to stakeholders only interested in the more concrete representation.
Reported: UML 2.5 — Thu, 4 Feb 2016 21:06 GMT
Updated: Tue, 9 Feb 2016 14:46 GMT
UMLR — No notation for associations defined for abstract classes
- Key: UMLR-658
- OMG Task Force: UML 2.6 RTF