SlideShare a Scribd company logo
Non Functional
Requirements
Where Do Requirements
Come From?
Stakeholders
• Product user group
• Project customer
• An analyst/requirement engineer
• Project leader
• Project team members
• Upper management
• Project testers
• Licensing entities
• Outside vendors or suppliers
• Government entities
REQUIREMENT TYPES
Functional
• Describe the behaviors (functions or services) of
the system
• Support user goals, tasks or activities
• F(input, system state) (output, new state)
Output,
new state
Input, initial
state
Non Functional
• Non functional requirement – in software system engineering is, a
software requirement that describes not what the software will do,
but how the software will do it, for example, software performance
requirements, software external interface requirements, design
constraints, and software quality attributes. Nonfunctional
requirements are difficult to test; therefore, they are usually
evaluated subjectively.”
Cont.
• Involves
• ilities: understandability, usability, modifiability, reliability, portability,
dependability, flexibility, availability, maintainability, scalability etc.
• ities: security, safety etc.
• ness: user-friendliness, robustness, timeliness, responsiveness,
correctness, completeness, conciseness etc.
• Others like: convenience, comfort, performance, efficiency, accuracy,
consistency, cost, development time, time-to-market etc.
Non Functional vs. Functional
FR
Verbs
Mandatory
Captured in use case
Product feature
Easy to capture
NFR
Attributes
Not mandatory
Captured in quality attribute scenario
Product properties
Difficult to capure
Furps +
Requirements
Packaging
+
Boehm’s NFR list
Classification of NFR’s
Continuing with FURPS + model
Usability
How easy is it for the user to accomplish a desired task?
• Learning system features
• Using system effectively
• Minimizing impact of errors
• Adapting to user needs
• Increasing confidence
• Performing the tasks quickly
• Re-establishing the proficiency while using a system after a long time.
General Scenario
• Source – User
• Stimulus – What the user wants to do
• Artifact – System
• Environment – Runtime or configuration time (compiled at
deployment time )
• Response – What the system does
• Response Measure – time, tries, number of errors or solutions,
Cont.
• Measureable criteria:
Time taken to learn how to use.
• Realization of the metrics:
Minutes taken for some user’s task
Reliability
• Reliability measures the level of risk and the likelihood of potential
application failures.
• It is the probability that software will work without failure for a specified
period of time in a specified environment.
• Technically reliability is the ability of a system to behave consistently in the
user-acceptable environment.
• Reliability is based on the probability that a system will break i.e., the more
likely it is to break, the less reliable it is
Reliability measures
• Reliability of software is measured in terms of Mean Time Between
Failure (MTBF). For eg if MTBF = 10000 hours for an average software,
then it should not fail for 10000 hours of continuous operation.
• Failure Rate (λ), which is defined as: number of failures / total time in
service.
• Realization of metrics:
Run it and count no. of crashes per hour.
Cont.
Reliability is measured to find
• The performance of software
• Life of the software
• Cause of failure
• No. of failures occurring in a particular time of a software.
• Reliability is considered important because it eliminates the failure
mode of the software.
PERFORMANCE
USER’S CONCERN
• Proper resource utilization
• Efficiency
• Security
• Ease-of-use
EXAMPLE
TYPES OF PERFORMANCE REQUIREMENTS:
A.Response Requirements
B. Throughput Requirements
C. Availability requirements
FACTORS AFFECTING PERFOMANCE:
• CPU speed
• Type of graphics card
• RAM size
• The number of applications running.
HOW TO INCREASE
PERFORMANCE:
Performance of a computer can be increased
by proper care of hardware maintenance.
SUPPORTABILITY
CONCERN
• Adaptability
• Maintainability
• Internationalization
• Portability
• Tailorability
• Replaceability
ADAPTABILITY
To adapt the changes after
deployment efficiently
MAINTAINABILITY:
To deal with new technology
or to fix the defects
INTERNATIONALIZATION:
Ability to deal with deal with
international conventions
PORTABILITY
Can easily be transferred from one
environment to another
TAILORABILITY:
Changing aspects of an
application’s functionality
REPLACEABILITY:
Replacing another system that
performs the same functionality
Non Functional Requirement.
Implementation
requirements
Physical
requirements
Interface
requirements
Packaging
requirements
Operation
requirements.
Legal
requirements.
Furps +:
1.Implementation requirements:
Examples:
• Direct changing.
• Parallel running of coding.
• Third party component involving.
• Implementation languages.
• Platform support.
• Limited resources.
• Required standards
• Rights for database integrity.
• Operation environments.
Operation
environments.
Implementation
languages.
Required standards
Parallel running of coding.
Direct changing.
2.Interface Requirements:
•Buttons
•Images
•Colors
•Labels
•Panels
•Icons
•Short cut keys.
3. Physical requirements:
A physical requirement specifies a physical constraint imposed
on the hardwaresuse for a software.
Example:
• Material
• Shape
• Size
• Weight
4. Packaging requirements:
These tools cover every aspect of
building, installing and maintaining
software packages and include the ability
of having multiple versions of a single
software package installed concurrently.
Example:
Windows vista.
Windows 7,8 and 8.1.
Operation Requirements.
6. Legal requirements.
• Piracy Control
• Copyright laws
• Privacy Laws
• Safety Instructions

More Related Content

Non Functional Requirement.