










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
Mr. Umer Faiz teaches Software Engineering and Software Quality at Bachelors and Masters Levels. He is considered to be one of the best teachers at PIEAS. This is a series of his lectures on Software Quality.
Typology: Slides
1 / 18
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 13Lecture 13
Umar Faiz
http://www.pieas.edu.pk/umarfaiz/cis
Software Quality
Software reliability models are used to assess ^
Software
reliability
models
are
used
to
assess
^
A^
software
product's
reliability
^
To estimate the number of latent defects when it is available toTo
estimate
the
number
of
latent
defects
when
it
is
available
to
the
customers.
Such
an
estimate
is
important
for
two
reasons:
As
an
objective
statement
of
the
quality
of
the
product
For
resource
planning
for
the
software
maintenance
phase
http://www.pieas.edu.pk/umarfaiz/cis
Static Software Reliability Models ^
Static
Software
Reliability
Models
^
A^
static
model
uses
other
attributes
of
the
project
or
program
modules
to
estimate
the
number
of
defects
in
the
software.
^
Static
models
are
static
in
the
sense
that
the
estimated
coefficients
of
their
parameters
are
based
on
a
number
of
previous projectsprevious
projects
.
^
The
current
product
is
treated
as
an
additional
observation
in
the
same
population
of
products.
^
Static
models
are
better
suited
for
hypothesis
testing
(trends,
correlation),
and
not
as
suitable
for
product
‐level
reliability
estimatingestimating
http://www.pieas.edu.pk/umarfaiz/cis
Static Software Reliability Models ^
Static
Software
Reliability
Models
^
A^
static
model
of
software
quality
estimation
has
the
following
general
form:
g y^
=^
f(x
, 1
x
, 2
x
, 3
……x
)k
e
where
y^
(the
dependent
variable
)^
is
the
defect
rate
or
the
number
of
defectsdefects
,
x^ i
(the
independent
variables
)^
are
the
attributes
of
the
product,
the
project,
or
the
process
through
which
the
product
is
developed. The
error
term
is
e
(because
models
don't
completely
explain
the
behavior of the dependent variable)
http://www.pieas.edu.pk/umarfaiz/cis
behavior
of
the
dependent
variable)
.
Dynamic Software Reliability Models ^
Dynamic
Software
Reliability
Models
^
They
can
be
classified
into
two
categories:
-^
Those
that
model
the
entire
development
p
rocess
p^
p
-^
Those
that
model
the
back
‐end
testing
phase.
^
The
former
is
represented
by
the
Rayleigh
model.
The
latter
is
represented by the exponential model and other reliability growthrepresented
by
the
exponential
model
and
other
reliability
growth
models
http://www.pieas.edu.pk/umarfaiz/cis
The Rayleigh model is a member of the family of the ^
The
Rayleigh
model
is
a
member
of
the
family
of
the
Weibull distribution.
The
Weibull distribution
are
used
for
predicting
reliability
and
probability
distribution
Two
standard
functions
for
graphing
Weibull
-(t/c)
m
(t/c)
(Cumulative Distribution Function) CDF: F(t) =
1-e
m
( t )
m
-(t/c)
m
m
( t )
-(t/c)
(Probability Density Function) PDF: f(t) =
t^
( c )
e
http://www.pieas.edu.pk/umarfaiz/cis
It has been empirically well established that software ^
It
has
been
empirically
well
established
that
software
projects
follow
a
life
‐cycle
pattern
described
by
the
Rayleigh
density
curve
Applications
of
the
model
can
be
used
for
staffing
requirements
over
time,
and
defect
removal
patterns.
Th
d l h
b
lid t d
ith
l^
t^
d th i
Th
e
model
h
as
b
een
validated
with
real
systems
and
th
eir
resulting
actual
defect
rates.
http://www.pieas.edu.pk/umarfaiz/cis
1 The defect rate observed during the development process1.
The
defect
rate
observed
during
the
development
process
is
positively
correlated
with
the
defect
rate
in
the
field.
Assuming
the
defect
removal
effectiveness
or
the
g
organization)
remains
unchanged,
then
a
higher
curve
(more
defects)
during
development
means
a
higher
defect
injection rate and hence a higher field defect rateinjection
rate
and
hence
a
higher
field
defect
rate
http://www.pieas.edu.pk/umarfaiz/cis
If the error injection rate is low then the chance of errors ^
If
the
error
injection
rate
is
low
then
the
chance
of
errors
making
it
to
the
field
is
reduced
due
to
the
lower
number
of
total
errors
present.
If
the
process
is
detecting
errors
in
the
front
‐end
then
the
chance
of
the
errors
making
it
to
the
field
is
reduced
due
to the higher chance that errors are detected and requireto
the
higher
chance
that
errors
are
detected
and
require
minimal
rework.
^
Point:
Heavy
rework
can
detract
from
finding
additional
errors.
http://www.pieas.edu.pk/umarfaiz/cis
Effect
of
Early
Defect
Removal
and
Reducing
Error
Injection
http://www.pieas.edu.pk/umarfaiz/cis
Modeling reliability refers to the degree of change in the ^
Modeling
reliability
refers
to
the
degree
of
change
in
the
model
output
due
to
change
fluctuations
in
the
input
data.
Confidence
interval
of
estimate
is
determined
by
they
model
reliability
and
is
generally
increased
with
larger
sample
sizes.
http://www.pieas.edu.pk/umarfaiz/cis
Accuracy of model estimates ^
Accuracy
of
model
estimates
Input
data
must
be
accurate
and
reliable
To establish high Predictive Validity model estimates and ^
To
establish
high
Predictive
Validity
model
estimates
and
actual
outcomes
must
be
compared
and
empirical
validity
must
be
established.
The
validity
of
software
reliability
models
is
context
specific.
certain
model
may
work
well
for
a
specific
organization or development structure but not for othersorganization
or
development
structure
,^ but
not
for
others
No
universally
good
software
reliability
model
exists. http://www.pieas.edu.pk/umarfaiz/cis