← Software Engineering & SDLC learning path
Software Engineering & SDLC · Module 4 of 10

Requirements engineering

Gather and document what users really need.

📖 Key ideas

  1. Functional requirements: what the system does (login, generate invoice).
  2. Non-functional: how well (performance, security, usability).
  3. Elicitation: interviews, surveys, workshops, observation.
  4. Document in an SRS or user stories with acceptance criteria.
  5. Validate requirements with stakeholders and manage changes.
💡 Real-life example: Requirements are a tailor's measurements: wrong measurements, wrong suit, however good the stitching.
Functional requirementWhat the system does
Non-functional requirementQuality attribute
SRSSoftware Requirements Specification
ElicitationGathering requirements