Transcript Document

Welcome to
CODE SPREAD
Simple Concepts of Coding | Programming
Introduction:
Before we begin a project, we are always
required to document the requirements and
classify them between functional
requirements and non-functional
requirements. This activity is beneficial
whenever there is a future risk or
disagreements.
What are Functional requirements?
•Wikipedia says, In software engineering, a
functional requirement defines a function of a
software system or its component.
•Functional requirements may be calculations,
technical details, data manipulation and processing
and other specific functionality that define what a
system is supposed to accomplish.
•In simple terms, Functional requirements defines
what a system is supposed to do.
What is a function?
A function is described as a set of inputs, the
behavior, and outputs.
So, A function specifically involves external
interaction.
More..
It describes the action which completes the
work, that system is supposed to do.
Behavioral requirements describing all the
cases where the system uses the functional
requirements are captured in use cases.
This behavior may be expressed as services,
tasks or functions the system is required to
perform.
Use Case?
A use case describes an interaction between an actor and the
system. For example: Interaction between customer and Bank
System.
Still More..
The plan for implementing functional requirements is
detailed in the system design.
Examples:
Business Rules like, A user can see only his
profile information and data entered by him.
Authentication like A user should be
authenticated with the bank’s database.
Reporting Requirements like A user can see his
account details.
What are non-Functional Requirements?
•Wikipedia says, a non-functional
requirement is a requirement that specifies
criteria that can be used to judge the
operation of a system, rather than specific
behaviors.
•In simple terms, It defines how a system is
supposed to be.
There is no a clear distinction between
functional and nonfunctional requirements. Still
we can try,
•It defines the qualities or attributes of the
system.
•It helps define the boundaries of the solution
•It describes the experience of the user while
doing the work.
Non-functional requirements are still requirements
but there is no function like system’s input/output
behavior attached to them. A Non-functional
requirement measures these functions on various
parameters. These parameters are experimented
against the user’s experience. After that, a metrics is
formed to document it.
Note: The plan for implementing non-functional
requirements is detailed in the system architecture.
Measurement Parameters:
•Performance: Performance is related to the speed of operation of a
system. For example:
• Response: The time taken by the system to react on user’s
request.
•Scalability: It defines the capability of the system to extend under
load.
•Reliability: Reliability is the ability of a system to perform its required
functions under stated conditions for a specific period of time.
•Usability: Usability is the ease with which a user can learn to operate
the system or component.
•Maintainability: When the system is deployed and running,
Maintainability defines the ease with which the changes can be
introduced in the system.
Each function will lead to another non-functional
requirements like,
•User requires a function of ‘site-navigation’ then by
default, a non-functional requirements like usability
gets attached to it.
•User requires transactions functionality then by
default, Security and reliability gets attached to it.
I hope we were able to help you about differentiation between
functional and non-functional requirements.
Thanks!!
CODE SPREAD
Simple Concepts of Coding | Programming