Software re-engineering and re-engineering process

Software re-engineering

Software re-engineering

  • Software re-engineering is the examination and alteration of a system to reconstitute it in a new form.
  • The principle of re-engineering when applies to software development processes, is known as software re-engineering.
  • If affects positively at software cost, quality, service to the customer, and speed of delivery.
  • In software re-engineering, we are improving the software to make it efficient and effective.

    Steps of software re-engineering process:
    Threre are 7 steps in re-engineering process in software engineering-
    1. Inventory analysis
    2. Document restructuring
    3. Reverse Engineering
    4. Code restructuring
    5. Data restructuring
    6. Forward engineering

1. Inventory analysis:

  1. An inventory should be made to store all the applications in every organization.
  2. The inventory can be a spreadsheet model containing information that provides a detailed description of every active application.
  3. By sorting this information according to business criticality, longevity, current maintainability, and other important criteria, candidates for re-engineering appear.
  4. Resources can be allocate to candidate applications for re-engineering work.

2. Document restructuring:

  1. Documentation of a system helps in explaining either how it operates or how to use it.
  2. Documentation must be update.
  3. Full re-documentation of an application may not be necessary. Rather, those portions of the system that are currently undergoing change are fully document.
  4. Over time, a collection of useful and relevant documentation will evolve.

3. Reverse engineering:

  1. Reverse engineering is a process of design recovery.
  2. The reverse engineering tools extract data, architectural, and procedural design information from an existing program.

4. Code restructuring:

  1. To accomplish code restructuring, the source code is analyze using a restructuring tool. Violations of structured programming constructs are noted, and code is then restructured.
  2. The resultant restructured code is reviewed and tested to ensure that no anomalies have been introduced. Internal code documentation is updated.

5. Data restructuring:

  1. Data restructuring begins with a reverse engineering activity.
  2. Current data architecture is dissected, and necessary data models are defined.
  3. Data objects and attributes are identifies, and existing data structures are reviews for quality.

6. Forward engineering:

  1. Forward engineering, also called renovation or reclamation recovers design information from existing software.
  2. It uses this information to alter or reconstitute the existing system in an effort to improve its overall quality.

Read more about software design