Вы находитесь на странице: 1из 4

3/12/2015

What is the difference between re-engineering and reverse engineering? - Stack Overflow

sign up

Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no
registration required.

log in

tour

help

stack overflow careers

Take the 2-minute tour

What is the difference between re-engineering and reverse engineering? [closed]

What is the difference between re-engineering and reverse engineering?


A simple example is much appreciated if provided.
reverse-engineering

re-engineering

edited May 4 '12 at 17:11


Costique
17.3k

asked May 18 '09 at 13:32


Dhana

49

62

4,182

24

63

123

closed as off topic by Bill the Lizard Mar 14 '13 at 2:16


Questions on Stack Overflow are expected to relate to programming within the scope defined by the community. Consider editing the question or leaving
comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.
If this question can be reworded to fit the rules in the help center, please edit the question.

7 Answers

Reverse engineering is finding out how a product works from the finished product.
Re-engineering is to examine the finished product and build it again, but better.
http://stackoverflow.com/questions/877751/what-is-the-difference-between-re-engineering-and-reverse-engineering

1/4

3/12/2015

What is the difference between re-engineering and reverse engineering? - Stack Overflow

answered May 18 '09 at 13:34


Stefan Thyberg
1,576

13

27

To reverse engineer a product is to examine it and probe it in order to reconstruct a plan from
which it could be built, and the way it works. For instance if I took my clock apart, measured all
the gears, and developed a plan for a clock, understanding how the gears meshed together,
this would be reverse engineering.
Reverse engineering is often used by companies to copy and understand parts of a
competitors product, which is illegal, to find out how their own products work in the event that
the original plans were lost, in order to effect repair or alter them. Reverse engineering
products is illegal under the laws of many countries, however it does happen. There have been
celebrated cases of reverse engineering in the third world.
Re-engineering is the adjustment, alteration, or partial replacement of a product in order to
change its function, adapting it to meet a new need.
For instance welding a dozer blade into the frame of my ford fiesta car is an example of reengineering, in order to clear snow, or drive through my neighbors kitchen.
Re-engineering is often used by companies to adapt generic products for a specific
environment (e.g. add suspension for rally car, change shape of conveyor belt to fit a factory
shape, alter frequencies of a radio transmitter to fit a new countries laws).
answered Dec 27 '10 at 15:33
Sherdil Mahmood
31

Describing something as "illegal" should probably warrant a link. The wiki article seems to suggest that, as
with most laws, the legality of reverse engineering is not a simple question. Mark Hildreth Mar 13 '13 at
18:25

http://stackoverflow.com/questions/877751/what-is-the-difference-between-re-engineering-and-reverse-engineering

2/4

3/12/2015

What is the difference between re-engineering and reverse engineering? - Stack Overflow

Reverse Engineering is trying to recreate the source code from the compiled code. That is
trying to figure out how a piece of software works given only the final system.
Re-Engineering on the other hand is creating a new piece of software with similar functionality
as an existing one. But you may be "improving" the way it was built.
answered May 18 '09 at 13:36
Vincent Ramdhanie
50.6k

16

72

129

Wikipedia
The reengineering of software was described by Chikofsky and Cross in their 1990
paper[1], as "The examination and alteration of a system to reconstitute it in a new form".
Less formally, reengineering is the modification of a software system that takes place after
it has been reverse engineered, generally to add new functionality, or to correct errors.
This entire process is often erroneously referred to as reverse engineering; however, it is
more accurate to say that reverse engineering is the initial examination of the system, and
reengineering is the subsequent modification.
Or, what another answer already said: Re-engineering is simply a new re-implementation of a
product with better engineering. Reverse-engineering is taking apart a finished product for the
purposes of learning how it works.
answered May 18 '09 at 13:34
altCognito
25.6k

69

112

Reverse engineering is to take a bridge apart to see how it was built.


Re-engineering is to throw a bridge away and rebuild it from scratch.
answered May 18 '09 at 13:34
Andomar
126k

15

169

216

http://stackoverflow.com/questions/877751/what-is-the-difference-between-re-engineering-and-reverse-engineering

3/4

3/12/2015

What is the difference between re-engineering and reverse engineering? - Stack Overflow

REENGINEERING may be useful for the modification of the legancy code or software.
REVERSEENGINEERING : Any activity that requires program understanding at any level may
fall within the scope of reverse engineering.
answered May 8 '11 at 18:10
varshika dwivedi
11

Re-engineering means designing something again, perhaps from scratch.


Reverse engineering means trying and understanding the inner workings of an artifact, most
often witout the help of explanatory material (such as documentation, drawings etc.).
The former may involve the latter, but the converse is generally not true.
edited Jun 19 '09 at 7:24

answered May 18 '09 at 13:36

Toon Krijthe

Frederick The Fool

37.8k

17

96

160

9,692

45

84

http://stackoverflow.com/questions/877751/what-is-the-difference-between-re-engineering-and-reverse-engineering

4/4

Вам также может понравиться