Software Evolution

Includes all development activities that intend to take the software from a basic to more advanced state.

Untitled

Software Maintenance

Includes activities required to keep the software operation and responsive after deployment. this involves making small changes to a deployed system but no major change to its architecture or requirements.

Change Impact Analysis

Software maintenance and evolution involve change, and change impact analysis is the task of estimating the parts of the software that could be affected by a proposed change.

Techniques for performing impact analysis are:

Software Refactoring

This is the process of making a change to the internal structure software to make it easier to understand and cheaper to maintain without changing its observable behavior.

It is a way to pay back to the technical debt, which is necessary work that gets delayed during the development of a software project in order to hit a particular deliverable or deadline.

Method Refactoring