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

Popular posts from this blog

Suppose that a data warehouse for Big-University consists of the following four dimensions: student, course, semester, and instructor, and two measures count and avg_grade. When at the lowest conceptual level (e.g., for a given student, course, semester, and instructor combination), the avg_grade measure stores the actual course grade of the student. At higher conceptual levels, avg_grade stores the average grade for the given combination. a) Draw a snowflake schema diagram for the data warehouse. b) Starting with the base cuboid [student, course, semester, instructor], what specific OLAP operations (e.g., roll-up from semester to year) should one perform in order to list the average grade of CS courses for each BigUniversity student. c) If each dimension has five levels (including all), such as “student < major < status < university < all”, how many cuboids will this cube contain (including the base and apex cuboids)?

Suppose that a data warehouse consists of the four dimensions; date, spectator, location, and game, and the two measures, count and charge, where charge is the fee that a spectator pays when watching a game on a given date. Spectators may be students, adults, or seniors, with each category having its own charge rate. a) Draw a star schema diagram for the data b) Starting with the base cuboid [date; spectator; location; game], what specific OLAP operations should perform in order to list the total charge paid by student spectators at GM Place in 2004?

Discuss classification or taxonomy of virtualization at different levels.