Functional requirements are statements of the capabilities that a system must have (“functions”), geared to addressing the business needs that a system must satisfy.
- Necessary. Something that must be included or an important element of the system is missing and other system components can’t compensate for its absence.
- Concise (minimal, understandable). Stated in language that is easy to read, yet conveys the essence of what is needed.
- Attainable (achievable or feasible). A realistic capability that can be implemented for the available money, with the available resources, in the available time.
- Complete (standalone). Described in a manner that does not force the reader to look at additional text to know what the requirement means.
- Consistent. Does not contradict other stated requirements nor is it contradicted by other requirements. In addition, uses terms and language that means the same from one requirements statement to the next.
- Unambiguous. Open to only one interpretation.
Example, an ease of learning requirement might translate into the functional requirement
of having the system display pop-up help when the user hovers the cursor over an icon.
A quality attribute may also translate into product-level nonfunctional requirements that
specify the characteristics the software must possess in order to meet that attribute. For
example, an ease-of-use requirement might translate into nonfunctional requirements for
response time to user commands or report requests.
Content will be erased after question is completed.