IntermediateTopic 47 of 104Software & Computing

Requirements engineering

Gather, specify and validate what the system must do.

In depth

Elicit, analyse, specify, validate and manage requirements: functional (what) and non-functional (performance, security, usability). Techniques: interviews, use cases, user stories, prototypes. Good requirements are clear, testable and traceable; ambiguity is a major source of project failure.

Key points

  • SMART requirements
  • Acceptance criteria
  • Change control
Example

"The system shall respond within 200 ms for 95% of requests" is testable.

Why it matters

Requirements engineering prevents building the wrong system, which is one of the most expensive mistakes in software projects.

Where this is used

  • Writing user stories for a sensor dashboard.
  • Checking requirements against safety standards for a medical device.
  • Confirming the performance targets for a control system with the client.

Frequently asked questions

What is Requirements engineering?

Gather, specify and validate what the system must do.

Why is it important to understand requirements engineering?

Requirements engineering prevents building the wrong system, which is one of the most expensive mistakes in software projects.

What is a functional requirement?

A statement of what the system must do, such as recording a measurement every second.

What is a non-functional requirement?

A quality such as performance, security, reliability or usability that the system must meet.

How is Requirements engineering used in practice?

Typical applications include writing user stories for a sensor dashboard, checking requirements against safety standards for a medical device and confirming the performance targets for a control system with the client.

What should I learn before Requirements engineering?

Study "Agile and Scrum" first (topic 46 of 104 in Software & Computing). It covers the groundwork this topic builds on.

What are the key points of Requirements engineering?

SMART requirements. Acceptance criteria. Change control.

Can you give an example of Requirements engineering?

"The system shall respond within 200 ms for 95% of requests" is testable.

What comes after Requirements engineering?

The next topic is "UML and modelling", which builds directly on this one.

How difficult is Requirements engineering?

It is classed as Intermediate in Software & Computing (topic 47 of 104). It is an intermediate topic. Work through the beginner topics in Software & Computing first.

Learning path

Want to practise? Open the interactive course for quick checks, quizzes, simulations and progress tracking.

Related topics