Software EngineeringDr. Laurie Williams

Requirements Engineering:
Requirements Elicitation and Analysis

 

Requirements engineering is an activity of software engineering.  Using requirements engineering techniques, we define the requirements of the system under development.  Requirements engineering consists of two main activities:  requirements elicitation (which produces a specification of the system that the customer understands) and analysis (which produces a models that software developers unambiguously understand.)

 We will use scenario-based requirements elicitation.  With scenario-based requirements elicitation, we map a system problem statement into a system specification that we represent as a set of actors and use cases.  Actors represent external entities that interact with the system.  The first step of requirements elicitation is the identification of actors.  

Once the actors are identified, we determine the functionality that need be accessible to each actor by identifying scenarios.  A scenario is a description of a system use in terms of a series of interactions between the system and the user.  We work with the customer to get a complete set of scenarios, which enumerate in natural language using customer terminology.  A complete set of scenarios will describe everything the system is intended to do.

Next, developers formalize scenarios into use cases.  A scenario is an instance of a use case.  A use case specifies all possible scenarios for a given piece of functionality.  A use case is initiated by an actor.   

 

 


Use Case Flow of Events Example: 
Intersection
Bank