Problem Analysis  «Prev 

Modeling generalization and Customer generalization

Begin with a problem statement that describes customers

Identify the properties of customer from the problem statement

Place all properties into a class definition

Select a subclass for each value of the discriminator

Create a subclass to the superclass with a generalization association

Identify the properties that are not common to all types of customers.
Move the unique properties down to the subclasses that they describe.

Please note that this example used only attributes. However, the process includes distribution of operations and methods (operation implementations) as well. This too will be covered in the design part of this series.