Classification of Requirements
Classification of Requirements
Functional: A requirement that specifies an action that a system MUST be able to perform, without
considering physical constraints. A requirement that specifies input/output behavior of the system
General:
What is the overall scope of the project from a requirements perspective?
Example: A solution is required that allows users to maintain customers and contact with those
customers by salespeople.
Business:
What specific capabilities must the whole solution deliver to the Business?
Example: Users must be able to create a record of contact with a customer by a salesperson.
Functional:
What specific capabilities must the computerized part of the solution deliver?
Example: The system will provide the ability to record details of contacts with a customer by a
salesperson
Requirements
Detailed:
What business rules are to be enforced by the solution?
Example: A customer can not be deleted if they have had any contact with salespeople in the last 6
years.
Non-Functional:
What requirements exist that do not fall in to any of the other categories?
Example: The system must support up to 150 concurrent users.
Data:
What rules must the data enforce?
Example: A customer can have many contacts by a salesperson.
Requirements
Technical:
What technical constraints must the solution abide by? Often documented as a constraint rather than
requirement…
Example: The system will be developed using object orientated standards.
Requirements Overview
The second and third definitions are for Non- Functional Requirements (NFRs)
Functional Requirements
A Functional Requirement:
is a statement of what a system must do (#1)
is measured in “yes” or “no” terms
usually employs the word “shall”
Examples:
Add Participant“
The software shall display an option to add a participant”
Invite/prompt Operator“
The software shall invite/prompt the operator if the participant clicks the Operator
Help icon.”
Functional requirements
Performance requirements
Interface requirements
Operational requirements
Resource requirements
Verification requirements
Acceptance requirements
Documentation requirements
Security requirements
Portability requirements
Quality requirements
Reliability requirements
Maintainability requirements
Safety requirements
Differences between Functional and Non Functional Requirements
A functional requirement defines a system or its A non-functional requirement defines the quality
component. attribute of a software system.
Helps you verify the functionality of the software. Helps you to verify the performance of the software.
Functional Testing like System, Integration, End to End, Non-Functional Testing like Performance, Stress,
API testing, etc are done. Usability, Security testing, etc are done.
Example Example
1) Authentication of user whenever he/she logs into 1) Emails should be sent with a latency of no
the system. greater than 12 hours from such an activity.
2) System shutdown in case of a cyber attack. 2) The processing of each request should be done
3) A Verification email is sent to user whenever within 10 seconds
he/she registers for the first time on some software 3) The site should load in 3 seconds when the
system. number of simultaneous users are > 10000
How to write functional and non-functional requirements?