Non Functional Requirements
Non-Functional requirements are those requirements that are not readily captured in use-cases as use-cases are typically functional (behavioural)in nature.
Also known as 'Supplementary Specifications' they are the URPS+ of the FURPS+ model (Functional, Usability, Reliability, Performance, Supportability), described by Robert Grady (Practical Software Metrics for Project Management and Process Improvement. Prentice-Hall.). The + being requirements concerning design constraints, implementation requirements, interface requirements and physical environment requirements or constraints.
Whereas 'Functional' requirements describe the actions that the system must be able to perform, 'Non-Functional' requirements describe attributes of the system or attributes of the system environment.
Many times there is confusion about some requirements whether they are Functional or Non-Functional, especially frequently we see that re-usable functionality often ends up in the supplementary specifications rather than in some kind of use case that should be 'included' in many others, as a short cut that usually leads to confusion.
We can use this Forum to discuss what constitutes a Non-Functional requirement and how and where to capture it (in formal or informal or Agile or ....... methodlogies)

'S' for Supportability
Supportability requirements are those requirements that make the system more supportable and maintainable in the future.
They may concern such factors as:
* the capability to easily extend the system
* the ability to easily adapt
* how simple is it to install
* the ease of maintainance
* the ease of testing
* the ability to easily configure the system
* the ability to easily service a system
* use of internationalization