A use case describes a problem and its solution on a NarrativeLevel
. Often it is easier for people to list a number of example situations instead of trying to explain what the underlying problem is. Describing a problem using a list of use-cases also leaves the solution up to the developers; in fact, the implementation of a solution can be exchanged for another without changing the problem description.
A use-case is focused on the user experience. Hopefully this ensures that usability is appropriately taken into account.