Reverse engineering
Reverse engineering (also known as backwards engineering or back engineering) is a process or method
through which one attempts to understand through deductive reasoning how a previously made device,
process, system, or piece of software accomplishes a task with very little (if any) insight into exactly how it does
so. Depending on the system under consideration and the technologies employed, the knowledge gained
during reverse engineering can help with repurposing obsolete objects, doing security analysis, or learning how
something works.[1][2][3]
Although the process is specific to the object on which it is being performed, all reverse engineering processes
consist of three basic steps: information extraction, modeling, and review. Information extraction is the practice
of gathering all relevant information for performing the operation. Modeling is the practice of combining the
gathered information into an abstract model, which can be used as a guide for designing the new object or
system. Review is the testing of the model to ensure the validity of the chosen abstract.[1] Reverse engineering
is applicable in the fields of computer engineering, mechanical engineering, design, electronic
engineering, software engineering, chemical engineering,[4] and systems biology.[5]
Reverse engineering is the process of creating a data model from a database or a script. The modeling
tool creates a graphical representation of the selected database objects and the relationships
between the objects. This graphical representation can be a logical or a physical model.
Note: You can reverse engineer only into a blank model. You cannot reverse engineer into a model
that has objects in it.
A database can be reverse engineered for the following reasons:
To understand how the objects are related to each other and then to build upon it
To demonstrate the database structure
After the reverse engineering process completes, you can perform the following tasks:
Add new database objects
Create the system documentation
Redesign the database structure to suit your requirements
Most of the information that you reverse engineer is explicitly defined in the physical schema.
However, reverse engineering also derives information from the schema and incorporates it into the
model. For example, if the target DBMS supports foreign key declarations, the reverse engineering
process derives identifying and non-identifying relationships and default role names.
You can derive all the major model information, except subtype relationships, because currently no
SQL database management system supports it. However, the target databases vary in the amount of
logical data model information that is included in the physical schema. For this reason, the resulting
models can vary depending on the target database that is selected. You can also infer some logical
information including primary keys, foreign keys, and table relationships. You can use the table index
definitions or column names to infer these keys and relationships.
You can include or exclude RI triggers in the reverse engineering process. You can select to treat RI
triggers as model objects or use the forward engineering option to include RI triggers in the schema.
You can also choose to include or exclude these options during reverse engineering.
When you reverse engineer a database, you can
set a trace file to record the queries that are
executed to retrieve objects. You can review the
queries after the reverse engineering process
completes.
The following diagram illustrates the steps to
reverse engineer a model from a database or a
script:
Complete the following steps to reverse
engineer a model:
1. (Optional) Save database queries to a trace
file.
2. Select model details.
3. Select the reverse engineering options.
4. Connect to a database and reverse
engineer.
Now what our steps to carry out the reverse engineering
Collect the data from the model with use of instrument like vernier calliper, majoring tap, etc.
By the data base creating the model on SolidWorks as appropriate as the sample model.
Data may include tapper angle, distance of angle, diameter of cylinder , nut-bold size , trading etc.