Sei sulla pagina 1di 11

ADAPTIVE MAINTENANCE

• A software product depends on


environmental software to run.
• When we view the software
environment as a stack, each
element in the stack depends
on the elements below it.
• Potentially ,whenever software in a lower layer of the stack
undergoes changes, it could cause problems in software in the
upper layers. Hence,the upper layers may need to be
“maintained” incase of any change in the lower layers.
Increasing dependency on lower
Tailored customer applications

Application Products

level products Application Development Tools

Database

Network Software, Language Software, etc.

Operating Systems

Hardware
Maintenance of the upper layers can be of any one form of the following:
-Certification
-Re-linking or regeneration of the product
-Data migration
-Rewriting the code.
CERTIFICATION:
Typically certification entails:
 Creating an environment which
contains the new version of the
changed lower level product.
 Installing the unchanged upper level product in this new environment
 Running whatever tests are necessary to assure that the functionality of the upper level
product is identical to its functionality under the older version of the lower level
product.
Certification differs from other forms of maintenance
in several forms:
It does not involve any code change and primarily involves
installation and testing, hence the nature of job is more that of
testing than of maintenance.
It is usually a planned activity. Thus, it can be scheduled and run
like a traditional development project.
Once a product is certified under the new environment , it has to
be supported on an ongoing basis. Correction of defects may reflect
on old environments too.

Certification activities can be dictated by two factors:


-Market priorities , popularity of the given environment , customers
response to the product.
-Availability of people and other resources to do the certification.
Re-linking or Regeneration of dependent
product:
•Sometimes a new version of a product may require dependent
products to be relinked with new libraries to perform correctly.
Changing a product’s version number implies changing code,
which indicates that the code require no changes.

•There are some variants of this relink for adaptive maintenance.


Sometimes, when a new version of a compiler or an application
development tool is brought out, the source code for the
application programs may have to be run with the changed
compiler. Development tool to generate the new run-time
executables.
Data formats may undergo changes from one version to another.
Some examples of this type of maintenance are:

When a new version of a database is released, the vendor may


make changes in the data storage mechanisms or data access
mechanisms. This may require the installations to
move the data in the existing formats to new
formats acceptable to the new version.

When a new version of an application is


released, it may entail some schema changes
and the existing data may have to be migrated
to make it compatible with the new schema.
When a product requires code changes to make it run under a new,
changed environment, the scenario is similar to corrective
maintenance. The process entails:
A) Planning and scheduling the code change based on:
o Market demand for releasing the product on the new version of
the underlying environment.
o The existing load on the high severity defects in the current
version that need to be fixed and
o The complexity of changes needed to make the product run under
the new environment.
B) Creating the underlying environment of the operating system.
C) Making the relevant changes to the product code to make it run on the
new environment.
D) Testing the final product under the new environment.
E) Base lining the product source code and underlining environment
F) Scheduling the release of the product under the new environment.
 The fundamental difference between adaptive and corrective
maintenance is that the former can usually be a scheduled
activity. Hence , adaptive maintenance can be planned and
tracked like a traditional development project.
 Adaptive maintenance activities like certification is an ideal
starting point for a new entrant into a product development
organization.
 If adaptive maintenance requires understanding and exploiting
the environmental software , it offers an opportunity for people
familiar with environmental software.
These are not necessarily product defects. The product
works as per certifications. Enhancement requests arise
out of:
a. Requirement of a new functionality.
b. Requirement of a changed functionality.
c. Support for a recent technology , device or facility.
d. Addressing performance changes.
When such enhancement requests are introduced in a
maintenance release , the product manager should:
 Ensure that the enhancement does not conflict with
any of the existing, committed features , if the
enhancement is introduced in a maintenance release.

 The enhanced behavior is available to those who desire


it. This may require some modification to the
environment or code from the users. It may also
require re-training for the users.

Potrebbero piacerti anche