OHTO -99 SOFTWARE ENGINEERING LECTURE 6 Today: - Round-trip engineering Forward engineering Reverse...

7
OHTO -99 SOFTWARE ENGINEERING LECTURE 6 • Today: - Round-trip engineering Forward engineering Reverse engineering - A round-trip engineering tool (Fujaba)

Transcript of OHTO -99 SOFTWARE ENGINEERING LECTURE 6 Today: - Round-trip engineering Forward engineering Reverse...

Page 1: OHTO -99 SOFTWARE ENGINEERING LECTURE 6 Today: - Round-trip engineering Forward engineering Reverse engineering - A round-trip engineering tool (Fujaba)

OHTO -99

SOFTWARE ENGINEERING LECTURE 6

• Today:- Round-trip engineering Forward engineering Reverse engineering- A round-trip engineering tool (Fujaba)

Page 2: OHTO -99 SOFTWARE ENGINEERING LECTURE 6 Today: - Round-trip engineering Forward engineering Reverse engineering - A round-trip engineering tool (Fujaba)

OHTO -99

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

Page 3: OHTO -99 SOFTWARE ENGINEERING LECTURE 6 Today: - Round-trip engineering Forward engineering Reverse engineering - A round-trip engineering tool (Fujaba)

OHTO -99

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

Page 4: OHTO -99 SOFTWARE ENGINEERING LECTURE 6 Today: - Round-trip engineering Forward engineering Reverse engineering - A round-trip engineering tool (Fujaba)

OHTO -99

REVERSE ENGINEERING

• What could reverse engineering be in practice?

• Generating source code from machine code• Generating design models from source code• Abstracting the design model into "analysis level"• Document generation and maintenance

• We will visit Hausi Muller’s www-pages for more:http://www.rigi.csc.uvic.ca/UVicRevTut/F4rev.html

Page 5: OHTO -99 SOFTWARE ENGINEERING LECTURE 6 Today: - Round-trip engineering Forward engineering Reverse engineering - A round-trip engineering tool (Fujaba)

OHTO -99

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

Page 6: OHTO -99 SOFTWARE ENGINEERING LECTURE 6 Today: - Round-trip engineering Forward engineering Reverse engineering - A round-trip engineering tool (Fujaba)

OHTO -99

IS ”TRADITIONAL DESIGN” NEEDED?

Alternative model:1. Write code2. Generate documentation automatically

What are the documents for?- Users- Maintenance- Design & Analysis -- Brainwork on a higher abstraction level & Communication

The ”alternative model” seems to have shortcomings.

Page 7: OHTO -99 SOFTWARE ENGINEERING LECTURE 6 Today: - Round-trip engineering Forward engineering Reverse engineering - A round-trip engineering tool (Fujaba)

OHTO -99

ROUND-TRIP ENGINEERING TOOL

• In this course, we will use the Fujaba tool:http://www.uni-paderborn.de/fachbereich/AG/schaefer/ag_dt/PG/Fujaba/fujaba.html

• Fujaba will be installed on the Computer Science bigger PC lab but you can also download it yourself

• If there is sufficient demand, it is possible to burn a CD - contact me via e-mail

• I will book the PC lab next week for a couple of hours for us to work with Fujaba

• You can run Fujaba by just double-clicking Fujaba.jar• Follow the course web pages for information