Use cases are a powerful tool for presenting information, because they tell a real-life story in a down-to-earth way. A fully developed use case covers the broad scope as well as the gritty details. It shows the system in daily use, with the actors performing their roles.
A use case can portray a great deal of useful information about its subject, from the highly specific, granular details of how users interact with the system, to the preconditions (what has to be in place before the use case starts) and post-conditions (how things look once the use case has been successfully executed). It can also include narratives that describe the detailed, step-by-step user/system interactions in the "basic path" (the workflow that results in the user's needs being met), as well as in alternative paths (e.g., where a user's needs are not met). Use cases may describe business rules, data definitions, and user interface specifications, and a use-case package can present a group of smaller, more detailed use cases.