I am trying to figure our if the following system requirement is a Functional requirement or a Non-Functional Requirement?

"The Stock Control system must update the stock item quantity when a stock item is sold."

I personally believe that it must be a NF requirement, due to the 'when' part.

please help to clarify.


This is a functional requirement.

Compare it to the definition of a functional requirement from Wikipedia:

A function is described as a set of inputs, the behavior, and outputs.

Functional requirements [...] define what a system is supposed to accomplish.

The Wikipedia article describes the difference between functional and non-functional requirements as well.

Generally, functional requirements are expressed in the form "system must do ", while non-functional requirements are "system shall be "

| improve this answer | |

In addition to the wikipedia definition of NFR, I would say a NFR describes how the system (or a specific feature) should behave; while a functional requirement describes the behaviour itself.

Other thing you could keep in mind with these definitions is "Is this statment applicable throughout the application?". A requirement that says "The user should be able to sign in" is the behaviour itself - it does not extend other definitions. While "the user should perform any activity in 15 clicks, maximum" is a extension of behaviour that is applicable to other behaviours. The NFR Framework makes this extension characteristic explicity.

Wikipedia has a list of NFRs that may make more clear what is a NFR.

| improve this answer | |

It is a Functional Requirement, Clue one: "Must"

Clue two: part of correct working of the system, (if ignored, you will be selling products you dont have in the inventory)

clue three: your other systems like auto re-stock etc wont work without this.

this is so far deep in the functional requirement section, that it is even not visible from the boundary of Functional-Nonfunctional reqs.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.