UML data models from an ORM perspective: Part 6

By Dr Terry, Dr. Terry Halpin · 2007

classes are realized only through their descendants. Concrete classes may be directly instantiated. This distinction seems to have little relevance at the conceptual level, and is not depicted explicitly in ORM. For code design however, the distinction is important (e.g. abstract classes provide one way of declaring interfaces, and in C++ abstract operations correspond to pure virtual operations, while leaf operations map to nonvirtual operations). For further discussion, see [3, pp. 858 ] and [1, pp. 125-6]. Subtype definitions Like other ER notations, UML provides only weak support for defining subtypes. A discriminator label may be placed near a subtype arrow to indicate the basis for the classification. For example, Figure 3 includes a "sex" discriminator to specialize Person into MalePerson and FemalePerson. The UML standard [7] says that the discriminator names a "a partition of the subtypes of the superclass". In formal work, the term "partition" usually implies the division i...

Read the paper · More papers on PaperTik