Functional and non-functional requirements need to be carefully selected in order to ensure that they make sense in the context of the final outcome of the project and conveyed to all the team members working on it.
 

Missing out on a requirement or misapplying one could spell disaster for a project.

Requirements generally fall into two types: functional and non-functional.

The difference between them is fairly straightforward, nevertheless, in the this article well define the two types of requirements and provide examples of each to point out more concretely the fundamental difference between them.

Functional requirements

The definition of a functional requirement is:

Any requirement which specifies what the system should do.

In other words, a functional requirement will describe a particular behaviour of function of the system when certain conditions are met, for example: Send email when a new customer signs up” or “Open a new account”.

A functional requirement for an everyday object like a cup would be: ability to contain tea or coffee without leaking”.

Typical functional requirements include:

  • Business Rules
  • Transaction corrections, adjustments and cancellations
  • Administrative functions
  • Authentication
  • Authorization levels
  • Audit Tracking
  • External Interfaces
  • Certification Requirements
  • Reporting Requirements
  • Historical Data
  • Legal or Regulatory Requirements

Click Here To Download Your Practical Requirements Strategy Now (it’s free)

 

Non-functional requirements

The definition of a non-functional requirement is:

Any requirement which specifies how the system performs a certain function.

In other words, a non-functional requirement will describe how a system should behave and what limits there are on its functionality.

Non-functional requirements generally specify the systems quality attributes or characteristics, for example: Modified data in a database should be updated for all users accessing it within 2 seconds.

A non-functional requirement for the cup mentioned previously would be: contain hot liquid without heating up to more than 45 °C”.

Typical non-functional requirements include:

  • Performance for example: response time, throughput, utilization, static volumetric
  • Scalability
  • Capacity
  • Availability
  • Reliability
  • Recoverability
  • Maintainability
  • Serviceability
  • Security
  • Regulatory
  • Manageability
  • Environmental
  • Data Integrity
  • Usability
  • Interoperability

It is important to correctly state non-functional requirements since theyll affect your usersexperience when interacting with the system.

One way to prevent missing out on important non-functional requirements is to use non-functional requirement groups as a guide for listing them down. This blog post provides an explanation of each of the four main non-functional requirements groups and how they are used.

Click Here To Download Your Practical Requirements Strategy Now (it’s free)

Author Ulf Eriksson

Ulf is the founder of ReQtest and as the Product Owner, decides what features are added to the product, and makes sure that ReQtest is of a consistently high quality. Ulf has written several books and courses as well as a library of articles on the subjects of testing and requirements management, as well as speaking publicly on a number of subjects related to the world of testing.

More posts by Ulf Eriksson

Join the discussion 6 Comments

Leave a Reply