Business Requirements

A requirements analysis involves a systematic evaluation of needs derived from a company's business goals and strategy. One approach to determining requirements involves the classification of functional and nonfunctional system requirements.

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.

Examples of Functional Requirements

User request: I need to send secure messages in the new application.

Feature: End-to-end encryption when sending messages.

Use case: This feature will be enabled when the application sends communications to the database.

Business rule: All encryption must be FIPS 140-2 compliant.

Nonfunctional Requirements

Nonfunctional requirements specify how the system will support the functional requirements. They may include ways of verification of functional requirements fulfillment, as well as any remaining requirements that are not covered by the functional requirements.

While functional requirements are necessary to make the system or component work nonfunctional requirements can determine how well the system or component works because they describe the "quality characteristics" or "quality attributes" of the functional requirements (Eriksson, 2012).

Typical nonfunctional requirements include (Eriksson, 2012):

  • performance (e.g., response time, throughput, utilization, static, volumetric)
  • scalability
  • capacity
  • availability
  • reliability
  • recoverability
  • maintainability
  • serviceability
  • security
  • regulatory
  • manageability
  • environmental
  • data integrity
  • usability
  • interoperability

Examples of Nonfunctional Requirements

Availability: The Online Payment System will be available for users between the hours of 5:00 a.m. and 11:00 p.m. EST.

Capacity: Up to 1,000 total users can use the system.

Maintainability: Changes required by law will applied at least 3 months before the law becomes enforceable.

Reliability: Will be available to users 98 percent of normal working hours.

Security: Only users with the role "Administrator" or "Supervisor" can make changes to the system.

 

References

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

Requirements. (n.d.). Non functional requirements. Retrieved from http://www.requirements.com/glossary/nonfunctionalrequirements/tabid/91/default.aspx