himanshu

Post on 21-Jan-2015

112 Views

Category:

Engineering

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

Software Engineering Maintenance

TRANSCRIPT

Software Maintenance

HimanshuReg.No - 20114024Roll no - 25

2

Software Maintenance, definition

The process of modifying a software system or component after delivery tocorrect faults,improve performance or otherattributes, or adapt to a changed environment

Software Maintenance

Main issues: why maintenance is such an issue reverse engineering and its limitations how to organize maintenance

4

Relative distribution of software/hardware costs

HardwareDevelopment

Software

Maintenance

1955 1970 1985Year

100

60

20

Perc

ent o

f tot

al c

ost

5

• Why does software maintenance cost so much?

6

Maintenance is thus concerned with:

• correcting errors found after the software has been delivered

• adapting the software to changing requirements, changing environments, ...

7

Key to maintenance is in development

• Higher quality less (correctie) maintenance

• Anticipating changes less (adaptive) maintenance

• Better tuning to user needs less (perfective) maintenance

• Less code less(preventive) maintenance

8

Kinds of maintenance activities

• corrective maintenance: correcting errors

• adaptive maintenance: adapting to changes in the environment (both hardware and software)

• perfective maintenance: adapting to changing user requirements

• preventive maintenance: less code , increasing the system’s maintainability

10

Distribution of maintenance activities

corrective 21%

adaptive 25%

preventive 4%

perfective 50%

Poblems during maintenance

• Persons may not have adequate knowledge about programs ,they may introduce changes to programs without being aware of their effects on other parts of system –”ripple effect”

• Users lack the ability to express problem regarding software to programmers in their understandable form

• Systems not designed for change and hardly any scope for change,maintenance will be very difficult

Maintenance Process

Maintenance models

• Quick fix model• Iterative Enhancement Model• Reuse Oriented Model

Quick Fix Model

• Find problem fix it as quickly as possibe• Fixing without detailed analysis of long term effect of editing

Iterative Enhancement Model• Changes to software are throughout its lifetime are iteative

• It requires full documentaion• It is based on ability fo maintenance team to

analyze the existing product full

Reuse Oriented Model• Maintenance involves reuse of existing program components• It requires full doc.• It is based on ability of maintenance team to analyze the existing product fully

• It has four parts– Identification of parts of old system– Understanding these system parts– Modification fo old parts to new ones– Integration of modified parts into new system

top related