What is software re-engineering process? Describe activities of software re-engineering process
Software Reengineering Process
The software reengineering process allows modernizing the used system and eliminating technical problems, which reduces the cost of service and expands its capabilities in terms of meeting business needs. The input to the reengineering process is a legacy program and the output is an improved and restructured version of the same program.
The activities in the reengineering process are:
1) Source code translation: Source code translation is the automatic conversion of a program written in one programming language to another language. It may be necessary when the original programming language is obsolete. Using a translation tool, the program is converted from an old programming language to a more modern version of the same language or to a different language e.g FORTRAN to C.
2) Program structure improvement: It focuses on the design details of individual modules and on local data structures defined within modules. In this, the control structure of the program is analyzed and modified to make it easier to read and understand
3) Program modularization: In this method, repeated parts of the program are grouped together and redundancy is removed where ever it is appropriate. The system that uses several different data stores may be re-factored to use a single repository.
4) Data reengineering: Data reengineering is the process of changing the data structure organization without changing the data values. It is necessary because of inconsistent data management. It involves analysis and reorganizing the data structure (Sometimes data values) in a program. Maybe part of the process of migrating from a file-based system to a DBMS-based system or changing from one DBMS to another. Different approaches to data reengineering are Data Clean up, Data extension, and Data migration.
5) Reverse engineering: Reverse engineering is the process of deriving the system design and specification from its source code. The purpose of reverse engineering is to facilitate the maintenance work by improving the understandability of a system and to produce the necessary documents for a legacy system. In this, the software is analyzed with a view to understanding its design and specification but may also be used to re-specify a system for re-implementation. This process is usually completely automatic. The design and specification of a system may be reverse-engineered so that they can be an input to the requirement specification process for the replacement of the system.
Comments
Post a Comment