5.   Step 3: Requirements tracing

A requirement is a criterion specified by the user that the system must satisfy. System requirements specify the behaviour and functionality the users demand from the system. Requirements are normally stated as statements that contain the words shall or must. There are many types of requirements, like [Rosenberg, 1999]:

·         functional requirements,

·         data requirements,

·         performance requirements,

·         capacity requirements,

·         test requirements.

Pressman (1997) divides software requirements analysis into five areas of effort: (a) problem recognition; (b) evaluation and synthesis; (c) modelling; (d) specification; and (e) review.

We should keep reports from each use case (class) for every requirement that is satisfied by the use case (class). A use case may refer to more than one requirements and a combination of use cases may satisfy more than one requirements.

The procedure to follow up to code generation should be the following:

1.      Creation of a list of requirements,

2.      System manual production in the form of use cases.

3.      Tracing of each part of the design back to system requirements and of each requirement back to the respective part of the design.

Before we proceed with package analysis, it is necessary to trace back to our requirements to discover problems now before it is too late. [Muller, 1999:100-101] calls for the following tests about requirements: