| Member of the Month | Click Here for more information about how you can become Member of the Month |
Use Cases
Use cases model the interactions between actors and the system. They represent the business objectives that the system will meet to satisfy the actors. By defining use cases, we can model all of the ways that a system can be used. A use case is a series of steps that a system performs to accomplish a given task for an actor. Use cases can be defined by asking the following types of questions:
- What are the roles of the actors?
- What use cases maintain data?
- What are the roles of the system?
- Are all requirements being met?
Use case discovery is an iterative cycle. Start by defining those use cases that are immediately obvious. Examine the customer requirements to determine the roles and responsibilities of the actors. Discovering and building use cases takes practice but a definition here might help
A use case typically represents a major piece of functionality that is complete from beginning to end. A use case must deliver something of value to an actor.[1]
Using our example, the clerk must add videos, delete videos, and query their status. Would this be one use case or three? I would make it one (maintain videos), since the functionality is started by one actor (clerk) and deals with the same objects in the system (videos). Another example is the customer rents videos and returns videos. Is this one or two use cases? Here I would suggest two different use cases: customer rents video and customer returns video. The difference here is that while the actor (customer) and object (video) are the same, the transaction sequence required most likely won't be accomplished at the same time. A use case represents an end-to-end sequence. Customers don't usually rent the video and return it in the same transaction.
A use case represents a significant process that is complete from beginning to end.
In UML, a use case is represented by an oval.
![]() |
Looking at our problem statement provides the following requirements to be met:
- The Clerk actor needs to be able to add new videos to the system, and remove them when no longer available
- The Clerk actor needs to be able to query the status of a video to determine availability
- The Customer actor needs to be able to rent a video
- The Customer actor needs to be able to return a video
Based on analysis, the following use cases can be defined:
- Maintain video catalog
- Rent Video
- Return Video
[1] Quatrani, Terry. Visual Modeling with Rational Rose 2000 and UML. Addison-Wesley, 2000.


