Use cases are a technique for capturing the functional requirements of system.
Use cases work by describing the typical interactions between the users of
a system and the system itself, providing a narrative of how a system is used.
Rather than describe use cases head-on, I find it easier to sneak up on them
from behind and start by describing scenarios. A scenario is a sequence
of steps describing an interaction between a system and a user. So if
we have a Web-based on-line store, we might have a Buy and Product scenario that
would say like this:
The customer browses the catalog and adds desired items to the shopping basket.
When the customer wishes to pay, the customer describes the shipping and credit
card information and confirms the sale. The system checks the authorization on
the credit card and confirms the sale both immediately and with a follow-up email.
This scenario is one thing that can happen. However, the credit card authorization
might fail, and this would be a separate scenario. In another case, you may have
a regular customer for whom you don’t need capture the shipping and credit card
information, and this is a third scenario.
All these scenario are different yet similar. The essence of their similarity is that
in all these three scenarios. the user has the same goal: to buy a product. The user
doesn’t always succeed, but the goal remains. This user goal is the key to user cases:
A use case is a set of scenarios tied together by a common user goal (Fowler, 2004).
http://www.inf.unibz.it/~ryzhikov/HCI/hci_02.pdf
References:
Fowler, M 2004, UML Distilled : A Brief Guide To The Standard Object Modeling Language / Martin Fowler ; [Forewords By Cris Kobryn … [Et Al.]], n.p.: Boston : Addison-Wesley, c2004., University of Southampton Library Catalogue, EBSCOhost, viewed 28 April 2015.