Systems respond to external signals by carrying out some desired activity, often with varying outcomes depending upon the system's state. Each desired activity is a functional requirement, such as:
A customer can order a book by selecting a book number and quantity.
A customer checks out an open order by entering the credit card number and shipping information.
The credit card company approves or declines a charge.
If the customer's credit card charge is approved, the requested items are packed and shipped to the customer.
Use cases are a tool for organizing system requirements by understanding the interactions between the actors that make a request and the responses, or activities, made by the system. (These terms were ...