Back to the 2024 paper

Module 2: Requirements & SRS

20247m

Explain the SRS and its components.

Worked SolutionAI Assisted

Software Requirements Specification (SRS) — Overview & Components

What is an SRS?

The Software Requirements Specification (SRS) is a formal, structured document that completely describes the requirements of the software system to be built — its purpose, functions, behaviour, interfaces, and constraints. It is produced in the requirements analysis phase and serves as the contract/reference for design, implementation, testing, and acceptance.

Purpose

  • Agreed baseline between customer and developer ("what to build").
  • Basis for design, coding, testing (V&V), and user documentation.
  • Input for estimation, planning, and change control.

Components / Structure of a good SRS

(1) Introduction

  • Purpose of the SRS
  • Scope of the product (what it will/won't do)
  • Definitions, acronyms, and abbreviations
  • References
  • Overview of the document

(2) Overall Description

  • Product perspective — how the product fits into the larger system (interfaces with other systems).
  • Product functions — summary of major functions.
  • User characteristics — who will use the system.
  • Constraints — regulatory, hardware, standards, security.
  • Assumptions and dependencies.

(3) Specific Requirements (the core)

  • Functional requirements — each function described precisely (inputs, processing, outputs), uniquely identified, e.g., "FR-1: The system shall allow users to register".
  • Non-functional requirements — performance, security, reliability, availability, usability, maintainability, portability.
  • External interface requirements — user interfaces, hardware interfaces, software interfaces, communication interfaces.
  • Data requirements / logical database requirements — data to be stored and relationships.
  • Design constraints — standards compliance, hardware limitations.

(4) Supporting information

  • Appendices, index, traceability (each requirement tied to source and to test).

Qualities a good SRS must have

Correct, Unambiguous, Complete, Consistent, Verifiable, Traceable, Modifiable, Ranked for importance (IEEE 830).

Example snippet of a functional requirement

FR-7: The system shall validate the user's login (username + password).
Input: username, password; Output: authenticated session or error message.

Summary

An SRS = Introduction + Overall Description + Specific Requirements (functional + non-functional + interfaces + constraints). Its completeness and clarity determine the success of all downstream phases.

Similar questions

Student FinanceWeb Platform

Pocketly — Personal Finance for Students

Keep your hostel and college expenses under control. Track accounts, log spending in seconds, and stay within your monthly budget.