Discuss Functional and Non - Functional Requirements

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Discuss Functional and Non- Functional Requirements

The process of establishing the services that the customer requires from a system and the
constraints under which it operates and is developed is called Requirement Engineering.
Requirements analysis is a very 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 Requirments:
● Functional Requirements are statements of services the system should provide, how the
system should react to particular inputs and how the system should behave in particular
situations.
● The functional requirements describe the behaviour of the system as it correlates to the
system's functionality.
● These should be written in simple language so that it is easily understandable.
● These may state what the system should not do.
● These may be high-level statements of what the system should do
● Functional requirements are product features or functions that developers must
implement to enable users to accomplish their tasks. So, it’s important to make them
clear both for the development team and the stakeholders.
Examples:
1. The system sends an approval request after the user enters personal
information.
2. The Sales System should allow users to record customer's sales
3. The system sends a confirmation email when a new user account is created.
Essentially, functional requirements are the ‘whats’ of the system that we often refer to.
These are not ‘all that there is,’ but these should describe the overall functionality of
the system.

Non-Functional Requirments:
● Non-functional requirements are not related to the software's functional aspect.
● They can be the necessities that specify the criteria that can be used to decide the
operation instead of specific behaviours of the system.
● Basic non-functional requirements are - usability, reliability, security, storage, cost,
flexibility, configuration, performance, legal or regulatory requirements, etc.
● not related to the system functionality, but rather define how the system should perform.
● Non-functional requirements may affect the overall architecture of a system rather than
the individual components.
○ For example, to ensure that performance requirements are met, you may have to
organize the system to minimize communications between components.
● A single non-functional requirement, such as a security requirement, may generate a
number of related functional requirements that define system services that are required.
○ It may also generate requirements that restrict existing requirements.
Examples:
1. The website pages should load in 3 seconds with the total number of
simultaneous users <5 thousand.
2. The system should be able to handle 20 million users without performance
deterioration.
Non-functional requirements may be more critical than functional requirements. If these
are not met, the system may be useless.

Functional Requirements Non-functional requirements

Functional requirements help to They help to understand the system's

understand the functions of the system. performance.

Functional requirements are mandatory. While non-functional requirements are not

mandatory.

They are easy to define. They are hard to define.

They describe what the product does. They describe the working of the product.

It concentrates on the user's It concentrates on the expectation and

requirements. experience of the user.

It helps us to verify the software's It helps us to verify the software's

functionality. performance.

These requirements are specified by the These requirements are specified by the

user. software developers, architects, and

technical persons.

You might also like