Learn the Basics of Functional Requirements

Article by Natasha M. Baker (4,687 pts ) , published Oct 19, 2008

This article by Natasha Baker unveils the basics of functional requirements.

The Requirements Discovery Process

Image provided ny Encouragement via FlickrTo learn the purpose of functional requirements and the role they play in developing a system or application, basic knowledge of the Requirements Discovery process is needed. Requirements Discovery is the process and tools used to identify system requirements of the users of the proposed system. A system requirement is a description of the needs and desires for a system or application. A system requirement describes functions, features and constraints.

During the requirements discovery process project team members use fact-finding techniques to get a better understanding of the requirements of the system. Fact Finding activities include, but are not limited to activities such as:

  • research
  • interviews
  • meetings
  • questionnaires
  • sampling

This process is also called information gathering or data collection.

Costly Requirements

Keep in mind that the purpose of requirements discovery is to correctly identify the knowledge, process, and communication requirements for the users of a new system. Regardless of whether it is an information system or software program - failure to correctly identify system requirements may result in one or more of the following situations:

  • The system may cost more than projected
  • The system may be late
  • The system may not meet the users' expectations resulting in them not using it
  • Costs of maintaining and enchancing the system may be excessively high
  • The system may be unreliable and prone to errors

Two Types of Requirements

Image provided by Encouragement via FlickrYou should now have a top-level understanding of the Requirements Discovery process. Now, during the fact-finding process system users will reveal what they would like the systm to do and how they would like the system to do it. These needs and desires -requirements- can be further broken down into two subgroups:

Functional Requirements

Nonfunctional Requirements

Functional requirements are functions or features that must be included in a system in order to satisfy the business needs and be acceptable to the system users. Typical functional requirements types are:

  • Technical Specifications
  • System Parameters
  • System Constraints
  • Calculations
  • Data manipulation and processing

When learning about functional requirements it helps to remeber that they should be descriptive. Normally they are identified in terms of inputs, outputs, processes and stored data.

In comparison, Nonfunctional requirements focus on the properties or qualities a system must have. Typical functional requirements types are:

  • Efficiency
  • Services
  • Control
  • Information
  • Performance

It is important to correctly classify requirements as functional and nofunctional. Doing so helps to ensure that the system meets all of the needed business requirements.

The Importance of Functional Requirements

It is important to remember that functional requirements should document what a system should do and not how it does it. The central point of the functional requirement is its description of the required behavior - which must be clear and readable. The described behavior may come from organizational or business rules, or it may be discovered through the requirements discovery process. When writing functional requirements kep in mind they must be clear, correct, unambiguous, specific, and verifiable.

Part two of this series will outline a framework for writing good functional requirements.