Lesson 19:: Topics Covered
Lesson 19:: Topics Covered
LESSON 19:
Topics Covered
Maintenance of existing system, The maintenance Process,
Generating particular maintenance proposal, Ripple effect,
Modified program testing, Maintainability, Maintenance models
- Quick fix model, Iterative Enhancement model, Re-use
oriented model, Boehm’s model
Objectives
Upon completion of this Lesson, you should be able to:
• Know how maintenance of existing system is done.
• Know how to generate a particular maintenance proposal
• Know what are the various maintenance models
Maintenance of Existing System
Complete replacement of the system is not usually a viable
option. An operational system in itself can be asset to an
organization in terms of the investment in technical knowledge
and the working culture engendered. The current system may
need to have the potential to evolve to a higher state, providing
more sophisticated user-driven functionality, the capability of Program Understanding
developing cutting edge technology, and of allowing the The first phase consists of analyzing the program in order to
integration of other systems in a cost effective manner. understand it. Several attributes such as the complexity of the
1. Describe various categories of maintenance. Which category program, the documentation, and the self-descriptiveness of
consumes maximum time and why? the program contribute to the ease of understanding the
2. What are the implications of maintenance for a one-person program. The complexity of the program is a measure of the
software production’ organization? effort required to understand the program and is usually based
on the control or data flow of the program. The self-descrip-
3 Discuss the various problems during maintenance.
tiveness of the program is a measure of how clear the program
Describe some solutions to these problems.
is, i.e., how easy it is to read, understand, and use.
4 Why do you think that the mistake is frequently made of
considering software maintenance to be inferior to software Generating Particular Maintenance Proposal
development? The second phase consists of generating a particular mainte-
nance proposal to accomplish the implementation of the
The Maintenance Process maintenance objective. This requires a clear understanding of
Once particular maintenance objective is established, the both the maintenance objective and the program to be modi-
maintenance personnel must first understand what they are to fied. However, the ease of generating maintenance proposals
modify. They must then modify the program to satisfy the for a program is primarily affected by the attribute extensibility.
maintenance objectives. After modification, they must ensure The extensibility of the program is a measure of the extent to
that the modification does not affect other portions of the which the program can support extensions of critical functions.
program. Finally, they must test the program. These activities
can be accomplished in the four phases as shown in Fig. Ripple Effect
The third phase consists of accounting for all of the ripple
effect as a consequence of program modifications. In software,
the effect of a modification may not be local to the modifica-
tion, but may also affect other portions of the program. There
is a ripple effect from the location of the modification to the
other parts of the programs that are affected by the modifica-
tion. One aspect of this ripple effect is logical or functional in
nature. Another aspect of this ripple effect concerns the
performance of the program. Since a large-scale program usually
has both functional and performance requirements, it is
necessary to understand the potential effect of a program
modification from both a logical and a performance point of
The pressure of the maintenance environment often dictates type of resources expanded.
that a quick solution is found but, as we have seen, the use of
the quickest solution can lead to more problems than it solves.
In the first iteration, problem areas would be identified and
next iteration would specifically address the problem.
The problems with this model are the assumptions made
about the existence of full documentation and the ability of the
maintenance team to analyze the existing product in full. Wider
use of structured maintenance models will lead to a culture
where documentation tends to be kept up to date and com-
plete, the current situation is that this is not often the case.
Reuse Oriented Model
This model is based on the principle that maintenance could be
viewed as an activity involving the reuse of existing program
components. The reuse model has four main steps:
Boehm sees the maintenance manager’s task as one of balancing
i. Identification of the parts of the old system that are
the pursuit of the objectives of maintenance against the
candidates for reuse.
constraints imposed by the environment in which maintenance
ii. Understanding these system parts.. work is carried out. Thus the maintenance process is driven by
iii. Modification of the old system parts appropriate to the the maintenance manager’s decisions, which are based on the
new requirements. balancing of objectives against the constraints.
iv. Integration of the modified part ~ into the new system. Notes
A detailed framework is required for the classification of
components and the possible modifications. With the full reuse
model the starting point may be any phase of the life cycle - the
requirements, the design, the code or the test data - unlike other
models. (The model is shown in figure) For example, in the
quick-fix model, the starting point is always the code.
Boehm’s Model
In 1983 Boehm [BOEH83] proposed a model for the mainte-
nance process based upon the economic models and principles,
Economic models are nothing new, economic decisions are a
major driving force behind many processes and Boehm’s thesis
was that economic models and principles could not only
improve productivity in the maintenance but also help under-
standing the process.
Boehm represents the maintenance process as a closed loop cycle
as shown in Figure. He theorizes that it is the stage where
management decisions are made that drives the process. In this
stage, a set of approved changes is determined by applying
particular strategies and cost-benefit evaluations to a set of
proposed changes. The approved changes are accompanied by