What are functional requirements in software engineering?

Monitor's functional requirements

One of the classifications of software system requirements is functional requirements. Broadly speaking, functional requirements answer the question, “What should the software system do?” In technical terms, functional requirements are defined as follows:

  • Statement of services and functionalities that the system should provide.
  • Definition of the behavior of the system in response to particular situations.
  • Definition of the reaction of the system to particular inputs.
  • In relevant cases, states explicitly what the system should not do.

Example

The above diagram describes the functional requirements of a monitor. The functionalities of the monitor, such as turning on/off, brightness control, hue control, sleep, displaying the input, and saturation control, fall under functional requirements. These are services that the monitor system provides to the user.

Requirements such as performance, security, interface, and portability fall under non-functional requirements, which are constraints on the services/functions provided by the monitor system.

As clean as these definitions of functional and non-functional requirements may sound, in reality, the distinction between two different requirements may not be as clear-cut.

For example, the security requirement seems to be a non-functional requirement. However, when it is developed in detail, this requirement may generate other requirements that could be functional. For instance, to provide security, you add a user authentication system, which turns out to be a functional requirement. Therefore, requirements may not be independent of each other.

Free Resources

Copyright ©2025 Educative, Inc. All rights reserved