Maintenance
Maintenance
Making changes to the software after it has been
handed over to the client, and enters productive use.
Maintenance activities
Corrective maintenance

Fixing bugs / removing errors

Adaptive maintenance
Changes to the environment in which the software operates
means necessary changes to the code. Could be updated
operating system, or new hardware

Perfective maintenance
Responding to user requests for changes in functionality or
additional features
Maintenance activities
           Associated Maintenance Time


                         Corrective
                            17%
                                      Adaptive
                                        18%
      Perfective
        65%
Factors affecting maintenance
New applications

As users gain experience of a new application, they
will begin to see potential improvements and features.

Staff mobility

It is always easier for the original programmer to
update the code than someone else. When staff move
on, it becomes harder to maintain code unless it is
very well documented.
Factors affecting maintenance
Too many versions

It can be difficult to trace changes in code if there
have been a number of releases.
Factors affecting maintenance
Insufficient documentation

If the design documentation or internal commentary is
poor or missing, then maintenance will be affected.

It is good practice to use internal commentary and
descriptive variable names.
Factors affecting maintenance
Insufficient documentation
A good use of variable names and internal commentary:
Factors affecting maintenance
External hardware and software changes

Changes to hardware platforms, or upgrades to
operating systems can affect maintenance
requirements.
The cost of maintenance
The cost of maintenance will obviously vary from one
project to another.

It is estimated that between 40% and 70% of the
overall software development lifecycle costs are spent
on maintenance.

7. The Software Development Process - Maintenance

  • 1.
  • 2.
    Maintenance Making changes tothe software after it has been handed over to the client, and enters productive use.
  • 3.
    Maintenance activities Corrective maintenance Fixingbugs / removing errors Adaptive maintenance Changes to the environment in which the software operates means necessary changes to the code. Could be updated operating system, or new hardware Perfective maintenance Responding to user requests for changes in functionality or additional features
  • 4.
    Maintenance activities Associated Maintenance Time Corrective 17% Adaptive 18% Perfective 65%
  • 5.
    Factors affecting maintenance Newapplications As users gain experience of a new application, they will begin to see potential improvements and features. Staff mobility It is always easier for the original programmer to update the code than someone else. When staff move on, it becomes harder to maintain code unless it is very well documented.
  • 6.
    Factors affecting maintenance Toomany versions It can be difficult to trace changes in code if there have been a number of releases.
  • 7.
    Factors affecting maintenance Insufficientdocumentation If the design documentation or internal commentary is poor or missing, then maintenance will be affected. It is good practice to use internal commentary and descriptive variable names.
  • 8.
    Factors affecting maintenance Insufficientdocumentation A good use of variable names and internal commentary:
  • 9.
    Factors affecting maintenance Externalhardware and software changes Changes to hardware platforms, or upgrades to operating systems can affect maintenance requirements.
  • 10.
    The cost ofmaintenance The cost of maintenance will obviously vary from one project to another. It is estimated that between 40% and 70% of the overall software development lifecycle costs are spent on maintenance.