Functional Requirement: It tells us about the basic functionality of the software, what it must do and what its essential features are. Non-functional Requirement: It describes how the software works and focuses on the user’s expectations and prior experiences.