A function is described as a set of inputs, the desired or controlled behavior, and outputs. Low-level requirements may be calculations, technical details, data manipulation and processing and other specific functionality that define what a system is supposed to accomplish in order to meet the high-level software requirements from which it is derived through software design analysis.

High-level requirements may impose constraints on the design or implementation (such as performance requirements, security, or reliability) that need to be broken down into functional requirements that can be implemented. Generally, functional requirements are expressed in the form “the feature shall <requirement>”.