70 likes | 91 Views
SOFTWARE ENGINEERING LECTURE 6. Today: - Round-trip engineering Forward engineering Reverse engineering - A round-trip engineering tool (Fujaba). FORWARD ENGINEERING. Forward engineering is the "normal" software development process.
E N D
SOFTWARE ENGINEERING LECTURE 6 • Today:- Round-trip engineering Forward engineering Reverse engineering- A round-trip engineering tool (Fujaba)
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
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 -> analysisanalysis-> requirements
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
ROUND-TRIP ENGINEERING • In round-trip engineering we want to be able to edit "anything" in the project and then to be able to dorequirements <-> analysis analysis <-> design design <-> implementation
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.
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