Essay On Reverse Engineering

1168 Words3 Pages

Reverse Engineering

Student Name: Zhen Lu
CIS 350 – Introduction to Software Engineering
Summer 2017 Intro: In recent decades, there is a significant increase of complexity in our daily life, which includes electronic devices, mechanic equipment, computer program, or biological, chemical, or organic matter, etc. To extracting knowledge, design information or to improve the products and maintain the process, reverse engineering is used in these areas, so that based on the extracted information the product can be reproduced or the information can be gathered. There are a lot of reason to use reverse engineer, as mentioned above, information can be gathered for reproducing products, it also can be using for criminal actions or socially …show more content…

There are two types of engineering, forward engineering, and reverse engineering. According to Vinesh’s describe, “The process of duplicating an existing part, subassembly, or product, without drawings, documentation, or a computer model is known as reverse engineering.” (p. 2) he also defined it as “the process of obtaining a geometric CAD model from 3-D points acquired by scanning/ digitizing existing parts/products.” (p. 2) Reverse engineering is very common in such diverse fields as software engineering, entertainment, automotive, consumer products, microchips, chemicals, electronics, and mechanical designs.

Why we need reverse engineering?
Vignesh's also listed the reason for why using reverse engineering, here are some:
• The original manufacturer no longer exists, but a customer needs the product
• Some bad features of a product need to be eliminated
• Strengthening the good features of a product based on long-term usage
• Generating data to create dental or surgical prosthetics, tissue engineered body parts, or for surgical planning.
• Documentation and reproduction of crime …show more content…

Software: “Software reverse engineering is a broad term that encompasses an array of methods and tools to derive information and knowledge from existing software artifacts and leverage it into software engineering processes” (Gerardo, Massimiliano & Luigi, 2011), according to what they described, reverse engineering is a process of examination rather than a process of change.
Software reverse engineering originated in software maintenance, it has been successfully solving numerous software engineering problems, such as recovering architectures and design patterns, documenting programs and database, computing change impacts, re-modularizing existing systems, etc.
Successful usage of reverse engineering in software has also listed by Gerardo, here are some:
• Keep organizations’ development costs under control by integrating commercial-off-the-shelf;
• Components of existing software systems;
• Maintain software systems in line with the business evolution by preparing existing systems for fruition as a set of services within a service oriented infrastructure;
(Gerardo, Massimiliano & Luigi,

Open Document