Exception-Aware Requirements Elicitation with Use Cases
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.
KeywordsPrimary Actor Requirement Elicitation Exception Handling Case Diagram User Goal
Unable to display preview. Download preview PDF.
- 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
- 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
- 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.Cockburn, A.: Writing Effective Use Cases. Addison-Wesley, Reading (2000)Google Scholar
- 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.Object Management Group: Unified Modeling Language: Superstructure (2004)Google Scholar
- 13.Shui, A.: Exceptional use cases - Master Thesis, School of Computer Science. McGill University (2005)Google Scholar