Object-Oriented Design
The value of Object-Oriented Design is in allowing major structural decisions to be made before being committed to code. This allows the relationships and responsibilities of classes to be worked out efficiently and with little distraction.
The process of object-oriented design begins with an initial estimate of the classes that will be needed. The usual way to refine this estimate into a detailed object model is to work through the object interactions that are needed to support individual features or use cases.
As you discover each interaction, you add it to an interaction diagram. The most common type of interaction diagram used for this purpose is a sequence diagram. If the interaction involves a method or relationship that does not yet exist in the object mode, you either add it to the model or modify something already in the object model to accommodate the interaction.
What Is a Sequence Diagram?
UML sequence diagrams show a sequence of interactions among objects. Figure 1 shows an example of a sequence diagram.

Figure 1: Simple Sequence Diagram
This diagram shows some of the interactions among the objects involved in running a toll gate in a toll plaza. A TollManager, who is some kind of external actor, causes a TollBooth object's start operation to be called. The start operation runs asynchronously of what the TollManager is doing. You know that it runs asynchronously of what the TollManager is doing because of the open arrowhead.
Read the Rest of this Article at Developer.com