Experiences Using Scenarios in Requirements Engineering, User Documentation, and Test Case Generation
Making the Scene with Scenarios in Very Graphic Applications
Daniel M. Berry
Cheriton School of Computer Science
University of Waterloo
Waterloo, ON, Canada
A current focus of requirements engineering work is on the use of scenarios and use-cases as a means of eliciting desired behavior of a system to be built from clients and future users. Experience has shown that scenarios are a particularly effective means to bridge the communication gap between a system's client and future users on one hand and its developers on the other. Scenarios can be expressed completely in the client's and users' language, and there are techniques for systematically massaging scenarios into usable requirements specifications.
In looking back over previously performed software system development efforts, it is clear that we have been using scenarios all along, without calling them such, as or embedded in requirements engineering, design and code validation, design and code optimization, inspection checklist generation and validation, user documentation creation, etc. By recognizing that all of these activities are or can be scenario driven, we now obtain a vocabulary with which to talk about these activities in a way that might be clearer to the learning or practicing software or requirements engineer.
This talk shows how scenarios were used in all phases of the lifecycle of a particular class of applications, electronic publishing. For this class of applications, there is an additional bonus, namely that the requirements specification, the user's manual, and the test case can all be the same scenario-generated document.