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