Requirements analysis is a very critical process that enables the success of a system or software project to be assessed. Requirements are generally split into two types: Functional and Non-functional requirements.
Functional Requirements
These are the requirements that
the end user specifically demands as basic facilities that the system should
offer. All these functionalities need to be necessarily incorporated into the
system as a part of the contract.
These are represented or stated
in the form of input to be given to the system, the operation performed and the
output expected. They are the requirements stated by the user which one can see
directly in the final product, unlike the non-functional requirements.
Example:
·
What are
the features that we need to design for this system?
·
What are
the edge cases we need to consider, if any, in our design?
Non-Functional
Requirements
These are the quality
constraints that the system must satisfy according to the project contract. The
priority or extent to which these factors are implemented varies from one
project to another. They are also called non-behavioral requirements. They deal
with issues like:
·
Portability
·
Security
·
Maintainability
·
Reliability
·
Scalability
·
Performance
·
Reusability
·
Flexibility
Example:
·
Each
request should be processed with the minimum latency?
·
System
should be highly valuable.
Difference between
Functional Requirements and Non-Functional Requirements:
Functional Requirements |
Non Functional
Requirements |
A functional requirement
defines a system or its component. |
A non-functional
requirement defines the quality attribute of a software system. |
It is captured in use
case. |
It is captured as a
quality attribute. |
Defined at a component
level. |
Applied to a system as a
whole. |
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, API testing, etc are done. |
Non-Functional Testing
like Performance, Stress, Usability, Security testing, etc are done. |
Example |
Example |
No comments:
Post a Comment