About functional an non functional requirements

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

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


  • 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

Continue reading "About functional an 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.



Both of them are needed specifications.


  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:


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:

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.