Requirements Specification


Software Requirements Specification (SRS)

The requirements documentation that completely describes the behavior that is required of the softwarebefore the software is designed, built, and tested.


Requirements Specification Document


Requirements Elicitation

Requirements elicitation is the process through which a requirements analyst gathers, understands, reviews, and articulates the needs of the project's stakeholders and users.

Elicitation involves:

Objective: create a complete list of what the users believe are important requirements.


Requirements Elicitation (cont.)

Elicitation activities can include:


Use Cases

After requirements elicitation anf discussion summary has been distributed and reviewed, use cases required to be created.

A use case is a description of a specific interaction that a user may have with the software.

A use case contains a textual description of all of the ways that the intended users could work with the software through its interface.

Use cases do not describe any internal workings of the software.


Use Case Structure

A typical use case includes these sections:


IEEE 830 Standard

IEEE 830: Recommended Practice for Software Requirements Specifications


IEEE 830: Objectives


IEEE 830: Benefits


How to produce a good SRS (IEEE 830: Section 4)


Structure of the SRS

Contents of SRS (IEEE 830, Section 5):

  1. Introduction
  2. General description of the software product
  3. Specific requirements (detailed)
  4. Additional information such as appendixes and index, if necessary

SRS: 1. Introduction

1.1. Purpose

1.2. Scope

1.3. Definitions. Acronyms, and Abbreviations

1.4. References


1.5. Overview

1.6. Risk Analysis


SRS: 2. Overall Description

2.1. Product Perspective

2.2. Product Functions


2.3. User Characteristics

2.4. Constraints

2.5. Assumptions and Dependencies

2.6 Apportioning of Requirements


SRS: 3. Specific requirements


3.1 External Interfaces

3.2 Functions

3.3 Performance Requirements

3.4 Logical Database Requirements


3.5 Design Constraints

3.6 Software System Attributes

3.7 Organizing the specific requirements


Annex A of IEEE 830

Section 3 (Specific Requirements) may be organized in many different ways based on