Abdul Rehman BS (CS) 5: Present To Ms. Shehla

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 21

Present to Ms.

Shehla

ABDUL REHMAN
BS(CS)5TH
TOPIC

MAINTENANCE
VS.
REENGINEERING

SOFTWARE SYSTEM
ABSTRACT
 Maintenance and reengineering terms are closely
coupled with each other.
 Maintenance and reengineering are two different
areas in software engineering.

 Maintenance is for running the system till the age


of the system where as the reengineering make
the system new to work for another life span.
 Maintenance is close to repair/mend where as
reengineering is very close to new development.
INTRODUCTION

 Software engineering is a topic of importance


in the age of software and is gaining attention.
 Software maintenance and software
reengineering both fall in the ambit of software
engineering.
SOFTWARE MAINTENANCE
 Software maintenance is one of the stages in the
software development life cycle (SDLC).
 It starts after the deployment of software in the
working field.

 According to IEEE Std. ‘Software maintenance is


the process of modifying a software system or
component after delivery to correct faults, improve
performances or other attributes, or adapt to a
changed environment’.
TYPES

 Software maintenance is of following four types


are as follows:

 Corrective Maintenance
 Adaptive Maintenance

 Preventive Maintenance

 Perfective Maintenance
TYPES……..CONTI
Corrective Maintenance:
As its name implies, activities of correcting bugs in
the software are included in this type of
maintenance. It is for making the software system to
conform to the real situation.
Adaptive Maintenance:
It deals with making the software adjustable to the changed environment.
Preventive Maintenance:
Modification of the software to detect and correct hidden faults (bugs) before becoming
active.
Perfective Maintenance:
It is modification of the software for better performance, maintenance and reliability. The
activities related to updating the software are included in this type of maintenance.
CONTI….

Cost
 Software maintenance is last stage in the software development life cycle. Maintenance starts after the delivery
of the software. The ability to accurately estimate the time and cost of software maintenance is the key factor for
successful of maintenance project.
 It goes on increasing with the increasing age of software as described in the following figure.
REENGINEERING

 Reengineering is the analysis of existing


software system and modifying it to constitute
into a new form.
 Improve the program structure and system performance.
STAGES

 Reengineering has the following three stages.

1.Reverse engineering
2.Architecture transformations
3.Forward engineering
CONTI…
 Reverse engineering:
In this stage software is thoroughly understood. It is untied and underlying technology is perceived. Business process
is improved and requirements are updated. Objects are added or deleted according to the new system planned. In
this stage we go from code level to higher level abstraction. It is vertically upward step shown in the figure.
CONTI…
 Architecture transformations:
Software architecture is changed. It is modified, improved to fit in the new technology and new
environment. It is the architecture designing stage. It is horizontally right ward step as shown in the figure.
CONTI…
 Forward engineering:
In this stage, we move from higher level of abstraction to code level. In this stage software integrated
according to new design. It is vertically downward step as shown in the figure.
 MAINTENANCE
Maintenance VS.
and reengineering are closely related
to REENGINEERING
each other.
 Software maintenance starts after delivery of the
software to correct faults, to improve performance
and other attributes of the software.

 When maintenance exhaust, reengineering is


called.
MODELS

 Following are the models for change of


maintenance and reengineering.

 Thoroughfare model
 Cost based Model

 Discrete Model
CONTI…

 Thoroughfare model:
CONTI…

 Cost based Model:


CONTI…

 Discrete Model:
CONCLUSION

I hope that my presentation will be helpful for my


audience to improve their knowledge about Software
Maintenance and Re-Engineering. Also it helps to spread
awareness among normal or technical people about
development.

You might also like