Exceptional use cases

Many exceptional situations arise during the execution of an application. When developing dependable software, the first step is to foresee these exceptional situations and document how the system should deal with them. 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 all 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. Means are defined for detecting the occurrence of all exceptional situations, and the exceptional interaction between the actors and the system necessary to recover from such situations is described 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.

[1]  Jörg Kienzle,et al.  A Survey of Software Development Approaches Addressing Dependability , 2004, FIDJI.

[2]  Jörg Kienzle,et al.  Model-Driven assessment of use cases for dependable systems , 2006, MoDELS'06.

[3]  Ivar Jacobson,et al.  Object-oriented development in an industrial environment , 1987, OOPSLA '87.

[4]  Jörg Kienzle,et al.  A modelling and simulation based approach to dependable system design , 2005, MoDELS'05.

[5]  Bernhard Rumpe,et al.  «UML»’99 — The Unified Modeling Language , 2003, Lecture Notes in Computer Science.

[6]  Jörg Kienzle,et al.  Addressing concurrency in object-oriented software development , 2006, CASCON.

[7]  Norman Meyrowitz,et al.  Conference proceedings on Object-oriented programming systems, languages, and applications , 1986, OOPSLA 1987.

[8]  Christophe Dony,et al.  Exception handling and object-oriented programming: towards a synthesis , 1990, OOPSLA/ECOOP '90.

[9]  Jørgen Lindskov Knudsen Better Exception-Handling in Block-Structured Systems , 1987, IEEE Software.

[10]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[11]  Shane Sendall,et al.  UML Based Fusion Analysis Applied to a Bank Case Study , 1999, UML.

[12]  John B. Goodenough,et al.  Exception handling: issues and a proposed notation , 1975, CACM.

[13]  Cecília M. F. Rubira,et al.  Exception handling in the development of dependable component‐based systems , 2005, Softw. Pract. Exp..

[14]  Alistair Cockburn,et al.  Writing Effective Use Cases , 2000 .

[15]  Jörg Kienzle,et al.  Exception-Aware Requirements Elicitation with Use Cases , 2006, Advanced Topics in Exception Handling Techniques.

[16]  Rogério de Lemos,et al.  Exception handling in the software lifecycle , 2001, Comput. Syst. Sci. Eng..