What are functional and non-functional requirements?

Requirements analysis is critical process that enables the success of a system or software project to be assessed.

Requirements are generally split into two types: Functional and Non-functional requirements.

Functional

  1. A functional requirement specifies “What should the software system do?”

  2. Describes the functionality & services provided by a system.

  3. Define a system’s reaction to particular inputs.

  4. Usually easy to define.

Non-Functional

  1. A non-functional requirement places constraints on “How should the software system fulfill the functional requirements?”

  2. Defines the system’s properties & constraints.

  3. Applied to a system as a whole.

  4. Define the constraints on the action of the system e.g. timing constraints, development process constraints, etc.

  5. Usually more difficult to define.

svg viewer
svg viewer

Free Resources

HowDev By Educative. Copyright ©2025 Educative, Inc. All rights reserved