Subscribe by Email

Sunday, June 17, 2012

Forward Engineering - An activity involved in software re-engineering process model

The Software re- engineering process model is known to follow a series of 6 major steps namely:
  1. Inventory analysis
  2. Documentation reconstruction
  3. Reverse engineering
  4. Code re- structuring
  5. Data re- structuring
  6. Forward engineering
In this, we are going to discuss in detail the last step of the software re- engineering process model i.e., the forward engineering. So let us see what this forward engineering is and what role it has got to play in the software re- engineering process. 
As we know the need for re- engineering a software system or application is felt when the software system becomes obsolete to be maintained and executed. 

About Forward Engineering

- Forward engineering follows up after the completion of the data re- structuring. 
- The forward engineering is also known as:
  1. Renovation or
  2. Reclamation
- The forward engineering is carried out so as to recover the design information from the code that already exists. 
- This design information is then used in the re- constitution of the already existing software system or application for improving its overall performance and quality as well.

Stages in Forward Engineering

The forward engineering makes progress by the means of the following stages:
  1. Identification of the system specifications.
  2. Designing and implementation of the specifications.
  3. Creation of a new software system or application.

Characteristics of Forward Engineering Client or Server

A forward engineering client or server architecture has got the following characteristics:
  1. The client computer accepts the migrated application functionality.
  2. At the client sites the new GUI interfaces are implemented.
  3. The data base functions are allocated to the servers.
  4. In some cases the specialized functionality may preside at the site of the server itself.
  5. There are certain requirements like communications, archiving, control and security requirements that are established at both the server as well as the client side.

Forward Engineering in OOA

- In object oriented architectures under the concept of the forward engineering, the existing software system is subjected to reverse engineering so that an appropriate model is created. - The user interfaces developed with the forward engineering tend to understand the original user interface and data flow between the interface and the rest of the software application. 
The behavior that was implied by the already existing user interface is re-modeled in to a series of GUI context abstractions.
- Also, the improvements with which the mode of interaction can become more efficient are introduced during the forward engineering.
- Furthermore, the new graphical user interface is built and integrated in to the re- engineered software system or application.

Difference between Forward Engineering & Software Re-engineering

- Forward engineering is a type of a traditional process in which the logical and high level abstractions are moved to the physical implementation of the software system or application. 
- The conventional development was named as forward engineering by Chikosfy and Cross in order to distinguish it from the software re- engineering process. 
- The basic difference between forward engineering and software re-engineering is that the former starts with the system specifications while the latter starts with an existing system and the whole process revolves around the transformation of the original system. - What is given as input is a legacy system and what comes as output is a modularized and structured version of that program. 
- The cost of the forward engineering depends on the extent of work that has been done. 
There are several other factors that affect the cost of the re- engineering:
  1. Extent of data conversion required
  2. Tool support available
  3. Quality of the software system to be re- engineering

No comments:

Facebook activity