Professional Documents
Culture Documents
Report-Reverse Engineering
Report-Reverse Engineering
SOFTWARE ENGINEERING
Reverse Engineering
1. Collection Information:
previous knowledge.
SLIDESMANIA
Q&A
SLIDESMANIA.CO
SLIDESMANIA
Approaches: Restructuring
and Reengineering
SLIDESMANIA.CO
SLIDESMANIA
This is where you section ends. Duplicate this set of slides as many times you need to go over all your sections.
Restructuring
SLIDESMANIA.CO
SLIDESMANIA
Restructuring
● Sofware restructuring modifies: source code and/or data in an effort to make it
amenable to future changes.
● In general, restructuring does not modify the overall program architecture. It tends
to focus on the:
- Design details off individual modules
- On local data structures defined within modules
● Restructuring occures when the basic architecture of an application is solid, even
though technical internals need work. It is initiated when major parts of the
software are serviceable and only a subset of all modules and data need extensive
modification.
SLIDESMANIA.CO
SLIDESMANIA
Code restructuring
● Code restructuring is performed to yield a design that produces the same function but with higher
quality than the original program.
● Violations of structured programming constructs are noted and code is then restructured(this can be
done automatically)
● The resultant restructured code is reviewed and tested to ensure that no anomalues have been
introduced internal code documentation is updated.
SLIDESMANIA.CO
SLIDESMANIA
Data restructuring
1/Data analysis:
Before data restructuring can begin, a reverse engineering activity called analysis of source code must be
conducted.
• Standardization: a data record standardization step clarifies data difinitions to achieve consistency among data
item names or physical record formats within an existing data structure or file format
• Rationalization, ensures that all data naming conventions conform to local standards and that aliases are
eliminated as data flow through the system
SLIDESMANIA.CO
SLIDESMANIA
When restructuring moves eyond standardization and rationalization, physical modfications to existing data
strcutures are made to make the data design more effective
What are the benefits of
restructuring?
Restructuring can provide the following benefits:
• Makes the code easier to understand and read because the goal is to simplify code and reduce complexities.
• Improves maintainability and makes it easier to spot bugs or make further changes.
• Encourages a more in-depth understanding of code. Developers have to think further about how their code
will mix with code already in the code base.
• Focus remains only on functionality. Not changing the code's original functionality ensures the original
project does not lose scope
SLIDESMANIA.CO
SLIDESMANIA
Q&A
SLIDESMANIA.CO
SLIDESMANIA
Reengineering
SLIDESMANIA.CO
SLIDESMANIA
a. What is SoftwareReengineering?
Re-engineering is the
reorganizing and modifying
existing software systems to make
them more maintainable.
Software Re-engineering is a
process of software development
which is done to improve the
maintainability of a software
system.
SLIDESMANIA.CO
SLIDESMANIA
b. The need of software Re-engineering