Usage scenarios capture the system's requirements in the users' business context, using a narrative or story format. They also describe necessary tasks and serve to document the series of steps required to complete a business function. Usage scenarios and the use cases from which they are derived should describe an application's expected behavior in multiple business processes. Gathering this information requires sitting down with users and determining every possible scenario for a specific function. Documenting usage scenarios might seem tedious and not as much fun as drawing stick figures, but it is helpful in finding possible missing conditions.
The project team can use the usage scenarios to keep its focus on the real problem to be solved. Usage scenarios should also provide a conceptual description of what the application must do and provide the basis for the logical design of components in the application. Also, even if some previously undiscovered interaction is identified later, new use cases can be incorporated into the design.
To see how a usage scenario works, take the simple process of a customer logging on to the Billington Web site (see Figure 3.5) and walk through what a usage scenario might look like:
Figure 3.5 The logon function.
Finally, it is important to remember that the scope of use cases is not created while defining the system requirements and then forgotten. Use cases come into play throughout the development life cycle, from the requirements phase to system testing, through the analysis, design, implementation, and documentation stages. Besides, a good stick figure is a terrible thing to waste.