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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Goodenough, J.B.: Exception handling: Issues and a proposed notation. Communications of the ACM 18, 683–696 (1975)
de Lemos, R., Romanovsky, A.: Exception handling in the software lifecycle. International Journal of Computer Systems Science and Engineering 16(2), 167–181 (2001)
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)
Knudsen, J.L.: Better exception-handling in block-structured systems. IEEE Software 4, 40–49 (1987)
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)
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)
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)
Cockburn, A.: Writing Effective Use Cases. Addison-Wesley, Reading (2000)
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)
Kienzle, J., Sendall, S.: Addressing concurrency in object-oriented software development. Technical Report SOCS-TR-2004.8. McGill University, Montreal, Canada (2004)
Object Management Group: Unified Modeling Language: Superstructure (2004)
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)
Shui, A.: Exceptional use cases - Master Thesis, School of Computer Science. McGill University (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Shui, A., Mustafiz, S., Kienzle, J. (2006). Exception-Aware Requirements Elicitation with Use Cases. In: Dony, C., Knudsen, J.L., Romanovsky, A., Tripathi, A. (eds) Advanced Topics in Exception Handling Techniques. Lecture Notes in Computer Science, vol 4119. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11818502_12
Download citation
DOI: https://doi.org/10.1007/11818502_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-37443-5
Online ISBN: 978-3-540-37445-9
eBook Packages: Computer ScienceComputer Science (R0)