Reengineering

Reengineering

The term reengineering in the software development describes the
adaptation of an existing system, usually with the aim of
eliminating present weaknesses and facilitating the implementation
of new requirements. A reengineering is also often executed in
connection with the porting of the system to a different
platform.

Reverse engineering

In the case that during the execution of a reengineering, no
specification or documentation of the software is available, the
software needs to be derived from the implementation itself. This
process is then called reverse engineering.

Improvement of the software quality

Often, the quality of a software decreases in the course of time
due to repeatedly executed functional adaptations. This process is
also called software aging. In order to guarantee the quality and
maintainability of software in the long run, a reengineering is
therefore often necessary.