Lecture Notes 3 - Software Reengineering
Lecture Notes 3 - Software Reengineering
Software Re-Engineering
Software Re-Engineering is the examination and alteration of a system to reconstitute it
in a new form. The principles of Re-Engineering when applied to the software
development process is called software re-engineering. It 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 more efficient and effective.
The need of software Re-engineering: Software re-engineering is an economical
process for software development and quality enhancement of the product. This process
enables us to identify the useless consumption of deployed resources and the constraints
that are restricting the development process so that the development process could be
made easier and cost-effective (time, financial, direct advantage, optimize the code,
indirect benefits, etc.) and maintainable. The software reengineering is necessary for
having-
a) Boost up productivity: Software reengineering increase productivity by optimizing
the code and database so that processing gets faster.
b) Processes in continuity: The functionality of older software product can be still used
while the testing or development of software.
c) Improvement opportunity: Meanwhile the process of software reengineering, not
only software qualities, features and functionality but also your skills are refined, new
ideas hit in your mind. This makes the developers mind accustomed to capturing new
opportunities so that more and more new features can be developed.
4. Code Reconstructing:
To accomplish code reconstructing, the source code is analysed using a reconstructing
tool. Violations of structured programming construct are noted and code is then
reconstructed.
The resultant restructured code is reviewed and tested to ensure that no anomalies
have been introduced.
5. Data Restructuring:
Data restructuring begins with a reverse engineering activity.
Current data architecture is dissected, and the necessary data models are defined.
Data objects and attributes are identified, and existing data structure are reviewed for
quality.
6. Forward Engineering:
Forward Engineering, also called renovation or reclamation, not only recovers design
information from existing software but uses this information to alter or reconstitute the
existing system in an effort to improve its overall quality.
Source: https://www.geeksforgeeks.org/software-re-engineering/