Software Maintenance Prediction
Software Maintenance Prediction
Software Maintenance Prediction
Maintenance
Prediction
Software maintenance prediction
2
Various predictions are closely related and specify
the following.
▪ 1. The decision to accept a system change depends on the
maintainability of the system components affected by that
change up to a certain extent.
▪ 2. Implementation of changes results in degradation of
system structure as well as reduction in system maintainability.
▪ 3. Costs involved in implementing changes depend on the
maintainability of the system components.
4
▪ To predict the number of changes requested for
a system, the relationship between the system
and its external environment should be properly
understood. To know the kind of relationship
that exists, organizations should assess the
following.
5
▪ 1. Number and the complexity involved in the system
interface. More interfaces mean more complexity, which in
turn means more demand for change.
▪ 2. Number of system (volatile) requirements. Changes
required in organizational policies and procedures tend to be
more volatile than the requirements based on a particular
domain.
▪ 3. Number of business processes in which the system
operates. More business processes implies more demands for
system change. 6
▪ To predict maintainability of a software system,
it is important to consider the relationship
among the different components and the
complexity involved in them.
7
COMPLEXITY
8
After a system has been put into
operation, several process metrics are
used to predict the software
maintainability. Process metrics, which
may be useful for assessing
maintainability, are listed below.
▪ 1. Corrective maintenance: Sometimes,
more errors are introduced rather than being
repaired during the maintenance process. This
shows decline in maintainability.
10
▪ 2. Average time required for impact
analysis: Before starting the software
maintenance process, it is essential to analyze
the impact of modifications in the software
system. This is known as impact analysis, which
reflects the number of components affected by
the change.
11
▪ 3. Number of outstanding change
requests: If the number of outstanding change
requests increases with time, it may imply
decline in maintainability.
12
▪ 4. Average time taken to implement a change
request: This involves activities· concerned with
making changes to the system and its
documentation rather than simply assessing the
components which are affected. If the time
taken to implement a change increases, it may
imply a decline in maintainability.
13