Have been doing a bit of work on requirements development over the last few months. In the past I have always believed in a hierarchy structure to requirements

Business Requirements
User Requirements
Functional + Non functional Requirements

However after reading a few Business Analysis and Requirements Engineering books, some suggest that User Requirements consist all functional and non-functional requirement types relating to the solution of the business requirements.

Does this mean that the "User Requirement" type is redundant or is there still a place for it our requirements definitions? Are the User Requirements effectively based State diagrams and Use Cases that form the solution to our Business Requirements? Should we try and retain a level of requirement that forms the solution to our problem but doesn't step on the toes of functional and non-functional requirements?

Would someone like to explain their take on the differences between User Requirements, and Functional and Non-Functional requirements? (and constraints but I'll worry about those later)

A quick google search didn't really clear much up for me