Class diagrams provide a static view of the classes in a system. Next diagrams provide a dynamic view and show how the system and its classes change over time.
The static view helps an analyst communicate with a client. The
dynamic view, helps an analyst communicate with a team of developers, and helps the
developers create programs.
Just as the class diagram is a great way to stimulate a client to talk about a system from his or her viewpoint, the use case is an excellent tool for stimulating potential users to talk about a system from their own viewpoints. It's not always easy for users to articulate how they intend to use a system. It's a fact of life that users often know more than they can articulate: The use case helps break the ice.
Interviews with users begin in the terminology of the domain, but should then shift into the terminology of the users. The initial results of the interviews should reveal actors and high-level use cases that describe functional requirement in general terms. this information provides the boundaries and scope of the system.
Later interviews with users delve into these requirement more closely, resulting in use case models that show the scenarios and sequences in detail. This might result in additional use cases that satisfy inclusion and extension relationships. In this phase it is important to your understanding of the domain, because if you don't understand it well you may create too much use cases and that could impede the analysis process.
Use case are collection of scenarios about system use. Each scenario describes a sequence of events. Each sequence is initiated by a person, another system, a piece of hardware, or by the passage of time. Entities that initiate sequences are called actors. The result of the sequence has to be something of use either to the actor who initiated it or to another actor.
It's possible to reuse use cases. One way - inclusion, is to use the steps from one use case as part of the sequence of steps in another use case. Another way - extension, is to create a new use case by adding steps to an existing use case.
Next lessons will guide you through representing a use case model and visualizing
relationships among use cases. At the end an use case example will be given to you.