CHAPTER 3
SOFTWARE QUALITY FACTORS
Quality Factor
The need for comprehensive software quality
requirements
Classifications of software requirements into software
quality factors
McCall’s factor model
The various attributes of software and its use and
maintenance, as defined in software requirements
documents ,can be classified into content groups
called quality factors
There is a need for a comprehensive definition of requirements that will
cover all attributes of software and aspects of the use of software, including
usability aspects, reusability aspects, maintainability aspects, and so forth
in order to assure the full satisfaction of the users.
McCall’s factor model
Product operation factors:
Correctness, Reliability, Efficiency, Integrity,
Usability.
Product revision
factors:
Maintainability, Flexibility,
Testability.
Product transition
factors:
Portability, Reusability,
Interoperability.
McCall’s factor model
Product operation factors:
Correctness, Reliability, Efficiency, Integrity,
Usability.
Reliability requirements deal with failures to provide service.
They determine the maximum allowed software system failure rate,
and can refer to the entire system or to one or more of its separate
functions.
Correctness requirements are
defined in a list
of▪ the software
The output system’s required
mission
outputs.
▪ Accuracy of output
▪ Completeness of the output
▪ information
▪ Up-to-date of the information
▪ Availability of the information
The standard for coding and
documenting of software
system
Integrity requirements deal with the software system security.
that is, requirements to prevent access to unauthorized persons,
to distinguish between the majority of personnel allowed to see
the information (“read permit”) and a limited group who will be
allowed to add and change data (“write permit”), and so forth.
Efficiency requirements deal with the hardware resources needed to
perform all the functions of the software system in conformance to all
other requirements. The main hardware resources to be considered are
the computer’s processing capabilities (measured in MIPS – million
instructions per second ,etc.)
Usability requirements deal with the scope of staff
resources needed to train a new employee and to
operate the software system.
McCall’s factor model
Product revision
factors:
Maintainability, Flexibility,
Testability.
Maintainability requirements determine the
efforts that will
be needed by users and maintenance personnel
to identify
the reasons for software failures, to correct the
failures,
This and requirements refer to the modular
factor’s
structure of success of the corrections.
to verify the
software,
programmerthe internal program
’s manual, amongdocumentation,
other
and the
items.
The capabilities and efforts required to
support adaptive maintenance activities are
covered by the
man-days)requirements.
flexibility required to adapt
Thesea include
softwarethe
package
to a variety of
of customers
resources(i.e. in the same trade, of various
extents of
activities, of different ranges of products
and
This so on. requirements also support
factor’s
perfective
maintenance activities.
Testability requirements deal with the
testing of an
information 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.
McCall’s factor model
Product transition
factors:
Portability, Reusability,
Interoperability.
Portability requirements tend to the
adaptation of a
software system to other environments
consisting of
different hardware, different operating
systems.
Reusability requirements deal with the
use of
software modules originally designed
for one
project in a new software project
currently being
developed.
Interoperability requirements focus on
creating interfaces
with other software systems or with other
equipment
firmware (for example, the firmware of the
production
machinery
and testing
Interoperability equipment
requirements interfaces
can specify the
with the name(s) of the
production
software or control
firmwaresoftware).
for which interface is
required. They
can also specify the output structure accepted as
standard in
a specific industry or applications area.
MCCALL'S FACTOR MODEL
AND ALTERNATIVE MODELS
Some quality factors not included in the
typical client’s
requirements document may, in many
cases, interest the
developer. The following list of quality factors
usually
interest the developer whereas they may
raise very little
interest on the part of the client:
Portability
Reusability
Verifiability
quality factors is examined by design
reviews,
software inspections, software tests, and
so forth.
Comprehensive discussions of design
reviews,
software testing, software quality
metrics and other
tools for verifying and validating the
quality of
software are provided in books.
END
OF
CHAPTER 3