Photo by fauxels: https://www.pexels.com/photo/colleagues-looking-at-survey-sheet-3183153/

The Requirements engineering process

Feasibility Study

 A feasibility study is a short, focused study which aims to check the feasibility of the project considering resources, cost/benefit, technology availability etc.
Requirement elicitation and analysis
In this activity, technical software development staff work with customers and system end-users to find out about the application domain, what services the system should provide, the required performance of the system, hardware constraints and so on.

Requirement elicitation and analysis

In this activity, technical software development staff work with customers and system end-users to find out about the application domain, what services the system should provide, the required performance of the system, hardware constraints and so on.

Requirements specification

A detailed and precise description of the system requirements is set out to act as a basis for a contract between client and software developer.
Requirements validation
In this activity, checks should be carried out to make sure that the requirements are accurate and complete. It is necessary to check the correctness of the specification of requirements.

Requirements Documents

User requirements (Requirements definition)

These are statements in a natural language plus diagrams, of what services the system is expected to provide and constraints under which it must operate.

System requirements

The system services and constraints in detail. This is detailed functional specification. It may serve as a contract between the system buyer and the software developer.

Software Requirements Specification (SRS)

A detailed and technical specification of the requirements. This is the basis for design and implementation.  This is an abstract description of the software.
Requirements Documents

An Example

User Requirements Definition

1. The software must provide a means of representing and accessing external files created by other tools.

System requirements specification

1.1 The user should be provided with facilities to define the
      type of external files.
1.2 Each external file type may have an associated tool 
      which may be applied to the file.
1.3 Each external file type may be represented in a specific 
      icon on the user’s display.
1.4 Facilities should be provided for the icon representing 
      an external file type to be defined by the user

Type of Requirements

Functional Requirements

These are statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations.

Non-functional Requirements

These are constraints on the services or functions offered by the system.

Domain Requirements

These are requirements that come from the application domain of the system and that reflect characteristics of the domain.

 

Functional requirements

Functionality or services that the system is expected to provide.

Example:

Some functional requirements of a university library system

  1. The user should be able to search for a library item by specifying a key word.
  2. The library staff member should be able to issue a library item by scanning the bar codes of the library item and the student card.
  3. Students can reserve a library item on line.

 

Some non-functional Requirements

Product Requirements

      - Performance requirements

      - Reliability

      - Portability

      - Interface requirements

Organizational Requirements

    - Delivery requirements

     - Implementation requirements

     - Standards requirements

External requirements

    - Interoperability requirements

     - Ethical requirements

     - safety requirements

Non- functional requirements

Examples

Product requirement

 The system should be easy to use by non-experienced users and hence should provide a graphical user interface.

Organisational requirement

The system development process and deliverable documents shall confirm to the process and deliverables defined in ISO 9000.

External requirement

The system shall not disclose and personnel information about customers apart from their name and reference number to the operators of the system.

Domain requirements

Domain requirements are derived from the application domain of the system rather than from the specific needs of the system users. They may be new functional or non-functional requirements in their own right, constrain existing requirements or set out how particular computation must be carried out.

Examples

  1. Because of copyright restrictions, some documents must be deleted immediately on arrival. Depending on the user’s requirements, these documents will either be printed locally on the system server for manually forwarding to the user or routed to a network printer.
  2. There shall be a standard user interface to all databases which shall be based on the Z39.50 standard.

Domain requirements