retagged by
430 views

1 Answer

Best answer
3 votes
3 votes
Reverse Engineering is trying to re-create the source code from the compiled code. That is how a piece of s/w works given only d final system. Re-Engineering on d other hand is creating a new piece of s/w with similar functionality as an exisitng one. But you may be improving it the way it is built.

Reverse Engineering means we know the output and we start from the end point and generate the need base code/stuff. For example, when we are working on any software development, and we know how different entities would interact with each other, and what are all intermediate things involved, then we can generate the needed classes and other stuff. If you are aware of UML diagrams, then once we have a diagram in place, we can generate the classes and methods from this diagram. there are different tools available to achieve this. This is called reverse engineering. we are starting from the output state and going back to input state.
Re-engineering is totally different from this. when we are implementing something that has already been implemented, and also with the same desired output. we call it re-engineering. It can have two aspects. one is re-inventing the wheel, while other one is to reimplement something with desired output but to achieve something extra in between that can help us to hook something. If we are reimplementing the concatenation logic of string, then we are re-inventing the wheel since it is already implemented in java APIs. If are reimplementing the concatenation logic in order to provide hook points in between so that we can leverage something extra, we call it true re-engineering.

Hope it helps u. :)
selected by

Related questions

0 votes
0 votes
1 answer
1
kitij333 asked Jan 6, 2023
609 views
What is an external quality of the software product? Why is it important to measure and evaluate the external quality of software product? provide some examples
0 votes
0 votes
1 answer
3
Shubham Sahu asked Jul 4, 2015
1,522 views
Module design is used to maximize the cohesion and minimize the coupling. The key for implementing this rule is?A.encapsulation B abstraction
0 votes
0 votes
0 answers
4
LavTheRawkstar asked Nov 10, 2016
556 views
What is difference among following :1Language Translator ,2)Language Rewritter ,3DeCompiler and4)ThisAssembler ?