Functional and Non-Functional Requirements

There is a huge difference between a functional and a nonfunctional requirement. The functional requirement describes the tasks that a software must do, while the nonfunctional requirement describes how the software will do.

The functional requirements most of the time describe the behavior of the function, such as instructions or tasks regarding something. In software, these requirements describe the way it functions.

The following functional requirements are some of the most common:

  • 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

The nonfunctional requirements are re remaining requirements of a project, in the case of software, they describe the what the software is going to do or how. These requirements specify in general the product, rather than an specific task or method.

The following nonfunctional requirements are some of the most common:

  • Performance – for example Response Time, Throughput, Utilization, Static Volumetric
  • Scalability
  • Capacity
  • Availability
  • Reliability
  • Recoverability
  • Maintainability
  • Serviceability
  • Security
  • Regulatory
  • Manageability
  • Environmental
  • Data Integrity
  • Usability
  • Interoperability

Retrieved from http://reqtest.com/requirements-blog/functional-vs-non-functional-requirements/.


Functional and nonfunctional requirements

When a software developer begins with a project, he needs to establish objectives. Some of them are client requirements. These can be classified as functional or nonfunctional. And no, nonfunctional does not mean they are useless or not that important.

A requirement is functional when it must do something. It’s not a static requirement. Example: the product must include an automatic backup tool.

On the other hand, a requirement turns out to be nonfunctional when it’s not precisely a function of the program, but rather a characteristic of it. Example: the product must have SSL.

An easier way to understand this is by taking the OOP focus: functional requirements are the same as methods, as well as nonfunctional requirements are the same as properties.

flickr photo by ollesvensson https://flickr.com/photos/ollesvensson/3335131082 shared under a Creative Commons (BY) license
flickr photo by ollesvensson https://flickr.com/photos/ollesvensson/3335131082 shared under a Creative Commons (BY) license

About functional an non functional requirements

Hello there! Today we are talking a little bit about Functional and non fuctional requirements in Software.

http://www.startxconsulting.com/wp-content/uploads/2015/05/iceberg-poster-300x200.jpg
Original at: http://www.startxconsulting.com

First of all, lets define what a requirement is:

Requirement: menas what needs to be covered to achieve the project,it cover the description and conditions in which the project must work and the things that needs to be covered.

We have User, System and Software requirements, user requirements are the ones stablished from the user, the main idea prototype of work and the main “characteristics” of the project.

The system requirements are the functionality of the project, all the services and specs joined thogether.

The software requirements are the details of which the software work, usually for the developers and Engineers to understand what is happening.

Let´s check what functional and non fucntional software requirements means with the help of a chapter of CS2 Software Engineering note 2 at CS2Ah Autumn 2004:

Functional requirements: Statements of services that the system should provide, how the system should react to particular inputs and how the system should behave in particular situations

Describe functionality or system services.

Depend on the type of software, expected users and the type of system where the software is used.

Functional user requirements may be high-level statements of what the system should do; functional system requirements should describe the system services in detail

Examples:

  • The user shall be able to search either all of the initial set of databases or select a subset from it.
  • The system shall provide appropriate viewers for the user to read documents in the document store.
  • Every order shall be allocated a unique identifier (ORDER ID) which the user shall be able to copy to the account’s permanent storage area

Non-functional requirements: Constraints on the services or functions offered by the system

5327432805_f430987fbc_z
by-nc-nd
Continue reading "About functional an non functional requirements"

Functional and Non-Functional Requirements

Functional and Non-functional requirements are those statements that specify what the system should do.

Functional Requirements describe the behavior of the system; while on-functional requirements state a characteristic of the performance. For example: The functional requirement of a table is to hold objects, while the non-functional requirement is to hold up to 50kg.

6415553169_401ee8c1e7
Retrieved from: http://www.flickr.com

Some examples of Functional and Non-Functional requirements:

Functional Requirements

  • 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

Non-Fuctinal Requirements

  • Performance
  • Scalability
  • Capacity
  • Availability
  • Reliability
  • Recoverability
  • Maintainability
  • Serviceability
  • Security
  • Regulatory
  • Manageability
  • Environmental
  • Data Integrity
  • Usability
  • Interoperability

 

References:

StackOverflow. (2015). what is functional and non functional requirement. August 8th, 2016, from StackOverflow. Website: http://stackoverflow.com/questions/16475979/what-is-functional-and-non-functional-requirement

Ulf, E. (2012). Functional vs Non Functional Requirements. August 8th, 2016, from ReQtest. Website: http://reqtest.com/requirements-blog/functional-vs-non-functional-requirements/

 

 


Non-functional requirements matter too

Defining requirements can be difficult because there needs to be a distinction between functional and non-functional requirements; however, both of these requirements are important to the system, and without them the system can crash or fail. The problem is when people miss these non-functional requirements, either they know about it or not.

What is a functional requirement?

Refers mainly to the expected function of the product. Product or system features, or what the program does is what the functional requirements are. Definitely it is easier to determine the functional requirements than the non-functional because they are almost obvious.

What is a non-functional requirement?

These requirements refer mainly to the attributes that include performance, security, usability, etc. Developers usually miss these requirements because they focus mainly on the functional requirements. When addressing incorrectly these non-functional requirements, the system actually fails. For example, the lack of usability or performance can lead to frustration or system problems. This is why non-functional requirements are so important for a system to succeed.

Example

functional-and-non-functional-testing

Both of them are needed specifications.

References:

  1. http://searchsoftwarequality.techtarget.com/answer/Differentiating-between-Functional-and-Nonfunctional-Requirements

Non-functional? Not really.

First of all… What are requirements? They are specified conditions that are demanded by clients or stakeholders in the creation of a project.

Functional Requirements:

The logical aspects of a product, system or software are defined as functional requirements. In other words, what does it need to do to function?

Non-Functional Requirements:

nfr-non-functional-cart-before-horse

These requirements are not Non-Functional at all, they focus on quality factors and effectiveness. These factos are what guve value to the software and make the functional requirements function appropriately.
Some non-functional requirements may be:
-Usability
-Availability
-Reliability
-Flexibility
-Supportability
-Performance

Requirements are interchangeable depending on the type of project that must be built. Some software may not be able to limit what functionalities are categorized in which type of requirements.

When a software programmer starts out a project, normally the client has and idea of what functionality they want their software to have, but it is very common to forget about non-functional requirements or as some people call them “Quality Factors”. Both of these are a type of “High-Level” design.
For a product/system both of these type of requirements must match the business requirements of the market.

difference-between-functional-and-non-functional-requirement

Sources:
http://searchsoftwarequality.techtarget.com/answer/Differentiating-between-Functional-and-Nonfunctional-Requirements

http://searchsoftwarequality.techtarget.com/answer/Functional-vs-non-functional-requirements-what-is-the-difference

http://expertbusinessanalyst.com/tag/difference-between-functional-and-nonfunctional-requirements/