2. Outline
1. Round Trip Engineering
2. Traditional Software Engineering Disciplines
3. Round Trip Engineering
4. Forward Engineering
5. Reverse Engineering
6. Reverse Engineering of Software
7. Characteristics
8. Need of Round Trip Engineering
9. Tools Used in Round Trip Engineering
10. Rational Rows
11. Parts of Rational Rose Window
12. Conclusion
13. References
2
3. 1. Round Trip Engineering
Round-trip engineering (RTE) is a functionality of software
development tools that synchronizes two or more related
software artifacts, such as, source code, models, configuration
files, and other documents.
3
4. 2. Traditional Software Engineering
Disciplines
Round-trip engineering is closely related to traditional
software engineering disciplines: forward engineering (creating
software from specifications), reverse engineering (creating
specifications from existing software), and re-engineering
(understanding existing software and modifying it).
4
5. 3. Phase in Round Trip Engineering
In round-trip engineering we want to be able to edit "anything"
in the project and then to be able to do
requirements <-> analysis
analysis <-> design
design <-> implementation
5
6. 4. Forward Engineering
Forward engineering is the "normal" software development
process.
Although there are several different development models, they
are involved with the idea that:
requirements -> analysis
analysis-> design
design-> implementation
6
7. 5. Reverse Engineering
Reverse engineering is the "normal" software development
process reversed (not really…)
Anyway, the basic idea is that we may want to go in the
reverse order:
implementation -> design
design -> analysis
analysis-> requirements
7
8. 6. Reverse Engineering of Software
"Reverse engineering is the process of analyzing a subject
system to create representations of the system at a higher level
of abstraction." It can also be seen as "going backwards
through the development cycle". In this model, the output of
the implementation phase (in source code form) is reverse-
engineered back to the analysis phase, in an inversion of the
traditional waterfall model.
8
10. 7. Characteristic
1. Round-trip engineering is often wrongly defined as simply
supporting both forward and reverse engineering. In fact, the
key characteristic of round-trip engineering that distinguishes
it from forward and reverse engineering is the ability to
synchronize existing artifacts that evolved concurrently by
incrementally updating each artifact to reflect changes made
to the other artifacts.
2. Another characteristic of round-trip engineering
is automatic update of the artifacts in response
to automatically detected inconsistencies.
10
11. 8. Need of Round Trip Engineering
The need for round-trip engineering arises when the same
information is present in multiple artifacts and therefore an
inconsistency may occur if not all artifacts are consistently
updated to reflect a given change. For example, some piece of
information was added to/changed in only one artifact and, as
a result, it became missing in/inconsistent with the other
artifacts.
11
12. 9. Tools Used in Round Trip
Engineering
1. Rational Rows
2. ArgoUML
3. Visual Paradigm Suite for UML
12
13. 10. Rational Rows
Rational Rose is a software where the UML can be model.
Here Rational is the name of the software, ROSE stands for
Rational Object Software Engineering.
To draw the UML Diagram in Rational Rose:
Start Rational software, in that Rational Rose Enterprise
Edition. After that Rational Rose Enterprise Edition will be
activated.
13
14. 11. Parts of Rational Rose
Window
11.1. View Table
It contains:
a. Use case view
b. Component View
c. Logical View
d. Deployment view
14
15. 11.2. Diagram Tool Bar
This can contain the tools of the corresponding diagram in
which we are going to draw
11.3. Diagram Window
In this window we can draw the diagram
11.4. Message Window
It contains the message of documentation of the corresponding
diagram
11.5. Log Window
This is the place where the errors can be displayed when we
are drawing the diagram
15
16. 12. Conclusion
• The Round trip engineering is the combination of Forward
Engineering and Reverse Engineering.
• Round-trip engineering (RTE) is a functionality of software
development tools that synchronizes two or more related
software artifacts.
16