Requirements Analysis


Overview

To frame our discussion, consider:

What is the nature of software requirements?

How are requirements determined?

What techniques are useful for understanding system models?


OUTLINE


The Objectives of Requirements Analysis

To Obtain a clear, complete, agreed-upon requirements specification.

Requirements describe:

For Clarity

For Completeness

For agreed-upon -- validation

Qualities of the SRD

correctEvery requirement is something required of the system.
nonambiguous Every statement has one interpretation.
completeEverything that matters is covered in the document.
verifiableThe built system can be checked to see if requirement is met.
consistentThere are no conflicts between requirements.
understandable The form the document takes should allow the different audiences to gather the information they need.
modifiableChanges to the requirements can be accommodated.
traceable Each requirement exists because there was a need in the problem domain. Activity in the solution domain should be able to relate back to the requirements.

Analysis Principles

  1. Examine and Understand the Information Domain
    Information Content

    The individual data and control objects that make up the available inputs to the system.

    Information Flow

    The way data and control are changed as each moves through the system.

    Information Structure

    Defines the internal representation of the items and how information items relate to one another.

  2. Define the functions the software must perform (requirements).

    Construct a model that provides an increasing level of detail regarding the functions the software must provide.

  3. Represent the behavior of the software.

    A behavioral model represents the states of the software and the events that cause software to change state.

Information Capture

Requirements Management

The software requirements provide a basis for creating the Software Requirements Specifications (SRS). The SRS will aid in estimating cost, planning team activities, performing tasks, and tracking the team's progress throughout the development activity. Requirements management is the process of managing these project resources that are called requirements. The process will help to establish a common understanding between the customer and the project team of stakeholder's requirements.

Traceability

A critical part of the requirements change management is assessment of the impact of a requested change. Impact assessment depends on traceability.

Traceability information

Types of Traceability

Backward-from
Links requirements to their source
Forward-from
Links requirements to design and implementation
Backward-to
Links design and implementation to requirements
Forward-to
Links prior documents to requirements

Go To Lecture [Outline] [Overview]

Go To [311 Course Outline] [CIS Department Page]


References

Davis, A. (1995) Software Requirements. Englewood Cliffs, NJ: Prentice Hall.

Martin, C. (1988) User Centered Requirements Analysis. Englewood Cliffs, NJ: Prentice Hall.

Pfleeger, S. (1987) Software Engineering. New York: Macmillan.

Zave, P. & M. Jackson (1997) Four Dark Corners of Requirements Engineering. ACM Trans. on Software Engineering and Methodology, 6(1), p. 1-30.