Lecture 2 (Chapter 1) - Non-Functional Requirements
Lecture 2 (Chapter 1) - Non-Functional Requirements
Non-functional Requirements
By Esubalew A.
Contents
Introduction
Classification of NFPs
Boehm[1977]
McCall[1977]
Evans and Marciniak (1987)
Deutsch & Willis [1988]
Sommerville [2007]
Some NFRs
Deriving NFRs
Stakeholder Concerns
Goal-based derivation
Testable NFRs
Introduction
Non-functional requirements (NFR) define the overall
qualities of the resulting system;
They are global constraints on a software system , on the
development process or external constrains outside the
enterprise
Importance
All functional requirements may be satisfied, but if
nonfunctional requirements are overlooked, the system will
fail.
Non-functional properties may be the difference between an
accepted, well-liked product & unused one.
Though all NFRs are important their relative importance
differs from stakeholder to stakeholder and from system to
system.
Reliability, Performance, Security, Usability, Safety NFRs are
more important than others for critical systems
Non-functional requirements like Usability, efficiency, accuracy,
… are more important for end users then other stakeholders
Introduction…
The challenge of NFRs
Hard to model
Usually stated informally, and so are:
often contradictory,
difficult to enforce during development
difficult to evaluate for the customer prior to
delivery
Hard to make them measurable requirements
We’d like to state them in a way that we can
measure how well they’ve been met
Different people and organizations use
different terminologies and different definition
(though basically the definitions have the
same meaning)
NFR-Definitions
Classification of NFRS
Classification of NFRS..
The ‘IEEE-Std 830 - 1993’ lists 13 non-
functional requirements to be included in a
Software Requirements Document.
Performance requirements
Security
Interface requirements requirements
Operational requirements
Portability
Resource requirements requirements
Quality
Verification requirements
Acceptance requirements requirements
Reliability
Documentation requirements
requirements
Maintainability
Classification of NFRs…
Different ways classifying NFRs have been
proposed
NFRs may be classified in terms of qualities that a
software must exhibit (Boehm)
Classification of NFRs…
McCall factor model is user centred classification
McCall [1977]
Classification of NFRs…
McCall factor model is derived from user
concerns
Classification of NFRs…
Evans and Marciniak (1987) – defined 12 factors
Correctness, Reliability, Integrity, Usability, Efficiency,
Maintainability, Flexibility, Portability, Reusability,
Expandability, Interoperability, Verifiability
Deutsch & Willis(1988) factor model consists of 15
factors that are classified into four categories
Property Metric
Performance 1. Processed transactions per second
2. Response time to user input
Reliability 1. Rate of occurrence of failure
2. Mean time to failure
Availability Probability of failure on demand
Size Kbytes
Usability 1. Time taken to learn 80% of the facilities
It is not always possible to express
2. Number NFRs
of errors made by usersobjectively
in a given time
period
Robustness Time to restart after system failure
Portability Number of target systems