i) REVERSE ENGINEERING:-It is a
process of analyzing software with a view to understanding its
design and specification.
� In this, source code and executable code are the input.
� It may be part of a re-engineering process but may also be used
to re-specify a system for re-implementation.
� Builds a program data base and generates information from this.
� Program understanding tools (browsers, cross reference generates,
etc.) may be used in this process.
� Design and specification may be reverse re-engineer to:-
a) Serve as input to SRS for program replacement.
b) Be available to help program maintenance.
Reverse Engineering often precedes Re-Engineering but
is sometimes worthwhile in its own right. The design and specification of a
system may be reverse engineered so that they can be an input to the
requirements specification process for the system replacement. The design and
specification may be reverse engineered to support program maintenance.
ii) RE-ENGINEERING:- It is re-organizing
and modifying existing system to make them more maintainable. It involves:-
� Source code translation.
� Reverse engineering.
� Program structure development.
� Program modularization.
� Data re-engineering.
Restructuring or re-writing part or all of the legacy
system without hanging its functionality. Legacy system is a system that is
hard to maintain. So it involves:-
1) Re-documenting the system.
2) Organizing and re-structuring the system.
3) Modifying and upgrading structure and value of the system data.
4) Input to a
re-engineering process is a legacy system and output is a structure modularized
version of the same program. So re-engineering involves adding effort to make
them easier to maintain. The system may be restructured or redocumented.
When to Re-Engineer?
� When the system changes are mostly confined to part of the
system then re-engineer that part.
� When hardware or software support becomes obsolete.
� When tools to support re-structuring are available.
Advantages of Re-Engineering:-
1) Reduced risk - there is a high risk in new software development.
There may be development problems, staffing problems and specification
problems.
2) Reduced cost the costofre-engineering is often signific
antlyless than the cost of developing new software.
Re-Engineering cost factors:-
1) The quality of the
software to be re-engineered.
2) The tool support
available for re-engineering.
3) The extent of the
data conversion, which is required.
4) The availability of
expert staff for re-engineering.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.