A requirement i
s a “function or
characteristic of a system that isnecessary...the quantifiable and verifiablebehaviors that a system must possess andconstraints that a system must work within
to satisfy an organization’s objectives andsolve a set of problems” .Simila
“requirement” has the following definitions
[IEEE 90].(1) A condition or capability needed by auser to solve a problem or achieve anobjective; (2) a condition or capability thatmust be met or possessed by a system orsystem component to satisfy a contract,standard, specification, or other formallyimposed documents; (3) a documentedrepresentation of a condition or capabilityas in (1) or (2).
THE PROCESS OF REQUIRMENT ELICITATION
Rzepka decomposes the requirementsengineering process into three activities[Rzepka 89]:1. Elicit requirements from variousindividual sources;2. Insure that the needs of all users areconsistent and feasible; and3. Validate that the requirements soderived are an accurate reflection of userneeds.This model implies a sequential ordering tothe activities, with elicitation done once atthe very beginning of the process. In reality,though, the process is iterative, with theseactivities revisited many times [Southwell87, p. 195]:...the requirements definition activitycannot be defined by a simple progressionthrough, or relationship between,acquisition, expression, analysis, andspecification. Requirements evolve at anuneven pace and tend to generate furtherrequirements from the definition processes.The construction of the requirementsspecification is inevitably an iterativeprocess which is not, in general, self-terminating. Thus, at each iteration it isnecessary to consider whether the currentversion of the requirements specification
adequately defines the purchaser’s
requirement, and, if not, how it must bechanged or expanded further.A good requirements elicitation processsupports the development of a specificationwith these attributes. Conversely, problemswith requirements elicitation inhibit thedefinition of requirements which areunambiguous, complete, verifiable,consistent, modifiable, traceable, usable,and necessary.
REQUIRMENT ELICITATION PROBLEMS
Problems of requirements elicitation can begrouped into three categories:
• Problems of scope, in which the
requirements may address too little or tooMuch information;
• Problems of understanding, within groups
as well as between groups such asusers and developers; and