The most difficult part of any software project is to get what the client wants. Every mind is a whole different world, and this could cause miscommunication problems or giving something by understood without having in mind the discrepancies between the developer and client ideas. Thus, the engineers had to manage to find some way in which the client requirements could be completely understood by the developer; mostly, to represent the software-human interaction, we use the «Use case» technique.

So, What are the use cases?
The use case is a paradigm which describes how a user uses a system to accomplish a particular goal. The goal is to create a model of the system based on the user interactions, in order to define the features to be implemented. You can find the use cases as plain text or a diagram, but the most common one is the diagram so let’s go deep into it.
Use case diagram
The use case diagram is composed by 3 or 4 elements: Actor, use case, system and package (this one is optional).
Actor

Any entity that performs a role in one given system. This could be a person, organization or an external system and is usually drawn like this.
Use case

Represents a function or an action within the system. It’s drawn as an oval and named with the function.
System

The system is used to define the scope of the use case and drawn as a rectangle.
Package

The package is another optional element that is extremely useful in complex diagrams. Similar to class diagrams, packages are used to group together use cases.
Now that you know how to interprete the diagram, check out this example, is so simple that it needs no explanation.
