Lec 3

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 32

SOFTWARE MAINTENACE AND

QUALITY ASSURANCE
LECTURE 3: SOFTWARE QUALITY FACTOR

Agreen AlBaqal
Software Engineering
Spring Semester 2024
Topics

▪ Quality Factor
▪ The need for comprehensive software quality
requirements
▪ Classifications of software requirements into
software qualityfactors
▪ McCall’s factor model
▪ Who is interested in the definition of quality requirements
Quality Factor
import
▪ 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.
Quality Factor
They can be broadly divided into two categories:
▪ The first category of factors is those that can be
measured directly, such as the number of logical
errors.
▪ The second category includes those factors that can
be measured only indirectly.
The need for comprehensive software
quality requirements
Thereis a need for a comprehensive definition of requirements
that will cover all attributes of software and aspects of the use
of software, including
1. Usability aspects
2. Reusability aspects
3. Maintainability aspects
4. Assure the full satisfaction of the users
Classifications of software requirements
into software quality factors
■ Several models of software quality factors and their
categorization have been suggested over the years.

■ The classic model of software quality factors, suggested


by McCall, consists of 11 factors (McCall et al., 1977).

■ Similarly, models consisting of 12 to 15 factors, were


suggested by Deutsch and Willis (1988) and by Evans
and Marciniak (1987).
Classifications of software requirements
into software quality factors

▪ All these models do not differ substantially from


McCall’s model.
▪ The McCall factor model provides a practical, up-
to-date method for classifying software requirements
(Pressman, 2000).
Classifications of software requirements
into software quality factors
McCall factor model

▪ Product operation factors:

▪ Correctness, Reliability, Efficiency, Integrity, Usability.


▪ Product revision factors:

▪ Maintainability, Flexibility,Testability.
▪ Product transition factors:

▪ Portability, Reusability, Interoperability.


import
Classifications of software requirements
into software quality factors
Product operation factors:

According to McCall’s model, product operation category


includes five software quality factors, which deal with the
requirements that directly affect the daily operation of the
software. They are as follows
1. Correctness
2. Reliability
3. Efficiency
4. Integrity
5. Usability.
Correctness
➢ These requirements deal with the correctness of
the output of the software system. They include

▪ The output mission

▪ Accuracy ofoutput : The required accuracy of output that can


be negatively affected by inaccurate data or inaccurate
calculations.

▪ The completeness of the output information, which can


be affected by incomplete data.
Correctness

▪ The up-to-dateness of the information is defined as the time


between the event and the response by the software system.

▪ The availability of the information.

▪ The standard for coding and documenting of software


system
Reliability
▪ Reliability requirements deal with failures to provide service.
▪ They determine the maximum allowed software system failurerate,
and can referto the entiresystem or to one or more of its separate
functions.
Efficiency
▪ Efficiency requirements deal with the hardware resources needed to
performallthe functionsof the software system in conformance to all
other requirements.
▪ The main hardware resourcesto be considered are the computer’s
processing capabilities(measuredin MIPS – million instructions per
second,etc.)
▪ It also deals with the time between recharging of the system’s
portable units, such as, information system units located in
portable computers, or meteorological units placed outdoors.
Integrity
➢ Integrity requirements deal with 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.
Usability
➢ Usability requirements deal with the scopeof staff
resourcesneeded to train a new employee and to operate the
software system.
Product revision factors

According to McCall’s model, three software quality


factors are included in the product revision category. These
factors are as follows

1. Maintainability

2. Flexibility

3. Testability
Maintainability

▪ 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,and to verify the successof the
corrections.
▪ This factor’s requirements refer to the
▪ Modular structure of software
▪ The internal program documentation
▪ The programmer’s manual, among other items.
Flexibility
▪ The capabilities and efforts requiredto support adaptive maintenance
activities are covered by the flexibility requirements.
▪ These include the resources(i.e. in man-days) required to adapt a
software package to a variety of customers of the same trade, of
various extents of activities,of differentranges of productsand so on.
▪ This factor’s requirements also support perfective maintenance
activities.
Testability

▪ 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 featuresin the programs that help thetester,for
instanceby providing predefined intermediateresults and
log files.
Product transition factors

According to McCall’s model, three software quality factors are


included in the product transition category that deals with the
adaptation of software to other environments and its interaction
with other software systems. These factors are as follows

1. Portability

2. Reusability

3. Interoperability.
Portability

▪ Portability requirements tend to the adaptation of a


software system to other environments consisting
of different hardware, different operating systems,
and so forth.
▪ The software should be possible to continue using
the same basic software in diverse situations.
Reusability
➢ Reusability requirements deal with the use of software
modules originally designed for one projectina new
software projectcurrentlybeing developed.
Interoperability

▪ Interoperabilityrequirements focus on creating interfaces with


other software systems or with other equipment firmware (for
example, the firmware of the production machinery and testing
equipment interfaces with the production controlsoftware).
▪ Interoperabilityrequirements can specify the name(s) of the
software or firmware for which interface is required.
▪ They canalso specify the output structureacceptedas standard in a
specific industry or applications area.
Software quality factors
puxta
Who is interested in the definition of
quality requirements
▪ 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 interestthe developer


whereas they may raise very little intereston the partof the client:

▪ Portability

▪ Reusability

▪ Verifiability
The definition of these 11
software quality factors is given
below: puxtay lecture
▪ Correctness – extent to which a program satisfies its
specification and fulfills the client’s objective.
▪ Reliability – extent to which a program is supposed to
perform its function with the required precision.
▪ Efficiency – amount of computing and code required by a
program to perform its function.
▪ Integrity – extent to which access to software and data is
denied to unauthorized users.
▪ Usability– labor required to understand, operate, prepare
input and interpret output of a program
The definition of these 11
software quality factors is given
below:
▪ Maintainability– effort required to locate and fix an error in a
program.
▪ Flexibility– effort needed to modify an operational program.
▪ Testability– effort required to test the programs for their
functionality.
▪ Portability– effort required to run the program from one
platform to other or to different hardware.
▪ Reusability– extent to which the program or it’s parts can be
used as building blocks or as prototypes for other programs.
▪ Interoperability– effort required to couple one system to
another.
Home Work import

Q) How Does McCall factors improve


quality?
Improving McCall factors enhances software quality by focusing on
aspects like portability, efficiency, ease of revision, adaptability,
learnability, and productivity, ensuring better performance, user
satisfaction, and lower costs.

Enhancing McCall factors means creating a project management


software that smoothly transitions across platforms, operates
reliably, adapts to changing needs, is intuitive to learn, and is
developed efficiently.
Thanks

You might also like