Software Maintenance
By: Mike • Research Paper • 1,501 Words • April 7, 2010 • 1,095 Views
Software Maintenance
SOFTWARE MAINTENANCE
Abstract
A consequence of the widespread utilisation of computer based technology over
the past few decades has been the emergence of vast, highly complex computer
systems whose content and structure are increasingly resistant to modification
and change. However fallible such legacy systems remain, many are
“mission-critical” whereby their failure may lead to the collapse of the
business or industry in which they serve. In such cases, it is ultimately not
possible to decommission the system in question. The present report
investigates the nature of such systems and examines why legacy systems cause
problems to Software Maintenance Managers? This report also provides a brief
overview as to how such problems can be minimised and controlled.
Keywords: Legacy systems, legacy system migration, mission critical systems,
re-engineering, software wrapping, software evolution.
1. Introduction
The literature describes legacy systems in terms of being an existing
software application that is predominately within the maintenance phase of its
lifecycle. Such systems are typically old and heavily modified from their
original designs by years of maintenance, usually by many different people
[Moor00]. Although legacy systems are technically obsolete, having been written
in assembly or early third generation languages such as COBAL Fortran and Coral,
they generally represent considerable investment, and maintain significant value
to their users [Benn95] [Brod95].
Legacy systems typically form the backbone of information flow within an
organisation, and as such, are essential for the function of its business.
Failure in these systems is likely to have serious consequences hence why legacy
software is often considered of a “mission critical nature” [Benn95] [Bisb99].
As can be expected, systems of this nature pose a number of problems to the
users, and to the Software Maintenance Manager responsible for the upkeep of the
system. Such problems range from the cost of maintenance to the utilisation of
obsolete skills and technologies. However, several solutions have been proposed
and documented in the literature in response to, and to minimise, these
problems. Generally, they are classified under four categories: maintenance,
re-development, wrapping and migration [Bisb99] [Lee97].
Therefore, the remainder of this report is structured as follows. The next
section addresses the problems posed by legacy systems. Section 3 describes,
with reference to the above 4 categories, methods and techniques used to
minimise these problems. The concluding section presents a summary of findings
and briefly discusses possible future research directions.
2. Legacy Problems
Obsolete or not, a recent study in the usage of legacy systems, estimated
that more than 100 billion lines of working legacy code exit within the
framework of modern business and industry [Coyl00]. With much of this code
found within systems of a “mission critical” nature, the very existence of such
code perpetrates considerable problems to the person responsible for system
maintenance.
2.1