Functional versus non-functional requirements
On this page 2 headings
EXAMPLE Requirement 1: A seller can add/edit/delete their catalogue. Requirement 2: When a new product is added to the catalogue, the product should appear in the catalogue within 5 sec.
THINK Requirement 1: a seller can add/edit/delete their catalogue. Requirement 2: a newly added product should appear in the catalogue within 5 seconds. What is the difference between these two requirements? Pause and write down your responses before reading further.
Functional requirements
Captures a functionality required by the users from the system: the user performs actions/gives inputs and the system provides an appropriate output. Like a mathematical function f: I → O transforming an element of the input domain I to a value in the output O. Functional requirements should clearly describe each functionality the system supports, with its corresponding input and output data set.
Non-functional requirements
Non-functional requirements essentially specify how the system should behave, not what the system should do. Requirement 2 cannot be expressed as accepting input and producing output.
