Requirements Engineering · Software Engineering

Requirement Analysis

Watch lectures

Requirement Analysis

Definition

Requirement Analysis is the process of determining what the customer/users need from the software system — identifying, gathering, analyzing, and documenting the functions, constraints, and goals the system must fulfill.

Purpose

  • Understand the problem domain before jumping to solutions
  • Bridge the gap between the customer's vague ideas and a precise, engineered specification
  • Serve as the foundation for design, coding, and testing

Activities in Requirement Analysis

  1. Problem Recognition — understand the context and scope of the problem
  2. Evaluation and Synthesis — break down the problem, identify data/functional/behavioral requirements
  3. Modeling — represent requirements using diagrams (DFDs, decision tables/trees, ER diagrams)
  4. Specification — document requirements formally (SRS)
  5. Review — validate with stakeholders that requirements are correct and complete

Outputs

  • Software Requirements Specification (SRS) document
  • Models: DFDs, Data Dictionaries, Decision Tables/Trees, ER diagrams

Why It's Critical

  • Errors introduced here are the most expensive to fix later (cost of change increases exponentially through SDLC phases)
  • A poorly analyzed requirement leads directly to a mismatched, unusable final product
  • Forms the contract/baseline between customer and developer

Exam tip: Requirement Analysis is often the FIRST theory question in this module — structure answers as: Definition → Purpose → Activities (5 steps) → Output (SRS).

Budget AppAndroid App

Pocketly on Android

Log daily food, travel, and hostel expenses instantly. Set monthly spending limits and see where your money goes without complex spreadsheets.

← All Software Engineering modules