Exception-Aware requirements elicitation with use cases

  • Authors:
  • Aaron Shui;Sadaf Mustafiz;Jörg Kienzle

  • Affiliations:
  • School of Computer Science, McGill University, Montreal, Quebec, Canada;School of Computer Science, McGill University, Montreal, Quebec, Canada;School of Computer Science, McGill University, Montreal, Quebec, Canada

  • Venue:
  • Advanced Topics in Exception Handling Techniques
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

During the execution of an application many exceptional situations arise that interrupt the normal interaction of the system with its environment. When developing dependable software, the first step is to foresee these exceptional situations and document how the system should deal with them. Any such exception that is not identified during requirements elicitation might potentially lead to an incomplete system specification during analysis, and ultimately to an implementation that lacks certain functionality, or even behaves in an unreliable way, or in a way that is not expected by the users of the system. This paper outlines an approach that extends use case based requirements elicitation with ideas from the exception handling world. After defining the actors and the goals they pursue when interacting with the system, our approach leads a developer to systematically investigate possible exceptional situations that the system may be exposed to: exceptional situations arising in the environment that change user goals and system-related exceptional situations that threaten to fail user goals. The process requires the developer to specify means that detect such situations, and define the recovery measures, i.e. the exceptional interaction between the actors and the system, necessary to recover from such situations in handler use cases. To conclude the requirements phase, an extended UML use case diagram summarizes the standard use cases, exceptions, handlers and their relationships. In addition, all exceptional situations are carefully documented in an exception table.