Abstract

Scenarios, in most situations, are descriptions of required interactions between a desired system and its environment, which detail normative system behaviour. Our studies of current scenario use in requirements engineering have revealed that there is considerable interest in the use of scenarios for acquisition, elaboration and validation of system requirements. However, scenarios have seldom been used to study inappropriate or exceptional system behaviour. To account for non-normative or undesired system behaviour, it is vital to predict (‘what can go wrong’) and explore the existence or occurrence of ‘exceptions’ in a scenario when the system1 might be prevented from delivering the required service. Identification of exceptions and inclusion of additional requirements to prevent their occurrence or mitigate their effects yield robust and fault-tolerant design solutions.

In this article, we present a prototype software tool called CREWS–SAVRE for systematic scenario generation and use. We describe the innovative features of the tool and demonstrate them with an example of tool’s use. Further, we have identified three kinds of exceptions: generic, permutation and problem exceptions, and have derived complex taxonomies of problem exceptions. We have populated SAVRE with the taxonomies of generic, permutation and problem exceptions. The exceptions can be chosen by the requirements engineer to include them in the generated scenarios to explore the correctness and completeness of requirements. In addition, the taxonomies of problem exceptions can also serve as checklists and help a requirements engineer to predict non-normative system behaviour in a scenario.