Requirements Engineering · Software Engineering

Functional Requirements

Watch lectures

Functional Requirements

Definition

Functional requirements (FRs) describe what the system should do — the specific functions, features, tasks, or services the software must perform in response to given inputs, including how it should behave in particular situations.

Characteristics

  • Describe behavior and functionality (actions, calculations, data manipulation)
  • Usually expressed as: "The system shall [do X] when [condition Y]"
  • Directly testable — pass/fail based on observed behavior
  • Derived from user needs, business rules, and use cases

Examples

  • "The system shall allow users to register with an email and password"
  • "The system shall calculate the total bill including tax and discounts"
  • "The system shall send an email notification when an order is shipped"
  • "The system shall allow an admin to delete a user account"

How Functional Requirements Are Captured

  • Use Cases — describe interactions between actors and the system
  • User Stories (Agile) — "As a [user], I want [goal] so that [benefit]"
  • Process/Data Flow Diagrams
  • Decision Tables/Trees for complex conditional logic

Categories of Functional Requirements

  1. Business rules — logic/policies the system enforces
  2. Transaction corrections/adjustments — undo, cancel, edit operations
  3. Administrative functions — user management, configuration
  4. Authentication/authorization — login, access control
  5. External interface requirements — how the system interacts with other systems
  6. Certification requirements — compliance-related functional behavior

Functional vs. Non-Functional (quick contrast)

  • Functional = "What" the system does
  • Non-Functional = "How well" it does it (performance, security, usability)

Exam tip: Always give 2–3 concrete examples in "shall" statement format when asked to define FRs — examiners specifically look for correctly formatted requirement statements.

Official AppAndroid App

PYQDeck for Android

Solve BEU previous-year exam papers anywhere, anytime. Fast search, offline paper viewing, and step-by-step solutions designed specifically for your phone.

← All Software Engineering modules