Chapter One
Chapter One
¨Perfective: Preventive:
¨ due to changes in requirements ¨ Preventing problems from occurring by
¨ Make a Varity of improvement modifying the product.
¨ Often triggered by organizational, ¨e.g., dealing with legacy systems
business or user learning
¨ E.g. program can be modified to make it
faster
Software Maintenance…
Swanson’s classification of maintenance activities is intention based because
the maintenance activities reflect the intents of the developer to carry out
specific maintenance tasks on the system.
In the intention-based classification of maintenance activities, the intention of
an activity depends upon the motivations for the change.
¨ Activities to make corrections: If there are discrepancies between the
expected behavior of a system and the actual behavior, then some activities
are performed to eliminate or reduce the discrepancies.
¨ Activities to make enhancements: A number of activities are performed to
implement a change to the system, thereby changing the behavior or
implementation of the system.
Software Maintenance…
This category of activities is further refined into three subcategories:
¨ A legacy software system is an old program that continues to be used because it still meets
the users’ needs, in spite of the availability of newer technology or more efficient methods
of performing the task.
¨ It is the phase out stage of the software evolution model of Rajlich and Bennet described
earlier.
There are a number of options available to manage legacy systems. Typical solution
include:
Freeze: The organization decides no further work on the legacy system should be
performed.
Outsource: An organization may decide that supporting software is not core business, and
may outsource it to a specialist organization offering this service.
LEGACY SYSTEMS…
Carry on maintenance: Despite all the problems of support, the organization
decides to carry on maintenance for another period.
Discard and redevelop: Throw all the software away and redevelop the
application once again from scratch.
Wrap: It is a black-box modernization technique – surrounds the legacy system
with a software layer that hides the unwanted complexity of the existing data,
individual programs, application systems, and interfaces with the new interfaces.
Migrate: Legacy system migration basically moves an existing, operational
system to a new platform, retaining the legacy system’s functionality and causing
minimal disruption to the existing operational business environment as possible
IMPACT ANALYSIS
¨ Impact analysis is the task of estimating the parts of the software that can be
affected if a proposed change request is made.
¨ Impact analysis techniques can be partitioned into two classes:
¨ Traceability analysis: In this approach the high-level artifacts such as
requirements, design, code and test cases related to the feature to be
changed are identified.
¨ A model of inter-artifacts such that each artifact in one level links to other
artifacts is constructed, which helps to locate a pieces of design, code and
test cases that need to be maintained.
IMPACT ANALYSIS..
Benefits of Reuse
Increased reliability
Reduced process risk
Increase productivity
Standards compliance
Accelerated development
Improve maintainability
Reduction in maintenance time and effort