- 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:
- An inventory should be made to store all the applications in every organization.
- The inventory can be a spreadsheet model containing information that provides a detailed description of every active application.
- By sorting this information according to business criticality, longevity, current maintainability, and other important criteria, candidates for re-engineering appear.
- Resources can be allocate to candidate applications for re-engineering work.
2. Document restructuring:
- Documentation of a system helps in explaining either how it operates or how to use it.
- Documentation must be update.
- Full re-documentation of an application may not be necessary. Rather, those portions of the system that are currently undergoing change are fully document.
- Over time, a collection of useful and relevant documentation will evolve.
3. Reverse engineering:
- Reverse engineering is a process of design recovery.
- The reverse engineering tools extract data, architectural, and procedural design information from an existing program.
4. Code restructuring:
- 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.
- The resultant restructured code is reviewed and tested to ensure that no anomalies have been introduced. Internal code documentation is updated.
5. Data restructuring:
- Data restructuring begins with a reverse engineering activity.
- Current data architecture is dissected, and necessary data models are defined.
- Data objects and attributes are identifies, and existing data structures are reviews for quality.
6. Forward engineering:
- Forward engineering, also called renovation or reclamation recovers design information from existing software.
- It uses this information to alter or reconstitute the existing system in an effort to improve its overall quality.
Read more about software design