Sei sulla pagina 1di 20

Maintenance, Reliability and Quality

Maintenance Types y Lehmans laws y Maintenance Process Models y Reliability Hardware and Software y Reliability Metrics y Quality y ISO -9001, SEI CMM, Six Sigma
y

Maintenance
This phase starts after the software goes live y One of the most important phases y Every development needs maintenance y All good software continue to evolve after its development through maintenance efforts
y

Type of maintenance
y

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


y

Lehman s Laws
First Law Software product must 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


y

Method 1
Small requirement changes Requirements are not complex in nature

Method 2
y y y

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 Design New Requirement Specs Design

Module specs Code

Module specs

Code

Reliability
y

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


y

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 faultsreplace 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. y Reliability can also be a part of the nonfunctional requirement in SRS y Some reliability metrics
y

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)


y ROCOF measures:

The frequency of occurrence of failures. Observe the behaviour of a software product in operation:
x over a specified time interval x calculate the total number of failures during the interval.

Mean Time To Failure (MTTF)


y

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)


y

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)


y

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)


y y

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:
x 1 out of 1000 service requests may result in a failure.

Availability
y

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
y

Several quality factors are associated with a software product :


Correctness Reliability Portability Usability Reusability Maintainability

Software Quality Management System


y

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 y SEI CMM (Capability Mature Model) y Six Sigma
y

Assignment
What is the difference between ISO 9001, 9002 and 9003? y Compare between ISO 9001 and SEI CMM? y What are the metrics of six sigma, 5 sigma and 4 sigma?
y

Potrebbero piacerti anche