Functional Requirements

Functional requirements are at the heart of systems or technology development. Functional requirements specify the behavior of a system and determine what the system should do. These requirements are developed well before the acquisition or development of systems. The activity can be performed during the system design and can be application- or architecture-driven. For example, a functional requirement for a calculator would be "must be able to add, subtract, multiply, and divide numbers."

Typical functional requirements are (Eriksson, 2012):

  • business rules
  • transaction corrections, adjustments, and cancellations
  • administrative functions
  • authentication
  • authorization levels
  • audit tracking
  • external interfaces
  • certification requirements
  • reporting requirements
  • historical data
  • legal or regulatory requirements

These rules determine things such as operations, systems reports, and workflow. These requirements are also the determining factor when evaluating system compliance. Typically, the flow of functional requirements incorporates such things as user request, feature, use case, and business rule.

Example:

  1. User request: I need to send secure messages in the new application.
  2. Feature: End-to-end encryption when sending messages.
  3. Use case: This feature will be enabled when the application sends communications to the database.
  4. Business rule: All encryption must be FIPS 140-2 compliant.

References

Eriksson, U. (2012, April 5). Functional vs. non functional requirements [Blog post]. http://reqtest.com/requirements-blog/functional-vs-non-functional-requirements/