The driving force in object-oriented analysis to use the concept of specialization/generalization is polymorphism: the capability
and need to reason about the union of the sets of objects of the specialization classes. Hereby features will be defined at
the appropriate place. The fact that classes have common features is not a sufficient condition to generalize. The principle
of strengthening specifications of features is an indispensable rule to manage class hierarchies. From the viewpoint of polymorphism,
multiple specialization/generalization is only a logical extension of this modeling concept and not an optional or exotic
one. Further, we discuss some guidelines to build sound class hierarchies, such as using (multiple) partitions.
Research Assistant of the Fund for Scientific Research. Flanders (Belgium) (FWO. Vlaanderen)