Letters to the Editor
I read with interest Judith Barnard's "Use-Case Tree" (Journal of Object-Oriented Programming,
13(10): 1924, Feb. 2001). I disagree on the way the problem was resolved into use cases. The second use case, "The kiosk is out of order," is not a use case.
According to Ivar Jacobson, "A use case specifies a sequence of actions, including variants, that the system can perform and that yields an observable result of value to a particular actor."1 "The kiosk is out of order," is a statement of a system state, not a sequence of actions. Neither does it provide a result to a particular actor, but it is observable. The two sequences described under this second use case are properly alternate sequences of the first use case. Since the result to the user is essentially identical, I would argue that they are in fact the same alternate sequence. If we introduce a maintenance person as another actor, things change; but then the use case would be something like "Kiosk Minder maintains the kiosk."
Please note that the author and I use different terminology. What she calls "scenario," I call "normal sequence" or "alternate sequence." I use "scenarios" for particular traversals of the use case, such as "Purchaser deposits 50d; ...; purchaser selects 2, 5, 16, ..."2
- Jacobson, I., et. al. The Unified Software Development Process, AddisonWesley, Reading, MA, 1998.
- Rumbaugh, J., et. al. The Unified Modeling Language Reference Manual, AddisonWesley, Reading, MA, 1998.