Use cases are a mechanism to help capture these goals and system requirements in a format that simple and understandable for all stakeholders. Informally, they are stories of using a system to meet goals. Here is an example brief format use case:
An excellent resource on use-case is:Process Sale: A customer arrives at a checkout with items to purchase. The cashier uses the POS system to record each purchased item. The system presents a running total and line-item details. The customer enters payment information, which the system validates and records. The system updates inventory. The customer receives a receipt from the system and then leaves with the items.
Use-Case Model: Writing Requirements in Context
Templates you can adapt to your needs are included in this long pdf.
I only started using these for my own project. If you have some experience using use-cases to support your development efforts? What are the benefits? What are the pitfalls.?