Different ways to view an object Design methods place different values and emphasis on these model aspects. Responsibility-driven design focuses on formulating an object's role before tackling its other dimensions. Design methods with a heritage from data modeling focus on data and structural relationships. Jim Rumbaugh and his colleagues view the OMT method as building upon entity-relationship modeling. Steve Shlaer and Sally Mellor emphasize the internal states of an object and what happens when an object transitions between all states.
All approaches have a particular way of looking at objects.
Let's present an overly simplistic example to contrast various design approaches. The following example is designed to illustrate as well as entertain. Our task is to design an object that represents a horse. We compose a representation of a horse out of parts, each having a structural relation to each other. A procedural or ad hoc approach, in less polite circles, starts designing the computations encapsulated by the horse.