The ReverseAndReengineeringTaxonomy defines reengineering as:

the examination and alteration of a subject system to reconstitute it in a new form and the subsequent implementation of the new form.

It is often presented as consisting of three steps, involving

This definition is not very precise and restrictive: as a result, even ProgramCompilation fits in. It would be more accurate to insist that the new form is at the same or a higher level of abstraction as the original subject system -- conform the ReStructuring definition in which the level of abstraction remains the same.

-- ArieVanDeursen, 04 Aug 2002

Relevant reengineering topics:


The US DOD maintains all sorts of info at, including a Software Reengineering Assessment Handbook, a tool evaluation methodology, and various tool descriptions. Sometimes a bit outdated (viz. dealing with Y2K extensively), sometimes very interesting.

-- ArieVanDeursen, 17 September 2002.

E. J. Byrne (A Conceptual Foundation for Software Re-Engineering, ICSM 1992, pp. 226-235) has proposed a model for reengineering distinguishing three steps:
  1. ReverseEngineering
  2. ReStructuring
  3. ForwardEngineering

which he visualizes using the following figure:


The SEI Horseshoe Model is similar to Byrne's model, and takes a SoftwareArchitecture perspecitve on reengineering:



CategoryReengineeringPages | CategoryReengineeringWiki | Contributions by ArieVanDeursen

Revision: r1.14 - 17 Sep 2002 - 08:12 - ArieVanDeursen
Transform > ReEngineering
Copyright © 1999-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback