› Module 3: Software Requirement Analysis & Specification › 3.4 Software Requirement Specification (SRS)
M O D U L E

Module 3: Software Requirement Analysis & Specification

Requirement engineering lifecycle, functional vs non-functional requirements, feasibility studies, IEEE 830 SRS, and DFDs

3.1 Requirement Engineering Process

Requirement Engineering is the disciplined process of discovering, analyzing, documenting, validating, and managing the functional and behavioral services that a software system must provide.

Figure 3.1: Sequential Stages of the Requirement Engineering Process Feasibility Study Requirement Elicitation Requirement Analysis Requirement Specification (SRS) Requirement Validation Requirement Management

Figure 3.1: The systematic requirement engineering pipeline transforms stakeholder needs into a validated SRS document.

3.2 Types of Requirements: Functional, Non-Functional & Domain

Requirements are categorized based on their level of abstraction and operational focus:

  • Functional Requirements (FRs): Statements of concrete system services, functions, and behavioral calculations (e.g. "The system shall authenticate the user using OAuth 2.0", "The system shall generate a monthly payroll statement in PDF format").
  • Non-Functional Requirements (NFRs / Quality Attributes): Constraints on how the system performs its services. Examples include performance (latency < 200ms), scalability (100k concurrent users), reliability (99.999% uptime), security (AES-256 encryption at rest), and maintainability.
  • Domain Requirements: Requirements that originate directly from the operational domain's regulations or physics (e.g. medical HIPAA compliance, banking double-entry bookkeeping rules).

3.3 Feasibility Study

A Feasibility Study is an early investigative analysis determining whether the proposed project is economically, technically, and operationally viable before capital is committed.

  • Technical Feasibility: Does the organization possess or can it acquire the required hardware, software stacks, algorithms, and developer skill sets?
  • Economic Feasibility (Cost-Benefit Analysis): Will the Return on Investment (ROI) justify development costs? Compares operational savings against CAPEX/OPEX.
  • Operational Feasibility: Will the target end-users accept the software, and will it integrate smoothly into current organizational workflows?
  • Schedule Feasibility: Can the software be built and deployed prior to market opportunities closing or regulatory deadlines expiring?
  • Legal Feasibility: Does the solution comply with copyright laws, GDPR data privacy, patents, and labor contracts?

3.4 Software Requirement Specification (SRS)

The SRS is the definitive legal and technical agreement between the client and development organization. Standardized under IEEE 830 / ISO/IEC/IEEE 29148, it establishes what developers commit to building.

Key Characteristics of a Superior SRS

  • Correct & Complete: Covers all essential functional features and environmental scenarios.
  • Unambiguous: Written so that every requirement has only a single logical interpretation.
  • Verifiable / Testable: Every stated requirement can be proven true or false via quantifiable tests.
  • Consistent: Contains no contradictory requirements (e.g., specifying sub-millisecond response while requiring deep disk journaling on low-power chips).
  • Traceable: Each requirement has a unique ID traced backward to stakeholder needs and forward to code modules and test cases.

3.5 Data Flow Diagram (DFD)

A Data Flow Diagram (DFD) is a graphical representation of the information flow and data transformations throughout a software system. DFDs use four canonical symbols:

  • Circle / Oval: Process (transforms incoming data streams into outgoing data streams).
  • Rectangle: External Entity (source or sink of data outside the system boundary).
  • Open-Ended Rectangle / Parallel Lines: Data Store (files, databases, tables).
  • Arrow: Data Flow (path along which data items travel).
Figure 3.2: Data Flow Diagram (DFD) — Level-0 Context Example (Library System) Student Request 1.0 Issue Book Book Issued Librarian Book Info D1: Book Records 2.0 Update Records Updated Record

Figure 3.2: DFD Level-0 depicting processes (circles), external entities (rectangles), data stores, and data flows.

MODULE COMPREHENSIVE QUIZ

Module 3 Final Quiz

Test your understanding across all 5 topics of this module with interview-grade questions, tricky edge cases, and code output predictions.

Take Module 3 Final Quiz →
Yukti Mascot