




























































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An overview of software quality metrics, focusing on end-product metrics such as intrinsic product quality and customer satisfaction, as well as in-process metrics that track defect arrival during formal machine testing. The document also discusses the relationship between in-process metrics, project characteristics, and end-product quality, and the importance of investigating these relationships to improve both process and product quality.
Typology: Slides
1 / 109
This page cannot be seen from the preview
Don't miss anything!





























































































Department of Computer & Information Sciences Department of Computer & Information SciencesPakistan Institute of Engineering and Applied SciencesPakistan Institute of Engineering and Applied Sciences
Lecture 10Lecture 10
Umar Faiz
http://www.pieas.edu.pk/umarfaiz/cis
Software Quality
Software metrics can be classified into different ^
Software
metrics
can
be
classified
into
different
categories:
^
Product
metrics
^
Process
metrics
^
Project
metrics
http://www.pieas.edu.pk/umarfaiz/cis
Process Metrics ^
Process
Metrics
^
Process
metrics
can
be
used
to
improve
software
development
and
maintenance.
^
Example
include
the
effectiveness
of
defect
removal
during
development,
the
pattern
of
testing
defect
arrival,
and
the
response time of the fix processresponse
time
of
the
fix
process
.
http://www.pieas.edu.pk/umarfaiz/cis
Project Metrics ^
Project
Metrics
^
Project
metrics
describe
the
project
characteristics
and
execution.
Examples
include
the
number
of
software
developers,
the
staffing
p^
p^
,^
g
pattern
over
the
life
cycle
of
the
software,
cost,
schedule,
an
productivity. ^
Some metrics belong to multiple categories For example the in ^
Some
metrics
belong
to
multiple
categories
.^ For
example
,^ the
in
process
quality
metrics
of
a
project
are
both
process
metrics
and
project
metrics.
http://www.pieas.edu.pk/umarfaiz/cis
Software quality metrics can be divided further into ^
Software
quality
metrics
can
be
divided
further
into
^
End
‐product
quality
metrics
^
In
‐process quality metrics In
process
quality
metrics
The
essence
of
software
q
uality
engineering
is
to
q
y^
g^
g
investigate
the
relationships
among
in
‐process
metrics,
project
characteristics,
and
end
‐product
quality,
and,
based on the findings to engineer improvements in bothbased
on
the
findings
,^ to
engineer
improvements
in
both
process
and
product
quality.
http://www.pieas.edu.pk/umarfaiz/cis
The de facto definition of software quality consists of two ^
The
de
facto
definition
of
software
quality
consists
of
two
levels:
^
Intrinsic
p
roduct
q
uality
p^
q^
y
^
Customer
satisfaction
The
following
metrics
cover
both
levels:
^
Mean
time
to
failure
^
Defect
density
bl
^
Customer
problems
^
Customer
satisfaction
http://www.pieas.edu.pk/umarfaiz/cis
According to the IEEE/American National Standards ^
According
to
the
IEEE/American
National
Standards
Institute
standard
^
An
error
is
a
human
mistake
that
results
in
incorrect
software.
^
The
resulting
defect
(or
fault)
is
an
accidental
condition
that
causes
a
unit
of
the
system
to
fail
to
function
as
required.
d f
l^
d
^
A^
defect
is
an
anomaly
in
a
product.
^
A^
failure
occurs
when
a
functional
unit
of
a
software
‐related
system
can
no
longer
p
erform
its
required
function
or
cannot
y^
g^
p^
q
perform
it
within
specified
limits.
http://www.pieas.edu.pk/umarfaiz/cis
For practical purposes there is no difference between the ^
For
practical
purposes
there
is
no
difference
between
the
two
terms.
In
the
software
development
p
rocess,
when
an
error
p
p
occurs,
a
defect
(or
fault)
is
injected
in
the
software.
In
operational
mode,
failures
are
caused
by
defects
(or
f^
lt )
f il
t^
i li
ti
f d f
t^
faults),
or
f
ailures
are
materializations
of
d
efects
or
faults).
http://www.pieas.edu.pk/umarfaiz/cis
Gathering data about time between failures is very ^
Gathering
data
about
time
between
failures
is
very
expensive.
It
requires
recording
the
occurrence
time
of
each
software
failure.
It
is
sometimes
quite
difficult
to
record
the
time
for
all
the
failures
observed
during
testing
or
operation.
Ti
b t
f il
d t
l^
i^
hi h d
f
Ti
me
b
etween
f
ailures
d
ata
also
requires
a
hi
gh
d
egree
of
accuracy.
It
is
for
this
reason
the
metric
is
not
widely
used
by
commercial
developers.
http://www.pieas.edu.pk/umarfaiz/cis
The defect rate of a product or the expected number of ^
The
defect
rate
of
a
product
or
the
expected
number
of
defects
over
a
certain
time
period
is
important
for
cost
and
resource
estimates
of
the
maintenance
phase
of
the
ft
lif
l
software
lif
e
cycle.
http://www.pieas.edu.pk/umarfaiz/cis
line
of
code
is
any
line
of
program
text
that
is
not
a
t^
bl
k li
dl
f th
b
f
comment
or
bl
ank
li
ne,
regardless
of
th
e
number
of
statements
or
fragments
of
statements
on
the
line.
This
specifically
includes
all
lines
containing
program
headers,
d
l^
d
bl
d
bl
d
eclarations,
and
executable
and
non
‐executable
statements.
Software Engineering Metrics and Models by Conte et al. (1986)Software
Engineering
Metrics
and
Models
by
Conte
et
al.
(1986)
http://www.pieas.edu.pk/umarfaiz/cis
Even
within
the
same
language,
the
methods
and
l^
ith
d b
diff
t^
ti
t^
l
algorithms
used
b
y^
diff
erent
counting
t
ools
can
cause
significant
differences
in
the
final
counts.
^
Count only executable lines.Count
only
executable
lines.
^
Count
executable
lines
plus
data
definitions.
^
Count
executable
lines,
data
definitions,
and
comments.
^
Count
executable
lines,
data
definitions,
comments,
and
job
control
language.
^
Count lines as physical lines on an input screen ^
Count
lines
as
physical
lines
on
an
input
screen
.
^
Count
lines
as
terminated
by
logical
delimiters.
Jones
(1986)
http://www.pieas.edu.pk/umarfaiz/cis
line
of
code
is
any
line
of
program
text
that
is
not
a
t^
bl
k li
dl
f th
b
f
comment
or
bl
ank
li
ne,
regardless
of
th
e
number
of
statements
or
fragments
of
statements
on
the
line.
This
specifically
includes
all
lines
containing
program
headers,
d
l^
d
bl
d
bl
d
eclarations,
and
executable
and
non
‐executable
statements. ^
Count physical lines including prologues and data ^
Count
physical
lines
including
prologues
and
data
definitions
(declarations)
but
not
comments.
»^
Conte
et
al.
(1986)
http://www.pieas.edu.pk/umarfaiz/cis
The quality of the software product is measured by the ^
The
quality
of
the
software
product
is
measured
by
the
defect
rate
of
the
new
and
changed
code
(first
release
subsequent
releases).
http://www.pieas.edu.pk/umarfaiz/cis