0% found this document useful (0 votes)
7 views

Functional Vs Non Functional Requirements

The document discusses functional and non-functional requirements for software projects. Functional requirements specify what a system should do, like calculations or user interactions. Non-functional requirements specify qualities like performance, security, or scalability. Both types of requirements are important to ensure software meets user needs.

Uploaded by

venu09068
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Functional Vs Non Functional Requirements

The document discusses functional and non-functional requirements for software projects. Functional requirements specify what a system should do, like calculations or user interactions. Non-functional requirements specify qualities like performance, security, or scalability. Both types of requirements are important to ensure software meets user needs.

Uploaded by

venu09068
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Functional vs Non Functional Requirements

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.

Functional requirements in software engineering are descriptions of the


system's functions or services that the software must provide. These
requirements specify what the software should do, such as calculations,
data processing, or interactions with users. Functional requirements are
typically documented in a Software Requirements Specification (SRS)
document and serve as the basis for design and development.
Here are some key characteristics of functional requirements:
1. Specificity: Functional requirements should be specific and clearly defined
to ensure that developers understand what needs to be implemented.
2. Measurability: They should be measurable so that stakeholders can
determine whether the software meets the specified criteria.
3. Testability: Functional requirements should be testable to ensure that they
can be verified during the testing phase of software development.
4. Completeness: They should cover all the essential functions and features
that the software must perform to meet the user's needs.
5. Consistency: Functional requirements should be consistent with each other
and with other project documentation to avoid contradictions or confusion.

Examples of functional requirements might include:

 The system shall allow users to log in using a username and password.
 The system shall calculate the total cost of items in a shopping cart,
 The system shall generate a monthly report of sales figures.
 The system shall allow users to search for products based on various criteria
such as category, price range, and availability.
including taxes and shipping fees.

Functional requirements are often contrasted with non-functional


requirements, which specify qualities or constraints that the system must
meet, such as performance, scalability, or security. Both types of
requirements are essential for ensuring that the software meets the needs
and expectations of its users.

Non Functional Requirements


Non-functional requirements in software engineering are constraints or
qualities that describe how the system should behave, rather than what it
should do. Unlike functional requirements that focus on specific features
and functionalities, non-functional requirements pertain to attributes such
as performance, usability, reliability, security, and scalability. These
requirements define the overall behavior, characteristics, and constraints of
the system as a whole, rather than its individual functions.

Here are some common categories of non-functional requirements:

1. Performance: Specifies how well the system performs its functions under
specific conditions, including response time, throughput, and resource
utilization.
2. Usability: Describes the ease of use and user experience of the system,.
3. Reliability: Refers to the system's ability to perform consistently and
reliably over time, including factors such as availability, fault tolerance, and
error handling.
4. Security: Specifies the measures and mechanisms that ensure the
protection of the system and its data from unauthorized access, breaches,
or malicious attacks.
5. Scalability: Describes the system's ability to handle increasing loads or user
demands by adapting its capacity or performance without compromising
functionality.
6. Maintainability: Refers to how easily the system can be modified, updated,
or extended over time, including factors such as code readability,
documentation, and modularity.
7. Compatibility: Specifies the system's ability to operate and interact
effectively with other systems, platforms, or environments.
8. Regulatory Compliance: Describes the system's adherence to legal,
regulatory, or industry-specific requirements, such as data protection laws
or industry standards.

You might also like