Compare the Difference Between Similar Terms

Difference Between Functional and Non Functional Requirements

Functional vs Non Functional Requirements
 

The key difference between functional and non functional requirements is that the functional requirements describe what the system should do while the non-functional requirements describe how the system works.

In Software Engineering, the software requirements focus on the needs that should be solved by the software. When developing software, the very first step is to gather requirements. It is one of the most important steps because the whole product depends on the gathered requirements. Once the requirements are gathered, they are analyzed and documented into Software Requirement Specification (SRS). Software Requirements can be categorized into two sections as Functional and Non Functional Requirements.

CONTENTS

1. Overview and Key Difference
2. What are Functional Requirements
3. What are Non Functional Requirements
4. Side by Side Comparison – Functional vs Non Functional Requirements in Tabular Form
5. Summary

What are Functional Requirements?

The requirements that specify the functional aspects of software are known as functional requirements. Functional requirements change from one project to another. They define the functionalities provided by the systems or components.

Figure 01: Software Development

Assume a hospital management system. It can have several modules such as login module, patient module, doctor module, appointment module, report module and billing module.  The login module should successfully login to the system when the correct username and password is provided. The patient module should save, edit and delete patient details. The doctor module should save, edit and delete doctor details. The appointment module should schedule, reschedule and delete appointments. The report module should generate medical reports. The billing module should generate bills for payment. Those are some functional requirements for a hospital management system.

What are Non Functional Requirements?

The requirements that are not related to the functional aspect of software fall into the non functional requirements category. They define the expected characteristics of a software. The users can make assumptions about them. Many users are concerned about getting the non-functional requirements right especially for large systems.

A hospital management system should have the following non functional requirements. Speed is a considerable requirement. The system should process data within a minimum response time. The system should be secure. The data should be accessible only by the authorized users. It should be easily maintainable. The software should be a working and a useable product. The data should be reliable and available when necessary. Therefore, the hospital management system should have non functional requirements such as performance, security, maintainability, usability, reliability and availability.

What is the Difference Between Functional and Non Functional Requirements?

Functional vs Non Functional Requirements

Functional Requirements are the requirements that define functions of a system or its sub systems. Non Functional Requirements are the requirements that specify criteria that can be used to judge the operation of the system.
Usage
The functional requirements are used to describe the functionalities of a system. The non functional requirements describe the system quality characteristics or the quality attributes.

Summary – Functional vs Non Functional Requirements

This article discussed the difference between the two categories of software requirements. The difference between functional and non functional requirements is that functional requirements describe what the system should do while the non-functional requirements describe how the system works.

Reference:

1.“Software Requirements.”, Tutorials Point, 8 Jan. 2018. Available here 

Image Courtesy:

1.’Coding Shots Annual Plan high res-5’By Matthew (WMF) – Own work, (CC BY-SA 3.0) via Commons Wikimedia