One of the fundamental objectives of any project is to gather requirements. Your project can fail if you have incomplete and incorrect requirements. While gathering requirements you also come across functional and non-functional requirements. How would you know what your users want? This would be by gathering requirement. A requirement specifies what needs to be done and how it will be done. Take an example that an email should be sent when an opportunity value exceeds fifty thousand dollars, now this email should be sent 4 hours after the condition fulfills. Functional requirement in this example is sending an email but nonfunctional requirement is sending an email after 4 hours.
A requirement specifies a function that a system or component must be able to perform. A functional requirement is specified by the user.
Typical function requirements are:
- Design area scope
- System Functionality
- Data Definitions
- User Classes
- User Interfaces
- Information Needs
- Business Processes/Activities
- Business Rules
For Example: A system may be required to present a user with a display of the number of records in a database
A requirement that specifies criteria that can be used to judge the operation of a system. Nonfunctional requirements are also as important as the functional requirement. Every person interpret differently from org to org hence non-functional requirements are challenging. For example a computer system is easy to use but it does not mean it’s same for everyone. A non-functional requirement is specified by the technical people like Architect
For example: How up to date the number needs to be is a nonfunctional requirement (Nice to have)
Typical non functional requirements are:
- Metrics and Measurements