Non-functional requirements are requirements which specify criteria that can be used to judge the operation of a system, rather than specific behaviors.
This should be contrasted with functional requirements that specify specific behavior or functions.
Typical non-functional requirements are reliability, scalability, and cost. Other terms for non-functional requirements are "constraints", "quality attributes" and "quality of service requirements".
Typical User Requirements such as those provided by GAMP do not generally separate functional and non functional.