Unit III

Software Requirement Specification

The SRS document is the foundation of any software project — it captures what the system must do, how it should behave, and the constraints it must satisfy.

👤 Role of the System Analyst

The system analyst acts as a bridge between the client/user and the development team. They are responsible for gathering, analyzing, and documenting requirements.

📋 Need for an SRS Document

The SRS serves as a contract between the client and the developer. It defines what the system will and will not do — preventing misunderstandings and scope creep.

🧩 Components of an SRS

Functional Requirements

What the system should do — specific behaviors, functions, and features.

  • Use case descriptions
  • Business rules
  • Input/output specifications
  • Processing logic

Non-Functional Requirements

Quality attributes — how the system should perform.

  • Performance (response time, throughput)
  • Security & reliability
  • Usability & accessibility
  • Portability & scalability

Other Key Sections of an SRS

SectionContent
IntroductionPurpose, scope, definitions, overview
Overall DescriptionProduct perspective, user characteristics, assumptions
Specific RequirementsAll functional and non-functional requirements
External Interface RequirementsUI, hardware, software, communication interfaces
ConstraintsRegulatory, design limitations, hardware constraints
AppendixGlossary, data flow diagrams, ER diagrams

Characteristics of a Good SRS

01
Correct

Every requirement represents something actually needed

02
Complete

All requirements are included, nothing missing

03
Unambiguous

Each requirement has only one interpretation

04
Consistent

No conflicting requirements

05
Verifiable

Can be tested / confirmed objectively

06
Traceable

Each requirement traceable to its source

⚠️ Problems Without an SRS

Without a proper SRS, projects often suffer from "requirements creep" — requirements keep changing without control, leading to cost overruns, delays, and poor quality.

📝 SRS Document — Example (Library System)

SRS Outline — Library Management System
1. Introduction
  1.1 Purpose: Automate library operations
  1.2 Scope: Book issue, return, search, fine calculation
  1.3 Users: Librarian, Students

2. Functional Requirements
  FR-01: User can search books by title/author
  FR-02: Librarian can issue books to registered members
  FR-03: System calculates fine for late returns
  FR-04: Generate monthly report of issued books

3. Non-Functional Requirements
  NFR-01: Response time < 2 seconds for searches
  NFR-02: System uptime ≥ 99.5%
  NFR-03: Secure login (password-protected)