You are on page 1of 20

Maintenance, Reliability and Quality

Maintenance – Types
Lehman’s laws
Maintenance Process Models
Reliability – Hardware and Software
Reliability Metrics
Quality
ISO -9001, SEI CMM, Six Sigma
Maintenance
This phase starts after the software goes
live
One of the most important phases
Every development needs maintenance
All good software continue to evolve after
its development through maintenance
efforts
Type of maintenance
Corrective
◦ All the bugs in the system discovered after release is
resolved in this phase
Adaptive
◦ Maintenance is done when platforms changed, OS
upgraded or new interfaces added
Perfective
◦ This involves adding new features and changing
existing functionalities
Characteristics of s/w evolution
Lehman’s Laws
◦ First Law – Software product much change
continuously otherwise they will become
progressively less useful
◦ Second Law – The structure of the program
tends to degrade as more and more
maintenance is carried out
◦ Third Law – The rate at which code is written
or modified is approximately the same during
development and maintenance
Software Maintenance Process Models
Method 1
◦ Small requirement changes
◦ Requirements are not complex in nature

Method 2
Requirements are complex
Existing applications do not have proper
documentation and design
Use of reverse engineering and forward engineering
Method 1

Gather change requirements

Analyze change requirements

Devise code change strategies

Apply code changes to old code

Update documents Integrate and test


Method 2
Change Requirement

Reverse Engineering

Requirement Specs New Requirement Specs

Design Design

Module specs Module specs

Code
Code
Reliability
Reliability of a software product:
◦ a concern for most users especially industry users.
◦ An important attribute determining the quality of the
product.
◦ Users not only want highly reliable products but want
quantitative estimation of reliability before making buying
decision.

Accurate measurement of software reliability:


◦ a very difficult problem
◦ Several factors contribute to making measurement of
software reliability difficult
Hardware Vs Software Reliability
Hardware failures:
◦ inherently different from software failures.

Most hardware failures are due to component wear and


tear:
◦ some component no longer functions as specified.

To fix hardware faults-


◦ replace or repair the failed part

Software faults are latent:


◦ system will continue to fail unless changes are made to the
software design and code.
Reliability Metrics
There are many method by which reliability of
a software product can be measured.
Reliability can also be a part of the non-
functional requirement in SRS
Some reliability metrics
◦ Rate of Occurrence Of Failure (ROCOF)
◦ Mean Time to Failure (MTTF)
◦ Mean Type to Repair (MTTR)
◦ Mean Time between Failure (MTBF)
◦ Probability of failure on demand(POFOD)
◦ Availability
Rate of Occurrence Of Failure
(ROCOF)
ROCOF measures:

◦ The frequency of occurrence of


failures.
◦ Observe the behaviour of a software
product in operation:
 over a specified time interval
 calculate the total number of failures
during the interval.
Mean Time To Failure (MTTF)
Average time between two successive
failures:
◦ observed over a large number of failures.
MTTF is not as appropriate for software as for
hardware:
◦ Hardware fails due to a component’s wear and
tear indicating how frequently the component fails
◦ When a software error is detected and repaired
the same error never appears.
Mean Type to Repair (MTTR)
Once the failure occurs, it takes time to fix
it and addition time is lost

MTTR measures the average time it takes


to fix faults
Mean Time between Failures (MTBF)

We can combine MTTF and MTTR:


◦ to get an availability metric:
◦ MTBF=MTTF+MTTR

MTBF of 100 hours would indicate


◦ Once a failure occurs, the next failure is
expected after 100 hours
Probability of failure on demand(POFOD)

Unlike other metrics


◦ This metric does not explicitly involve time.
Measures the likelihood of the system
failing:
◦ when a service request is made.
◦ POFOD of 0.001 means:
 1 out of 1000 service requests may result in a
failure.
Availability
This metric is important for systems
like:
◦ telecommunication systems,
◦ operating systems, etc. which are supposed
to be never down
◦ where repair and restart time are significant
and loss of service during that time is
important.
◦ Availability is also important for web
applications
Quality
Several quality factors are associated
with a software product :
◦ Correctness
◦ Reliability
◦ Portability
◦ Usability
◦ Reusability
◦ Maintainability
Software Quality Management System
Quality management system (or quality system):

◦ Principal methodology used by organizations to


ensure that the products have desired quality.

Quality System Activities


◦ Auditing of projects
◦ Development of standards, procedures, and guidelines.
◦ Production of reports for the top management:
◦ Summarizing the effectiveness of the quality system in
the organization.
◦ Review of the quality system itself
Certifications
International Standards Organization –
ISO 9000
SEI –CMM (Capability Mature Model)
Six Sigma
Assignment
What is the difference between ISO 9001,
9002 and 9003?
Compare between ISO 9001 and SEI –
CMM?
What are the metrics of six sigma, 5 sigma
and 4 sigma?

You might also like