Following on from yesterday’s post about Non-Functional Requirements vs Constraints, I think I’m a little clearer on this subject, but it appears that it’s not something you can define exactly. To an extent, it depends on the context of the project.
@greggrobertson5 put forward that Functional Requirements are the WHAT and Non-Functional Requirements are the HOW.
Following on from that, something like “must reuse existing hardware” is a NFR, but it is also a Constraint. Think of it as a Venn diagram where the circles for NFR and Constraint intersect, and items can fit into NFR or into C, or the intersection between them.
I also looked up NFR on Wikipedia (yeah, I know, the last resort of the clueless!) and was interested to see it stated “Other terms for non-functional requirements are ‘constraints’ “