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
- Problem Recognition — understand the context and scope of the problem
- Evaluation and Synthesis — break down the problem, identify data/functional/behavioral requirements
- Modeling — represent requirements using diagrams (DFDs, decision tables/trees, ER diagrams)
- Specification — document requirements formally (SRS)
- 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).