1072 IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER 1998
Supporting Scenario-Based
Requirements Engineering
Alistair G. Sutcliffe, Member, IEEE, Neil A.M. Maiden, Member, IEEE,
Shailey Minocha, and Darrel Manuel
Abstract—Scenarios have been advocated as a means of improving requirements engineering yet few methods or tools exist to
support scenario-based RE. The paper reports a method and software assistant tool for scenario-based RE that integrates with use
case approaches to object-oriented development. The method and operation of the tool are illustrated with a financial system case
study. Scenarios are used to represent paths of possible behavior through a use case, and these are investigated to elaborate
requirements. The method commences by acquisition and modeling of a use case. The use case is then compared with a library of
abstract models that represent different application classes. Each model is associated with a set of generic requirements for its
class, hence, by identifying the class(es) to which the use case belongs, generic requirements can be reused. Scenario paths are
automatically generated from use cases, then exception types are applied to normal event sequences to suggest possible abnormal
events resulting from human error. Generic requirements are also attached to exceptions to suggest possible ways of dealing with
human error and other types of system failure. Scenarios are validated by rule-based frames which detect problematic event
patterns. The tool suggests appropriate generic requirements to deal with the problems encountered. The paper concludes with a
review of related work and a discussion of the prospects for scenario-based RE methods and tools.
Index Terms—Requirements engineering, use cases, scenarios, scenario generation, exception types, reuse, patterns.
——————————F——————————
1 INTRODUCTION
EVERAL interpretations of scenarios have been proposed
ranging from examples of behavior drawn from use
cases [29], descriptions of system usage to help understand
socio-technical systems [30], and experience based narra-
tives for requirements elicitation and validation [39], [50].
Scenarios have been advocated as an effective means of
communicating between users and stakeholders and an-
choring requirements analysis in real world experience [15].
Unfortunately scenarios are extremely labor-intensive to
capture and document [20], [44]; furthermore, few concrete
recommendations exist about how scenario-based require-
ments engineering (RE) should be practised, and even less
tool support is available.
Scenarios often describe information at the instance or
example level. This raises the question of how instance
level information can be generalized into the models and
specifications that are used in software engineering. Sce-
narios may be used to validate requirements, as ‘test data’
collected from the observable practice, against which the
operation of a new system can be checked [40]. Alterna-
tively, scenarios may be seen as pathways through a speci-
fication of system usage, and represented as animations
and simulations of the new system [14]. This enables vali-
dation by inspection of the behavior of the future system.
This paper describes a method and tool support for sce-
nario-based Requirements engineering that uses scenarios
in the latter sense.
In industrial practice scenarios have been used as generic
situations that can prompt reuse of design patterns [8], [48].
Reuse of knowledge during requirements engineering could
potentially bring considerable benefits to developer produc-
tivity. Requirements reuse has been demonstrated in a do-
main specific context [31], however, we wish to extend this
across domains following our earlier work on analogies be-
tween software engineering problems [51].
The paper is organized in four sections. First, previous
research is reviewed, then in Section 3 a method and soft-
ware assistant tool for scenario-based RE, CREWS-SAVRE
(Scenarios for Acquisition and Validation of Requirements)
is described and illustrated with financial dealing system
case study. Finally, we discuss related work and future
prospects for scenario-based RE.
2 BACKGROUND
Few methods advise on how to use scenarios in the process
of requirements analysis and validation. One of the excep-
tions is the Inquiry Cycle of Potts [39] which uses scenario
scripts to identify obstacles or problems in a goal-oriented
requirements analysis. Unfortunately, the Inquiry Cycle
does not give detailed advice about how problems may be
discovered in scenarios; furthermore, it leaves open to hu-
man judgment how system requirements are determined.
This paper builds on the concepts of the Inquiry Cycle with
the aim of providing more detailed advice about how sce-
narios can be used in requirements validation. In our previ-
ous work we proposed a scenario-based Requirements
analysis method (SCRAM) that recommended a combination
0098-5589/98/$10.00 © 1998 IEEE
²²²²²²²²²²²²²²²²
• A.G. Sutcliffe, N.A.M. Maiden, S. Minocha, and D. Manuel are with the
Centre for HCI Design, City University, Northampton Square, London
EC1V 0HB.
E-mail: {a.g.sutcliffe, n.a.m.maiden, s.minocha, d.t.d.manuel}@city.ac.uk.
Manuscript received 5 Jan. 1998; revised 3 July 1998.
Recommended for acceptance by R. Kurki-Suonio and M. Jarke.
For information on obtaining reprints of this article, please send e-mail to:
tse@computer.org, and reference IEEECS Log Number 107457.
S