Exceptional Use Cases

  • Aaron Shui
  • Sadaf Mustafiz
  • Jörg Kienzle
  • Christophe Dony
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3713)


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.


Requirement Elicitation Exception Handling Case Diagram User Goal Exceptional Situation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Goodenough, J.B.: Exception handling: Issues and a proposed notation. Communications of the ACM 18, 683–696 (1975)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    de Lemos, R., Romanovsky, A.: Exception handling in the software lifecycle. International Journal of Computer Systems Science and Engineering 16, 167–181 (2001)Google Scholar
  3. 3.
    Knudsen, J.L.: Better exception-handling in block-structured systems. IEEE Software 4, 40–49 (1987)CrossRefGoogle Scholar
  4. 4.
    Dony, C.: Exception handling and object-oriented programming: Towards a synthesis. In: Meyrowitz, N. (ed.) 4th European Conference on Object–Oriented Programming (ECOOP 1990). ACM SIGPLAN Notices, ACM Press (1990)Google Scholar
  5. 5.
    Object Management Group: Unified Modeling Language: Superstructure (2004)Google Scholar
  6. 6.
    Jacobson, I.: Object-oriented development in an industrial environment. In: Conference proceedings on Object-oriented programming systems, languages and applications, pp. 183–191. ACM Press, New York (1987)CrossRefGoogle Scholar
  7. 7.
    Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process, 2nd edn. Prentice-Hall, Englewood Cliffs (2002)Google Scholar
  8. 8.
    Cockburn, A.: Writing Effective Use Cases. Addison–Wesley, Reading (2000)Google Scholar
  9. 9.
    Sendall, S., Strohmeier, A.: UML-based fusion analysis. In: France, R.B., Rumpe, B. (eds.) UML 1999. LNCS, vol. 1723, pp. 278–291. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  10. 10.
    Kienzle, J., Sendall, S.: Addressing concurrency in object-oriented software development. Technical Report SOCS-TR-2004.8, McGill University,Montreal, Canada (2004)Google Scholar
  11. 11.
    Rubira, C.M.F., de Lemos, R., Ferreira, G.R.M., Fliho, F.C.: Exception handling in the development of dependable component-based systems. Software — Practice & Experience 35, 195–236 (2004)CrossRefGoogle Scholar
  12. 12.
    Shui, A.: Exceptional use cases - Master Thesis, School of Computer Science, McGill‘ University (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Aaron Shui
    • 1
  • Sadaf Mustafiz
    • 1
  • Jörg Kienzle
    • 1
  • Christophe Dony
    • 2
  1. 1.School of Computer ScienceMcGill UniversityMontrealCanada
  2. 2.LIRMMUniversité de MontpellierMontpellierFrance

Personalised recommendations