Exception-Aware Requirements Elicitation with Use Cases

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


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.


Primary Actor Requirement Elicitation Exception Handling Case Diagram User Goal 
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)CrossRefMathSciNetzbMATHGoogle Scholar
  2. 2.
    de Lemos, R., Romanovsky, A.: Exception handling in the software lifecycle. International Journal of Computer Systems Science and Engineering 16(2), 167–181 (2001)Google Scholar
  3. 3.
    Shui, A., Mustafiz, S., Kienzle, J.: Exceptional use cases. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 568–583. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Knudsen, J.L.: Better exception-handling in block-structured systems. IEEE Software 4, 40–49 (1987)CrossRefGoogle Scholar
  5. 5.
    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, New York (1990)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.
    Object Management Group: Unified Modeling Language: Superstructure (2004)Google Scholar
  12. 12.
    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
  13. 13.
    Shui, A.: Exceptional use cases - Master Thesis, School of Computer Science. McGill University (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Aaron Shui
    • 1
  • Sadaf Mustafiz
    • 1
  • Jörg Kienzle
    • 1
  1. 1.School of Computer ScienceMcGill UniversityMontrealCanada

Personalised recommendations