Scrum framework focuses totally on how the end user will interact with the software. Use cases help to describe how an end user utilizes the system.
What is a Use Case?
A use case represents a description of the ways an end-user wants to utilize a system. They capture the possible ways the user and system can interact in order to allow the user to achieve the goal. Use cases also consider all the things that can go bad during the process that stop the user from achieving the goal.
In addition, use Cases capture user point of view while describing functional requirements of the system. They outline the step by step process a user goes through to complete that goal using a software system.
In fact, use case defines how the software will interact with the users and other systems. In the scrum framework, the requirements are gathered throughout the project. The requirements are written before starting one component of the software development. Use cases can combine several requirements into one scenario.
The difference between User Stories and Use Cases
User stories usually begin the same way as use cases. They describe one way to use the system, with a specific goal. In fact, a user story usually uses the language of the business, but it does not describe all aspects. User Stories contain goal and acceptance criteria. They also contain different elements: an actor, flow of events and post conditions. Whereas a complete use case template can contain many more other elements.
User story may have less details than use case. In fact, user stories deliberately exclude a lot of important details. They are meant to produce conversations by asking questions during scrum meetings. User stories require small increments to obtain feedback more frequently, rather than having more detailed up-front requirement specification as in use cases.
Keep in mind
The definition of a use case requires a textual description of the functionality provided by the system. Basically, it captures the interaction between the actor and the system. It specifies how a user interacts with a system and how the system responds to the user actions.