Abdul Rehman BS (CS) 5: Present To Ms. Shehla
Abdul Rehman BS (CS) 5: Present To Ms. Shehla
Abdul Rehman BS (CS) 5: Present To Ms. Shehla
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.
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
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.
Thoroughfare model
Cost based Model
Discrete Model
CONTI…
Thoroughfare model:
CONTI…
Discrete Model:
CONCLUSION