Académique Documents
Professionnel Documents
Culture Documents
Jacklyn Ancog
Kimberly Alcoy
What is maintenance?
Not just "fixing mistakes
Any post-delivery modification to
an existing system
Software Maintenance
The process of modifying a
software system or component
after delivery to correct faults,
improve performance or other
attributes, or adapt to a changed
environment.
Software Maintenance
Software maintenance can consume
as much as 90% of the total effort
expended on a system in its lifetime.
Failures continue to be discovered in
software for years.
Often first job upon graduating is
maintenance.
Types of maintenance
1. Corrective Maintenance. This
includes
modifications
and
updations done in order to
correct or fix problems, which
are either discovered by user or
concluded by user error reports.
Types of maintenance
2. Adaptive Maintenance. This
includes
modifications
and
updations applied to keep the
software product up-to date and
tuned to the ever changing
world
of
technology
and
business environment.
Types of maintenance
3. Perfective Maintenance. This
includes
modifications
and
updates done in order to keep the
software usable over long period
of time. It includes new features,
new
user
requirements
for
refining the software and improve
its reliability and performance.
Types of maintenance
4. Preventive Maintenance. This
includes
modifications
and
updations to prevent future
problems of the software. It aims
to attend problems, which are
not significant at this moment
but may cause serious issues in
future.
corrective 21%
perfective 50%
adaptive 25%
preventive 4%
Structured vs Unstructured
Maintenance
Unstructured maintenance wades straight into
the source code and makes changes based on
that alone
Structured maintenance examines and modifies
the original design, and then reworks the code
to match it
Clearly structured maintenance is a more
reliable and (usually) a more efficient process
Unfortunately, it's not always possible
Why so expensive?
Team stability
Contractual responsibility some
developers are not responsible for
maintenance
Maintenance side-effects
Any error or undesirable behavior that occurs as a
result of modifications to a system.
Summary
most of maintenance is (inevitable) evolution
Maintenance problems:
Unstructured code
Insufficient knowledge about system and domain
Insufficient documentation
Bad image of maintenance department