0% found this document useful (0 votes)
9 views19 pages

NON-Functional Requirements

The document outlines various non-functional requirements (NFRs) essential for software systems, including correctness, reliability, efficiency, integrity, usability, maintainability, flexibility, testability, portability, reusability, and interoperability. Each requirement is defined with examples illustrating their importance in ensuring software quality and performance. The document references McCall's Quality Model from 1977 to categorize and explain these requirements.

Uploaded by

maliktayab.in
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views19 pages

NON-Functional Requirements

The document outlines various non-functional requirements (NFRs) essential for software systems, including correctness, reliability, efficiency, integrity, usability, maintainability, flexibility, testability, portability, reusability, and interoperability. Each requirement is defined with examples illustrating their importance in ensuring software quality and performance. The document references McCall's Quality Model from 1977 to categorize and explain these requirements.

Uploaded by

maliktayab.in
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

NON-Functional Requirements

Non Functional Requirements NFR


Correctness
 Correctness requirements are related to the outputs of
software systems, such as a query display of a customer’s
balance in the sales accounting information system.
 This output specification is usually multidimensional; some
common dimensions are:
The required accuracy of the output. This may be adversely
affected by inaccurate data or inaccurate calculations. For
example, the probability of non accurate inventory information,
containing one or more mistakes, will not exceed1%.
The required completeness of the output information. This
may be adversely affected by incomplete data. For example,
the probability of missing data from a club member’s record:
the number of his cellular phone or home address will not
exceed 1%.
May 19, 2025 2
McCall’s Quality Model (1977)
…. Correctness
 The required up-to-datedness of information (defined according

to the frequency of data updating). In other words, the up-to-


datedness defines the time between the event and its recording and
actual usage by the software system. For example, it is required that
information regarding club member payments be updated within one
working day (with probability 99.5%).
 The required response time, defined as the time needed to obtain
the requested information, or as the requested reaction time of the
firmware installed in a computerized apparatus.
 Two examples: (1) Response time for queries regarding the inventory
item will be on average less than 2 seconds; (2) The reaction time to
open a valve for a cooling agent flow, when the liquid temperature
rises above 90 degrees centigrade, will be less than 10 seconds.
 The standards for coding and documenting the software system.

May 19, 2025 3


McCall’s Quality Model (1977)
Reliability
 Reliability requirements deal with failures to provide service. They
determine the maximum allowed software system failure rate, the
maximum allowed percentage of a software system’s downtime, and the
maximum allowed recovery times. The requirements can refer to the
entire system or to one or more of its separate functions.
 Examples
 The failure frequency of a heart-monitoring unit operating in a hospital’s
intensive care ward is required to be less than one in 20 years. Its heart
attack detection function is required to have a failure rate of less than one
per 100 years.
 One requirement of the new software system to be installed in the main
branch of the Independence Bank, which operates 120 branches, is that on
average, it will not fail more than 1 time per 12 months during the bank’s
office hours. In addition, the probability that the off- time ( time needed for
repair and recovery of all the bank’s services) be more than 10 minutes is
required to be less than 0.5%.

May 19, 2025 4


McCall’s Quality Model (1977)
Efficiency
 Efficiency requirements deal with the hardware resources needed to
perform all the functions of the software system in conformance with all
other requirements.
 The main hardware resources to be considered are
 the computer’s processing capabilities (measured in Million Instructions Per
Second (MIPS), megahertz–million cycles per second, etc.),
 its data storage capability in terms of memory and disk capacity (measured
in gigabytes (GBs), terabytes (TBs), etc.),
 and the data communication capability of the communication lines (usually
measured in megabits per second (MBPSs), and gigabits per second
(GBPSs).
 Another type of efficiency requirement deals with the time lapse between
recharging the system’s portable units such as information system units
located in portable computers and meteorological units placed outdoors.

May 19, 2025 5


McCall’s Quality Model (1977)
…Efficiency
Examples
1. A chain of stores is considering two alternative bids for a software
system. Both bids consist of placing the same type of computers in
the chain’s headquarters and its branches. The bids differ solely in
the storage volume :2TB per branch computer, and 20 TB in the
head office computer (BidA), 1 TB per branch computer and 10 GB
in the head office computer (BidB).
There is also a difference in the number of communication lines
required: BidA comprises three communication lines of 28.8 MBPS
between each branch and the head office, where as Bid B is
based on two communication lines of the same capacity between
each branch and the head office.
In this case, it is evident that Bid B is more efficient than Bid A
because fewer hardware resources are required..

May 19, 2025 6


McCall’s Quality Model (1977)
…Efficiency
Examples

2. An out door meteorological unit. The system performs


measurements once per hour, logs the results, and transmits
the results once a day to the meteorological center by means of
wire less communication. The unit is equipped with a 1,000
milli-ampere hour cell, which is capable of supplying the power
requirements of the unit for at least 30 days. An alternative
meteorological unit of higher efficiency is able to cope with all
the requirements with a 500 milliampere unit.

May 19, 2025 7


McCall’s Quality Model (1977)
Integrity
 Integrity requirements deal with the software system security, that is,
requirements to prevent unauthorized access, to distinguish between the
majority of personnel only allowed to see the information (read only
permit), and a limited group who will be allowed to add and change data
(write permit), and so forth. Integrity requirements are defined to cope
with risks of “non friendly” unauthorized attempts to damage the
software system and its performance.
 Example
The Engineering Department of a local municipality operates a geographic
information system (GIS). The department is planning to allow citizens
access to its GIS files through the Internet. The software requirements
include: the possibility to view and copy information, but not to make
changes to maps of the citizens’ own assets, and neither to those of any
other asset in the municipality area (“read only” permit). Access will be
denied to plans in progress, and to those maps defined by the department
head as having “limited access.”
May 19, 2025 8
McCall’s Quality Model (1977)
Usability
 Usability requirements deal with the scope of staff resources
needed to train a new employee and to operate the software
system. The usability requirements relate to the (a) operation
usability, the productivity of the user, that is, the average number
of transactions performed per hour, and (b) training usability, the
average time spent training a new employee.
 Example
 The software usability requirements for the new helpdesk system initiated by a home
appliance manufacturing company lists the following specification requirements:

(1) A staff member should be able to handle at least 60 service calls a


day.
(2)Training a new employee will take no more than 2 days (16 training
hours), at the end of which the trainee will be able to handle 45 service
calls a day.

May 19, 2025 9


McCall’s Quality Model (1977)
Maintainability
 Maintainability requirements determine the efforts needed

by users and maintenance personnel to identify the reasons


of a software failure, to correct the failure, and to verify the
success of the correction. This factor’s requirements refer to
the modular structure of software, the internal program
documentation, and the programmer’s manual, among other
items.
 Example

Typical maintainability requirements:


(a)The size of a software module will not exceed 30
statements.
(b)The programming will adhere to the company coding
standards and guidelines.
May 19, 2025 10
McCall’s Quality Model (1977)
Flexibility
 The flexibility factor deals with the capabilities and efforts

required to support adaptive maintenance activities. These


capabilities include the resources (i.e., in man-days)
required to adapt a software package to a variety of
customers, with a variating extent of activities, and a
different range of products, but of the same trade. No
software changes are needed in these cases as the
package is planned for flexibility. This factor’s requirements
also support perfective maintenance activities, such as
changes and additions to the software in order to improve its
service, and to adapt it to changes in the firm’s technical or
commercial environment.

May 19, 2025 11


McCall’s Quality Model (1977)
…Flexibility
 Example

Teacher Support Software (TSS) is a software product that


deals with the documentation of student achievements,
calculation of final grades, printing of term grade statements,
and automatic printing of warning letters to parents of failing
pupils. The software specifications included the following
flexibility requirements:
The software should be suitable for teachers of all subjects
and school levels (elementary, middle, and high school).
Another flexibility requirement: non professionals should be
able to use TSS to create new types of reports according to
the school master’s requirements and /or demands of the
city’s department of education.

May 19, 2025 12


McCall’s Quality Model (1977)
Testability
 Testability requirements deal with the testing process of a

software system, as well as with its operation. Testability


requirements for the ease of testing are related to special
features in the programs that help the tester, for instance by
providing predefined intermediate results and log files.
Testability requirements related to software operation
include automatic diagnostics performed by the software
system prior to operating the system, to find out whether all
components of the software system are in working order and
to obtain a report on the detected faults. Another type of
these requirements deals with automatic diagnostic checks
to be applied by the maintenance technicians to detect the
causes of software failures.

May 19, 2025 13


McCall’s Quality Model (1977)
...Testability
 Example

An industrial computerized control unit is programmed to


calculate various measures of the production status, report
the performance level of the machinery, and operate a
warning signal in predefined situations.
One testability requirement demanded was to develop a set of
standard test data, including the expected correct reactions of
the system in each case. This standard test data is to be run
every morning before production begins, to verify that the
computerized unit responds properly.

May 19, 2025 14


McCall’s Quality Model (1977)
Portability
 Portability requirements relate to the adaptation of a

software system to other environments consisting of


different hardware, different operating systems, and so forth.
These requirements make it possible to widen the market for
the software product and enable using the same basic
software in diverse situations: in different hard ware and
operating systems.
 Example

A software package designed and programmed to operate in


a Windows 2007 environment is required to allow a low cost
transfer to Linux environments.

May 19, 2025 15


McCall’s Quality Model (1977)
Reusability
 Reusability requirements deal with “two-directional” requirements.
 One direction is the use of a software module, or an entire application,
taken from an existing software product in a new software project
currently being developed. The existing software module or entire
application may be software former developed by the organization, or
open source software, or purchased software.
 The other direction relates to a requirement to develop modules or a
group of modules, or even an entire project, in away to enable their
reuse in future projects. Reused software is expected to be tested by
its developers, and already corrected according to failures
experienced by former users. In other words, it is assumed that most
of the software faults have already been detected by quality assurance
activities performed by the original software developers, and any
failures identified by users of the software, corrected accordingly.
Thus, the reuse of software is expected to save development
resources, shorten the development schedule, and provide higher
quality software modules. May 19, 2025 16
McCall’s Quality Model (1977)
…Reusability
 Example
A software development unit has been required to develop a
software system for the operation and control of a hotel swimming
pool serving hotel guests and members of a pool club. Although the
management did not define reusability requirements, the unit’s
team leader, after analyzing the information processing
requirements of the hotel’s spa, decided to add the following
reusability requirement: A list of the software modules for the pool
project should be designed and programmed in a way that will allow
its reuse in the spa’s future software system planned to be
developed next year. These modules include:
 The entrance checks of membership cards module

 The club members visit recording module

 The pool’s restaurant billing module

 The processing of membership renewal payments


May 19, 2025 17
McCall’s Quality Model (1977)
Interoperability
 Interoperability requirements focus on creating interfaces with other
software systems or equipment firmware (for example, the firmware of
the production machinery and testing equipment interfaces with the
production control software). Interoperability requirements sometimes
specify the name(s) of the software or firmware to which an interface is
required. They may also specify the accepted standard output structure
in a specific industry or application area.
 Example

The firmware of a medical laboratory’s equipment is required to process its


results (output) according to a standard data structure that can then serve
as the input for a number of standard medical laboratory information
systems. Another interoperability requirement at the same lab: the
laboratory information system is required to interface with a medical clinic
information system, in order to transmit patients’ test results automatically
to the physician’s clinic.

May 19, 2025 18


THANK You

You might also like