As we said, functional requirements are used to describe the system’s desired capabilities or functionality or what the system must do. On the contrary, non-functional requirements focus on the system’s quality attributes, such as speed, security, reliability, etc., and define how the product must work.