Software Engineering - Old Questions

4. Differentiate between functional and non-functional requirements of software engineering requirements.

6 marks | Asked in 2075

Functional requirements are the statements of services the system should provide, how the system should react to particular input, and how the system should behave in particular situation. The functional requirements for a system should describe what the system do.

Non-functional requirements are the requirements that are not directly concern with the specific function of the system. They define system properties and constraints like readability, response time and storage requirements. It describes how the system will do it. 

Functional Requirements

Non-functional Requirements

It defines external behavior of the system.

It defines the properties and constraints of the system.

Functional requirements are specified by user.

Non-functional requirements are specified by technical person, software developers, technical leader.

These requirements are mandatory.

These requirements may not be mandatory.

Helps to verify the functionality of software.

Helps to verify performance of software.

Describes what the product (i.e. software) does.

Describes how the product work.

It uses functional testing like system testing, integration testing etc.

It uses non-functional testing like performance, stress, security, usability, reliability testing etc.