functional requirement defines a system or its component whereas a non-functional requirement defines the performance attribute of a software system. ... Types of Non-functional requirement are Scalability Capacity, Availability, Reliability, Recoverability, Data Integrity, etc