Requirements become a key focus of analysis activities in system development life cycle. Analysts spend most of their time to requirements: gathering information about requirements, formalizing them through generating models and prototypes, refining and expanding them, prioritizing them, and generating and evaluating such alternatives. Because of this, we need to have a clear definition of requirements.
According to Satzinger, Jackson, & Burd (2012), system requirements are all the activities must perform or support and the constraints that the new system must meet. System requirements are divided into two categories: functional requirements and nonfunctional requirements. Functional requirements describe the behavior and information that the solution will manage and describe capabilities the system will be able to perform in terms of behaviors or operations—a specific system action or response (Belgendy, 2015). In a simpler word, functional requirements refer to the activities that the system must perform based on the procedures and rules that the organization uses to run its business, such as generating fund transfer electronically, calculating commission amounts, calculating payroll taxes, and so on in a payroll system.
Nonfunctional requirements refer to the characteristics of the system other than those activities it must perform or support (Satzinger, Jackson, & Burd, 2012). Nonfunctional requirements used to describe attributes within the system, such as how fast the system response to a specific command is, how efficient system performs such tasks is, etc. Sometimes, it finds a little difficult to differentiate functional from nonfunctional requirements. To distinguish those two categories, analysts use a framework for identifying and classifying requirements that is most widely used—FURPS+.
FURPS is an acronym that stands for functionality, usability, reliability, performance, and security. The “F” letter in FURPS refers to the functional requirements that have defined previously and the remaining letters describe the nonfunctional requirements.
- Usability requirements refer to operational characteristics related to users, such as the user interface, related work procedures, online help, and documentation (Satzinger, Jackson, & Burd, 2012). The guide questions of these requirements are “is this application usable by any system?”, “is this application responding the same way to other applications?”, etc.
- Reliability requirements refer to the requirements that describe system dependability—how reliable the system and the risk of system to be crashed.
- Performance requirements describe the operational characteristics related to measures workload, such as throughput and response time (Satzinger, Jackson, & Burd, 2012).
- Security requirements refer to the grant of access control to application and data protection during storage and transmission.
The extension of FURPS that adds additional categories is FURPS+, that have introduced previously. This extension includes design constraints as well as implementation, interface, physical, and supportability requirements—which denotated by plus sign. According to Satzinger, Jackson, & Burd (2012), the short descriptions of each category explained as follows:
- Design constraints refer to restrictions to which the hardware and software must adhere.
- Implementation requirements refer to constraints related to programming languages and tools, documentation method and its level of detail, and so on.
- Interface requirements refer to interaction among systems, that might be internal or external systems.
- Physical requirements describe hardware characteristics in its size, weight, electrical consumption, and operating conditions.
- Supportability requirements describe the steps or procedures of systems installation, configuration, monitoring, and maintenance.
Elgendy, M. (2015). Business Analysis for Beginners. United States of America: Outskirts Press, Inc.
Satzinger, J. W., Jackson, R. B., & Burd, S. D. (2012). Systems Analysis and Design: In a Changing World Sixth Edition. Boston: Course Technology, Cengage Learning.
Published at : Updated