Use Cases help shape and define interactive systems by suggesting all of the different ways users may interact with a system. They describe a system's behavior in response to a request by the user. They identify which users are involved, desirable behaviors, and undesirable behaviors. Use Case Lists document a comprehensive list of program functionality. Use Case Scenarios document a detailed narrative between the users and the system by providing the step by step procedures to complete sequences of interactions.