The Software re- engineering
process model is known to follow a series of 6 major steps namely:
- Inventory analysis
- Documentation reconstruction
- Reverse engineering
- Code re- structuring
- Data re- structuring
- 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:
- Renovation or
- 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:
- Identification of the system specifications.
- Designing and implementation of the specifications.
- 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:
- The client computer accepts the migrated application
functionality.
- At the client sites the new GUI interfaces are
implemented.
- The data base functions are allocated to the servers.
- In some cases the specialized functionality may preside
at the site of the server itself.
- 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:
- Extent of data conversion required
- Tool support available
- Quality of the software system to be re- engineering
No comments:
Post a Comment