36
© Eleonore50/ fotocommunity.de

Software Archaeology - Raiders of the Lost Code (long)

Embed Size (px)

DESCRIPTION

Am 20.06.2013 hielten wir bei der JUG Saxony einen Vortrag zur Modernisierung von Altsystemen. Vorgestellt wurde die modellbasierte Softwaremodernisierung und das Eclipse basierte Werkzeug MoDisco. (german)

Citation preview

Page 1: Software Archaeology - Raiders of the Lost Code (long)

©  Eleonore50/  fotocommunity.de  

Page 2: Software Archaeology - Raiders of the Lost Code (long)

©  Rainer  Sturm  /  pixelio.de  

Page 3: Software Archaeology - Raiders of the Lost Code (long)
Page 4: Software Archaeology - Raiders of the Lost Code (long)

©  Rainer  Sturm  /  pixelio.de  

Page 5: Software Archaeology - Raiders of the Lost Code (long)

©  Katharina  Bregulla  /  pixelio.de  

Page 6: Software Archaeology - Raiders of the Lost Code (long)

©  Katharina  Bregulla  /  pixelio.de  

Page 7: Software Archaeology - Raiders of the Lost Code (long)

©  lucylaus  /  fotocommunity.de  

Page 8: Software Archaeology - Raiders of the Lost Code (long)

©  lucylaus  /  fotocommunity.de  

Legacy: • veraltet, nicht zwangsläufig alt • obsolete Technologien und Methoden • oft in kritischen Geschäftsbereichen

Quelle: dpunkt Verlag

Software gilt etwa nach 5 Jahren als legacy

Page 9: Software Archaeology - Raiders of the Lost Code (long)

© Rainer Sturm / pixelio.de

Page 10: Software Archaeology - Raiders of the Lost Code (long)

© Rainer Sturm / pixelio.de

Page 11: Software Archaeology - Raiders of the Lost Code (long)

©  unknown  

PIM

PSM PSM’

PIM’

Code’ Code

Foreward Engineering (M

DA

) Rev

erse

Eng

inee

ring

(A

DM

)

Re-Engineering

Architecture Transformation

Page 12: Software Archaeology - Raiders of the Lost Code (long)

©  unknown  

PIM

PSM PSM’

PIM’

Code’ Code

Foreward Engineering (M

DA

) Rev

erse

Eng

inee

ring

(A

DM

)

Re-Engineering

Architecture Transformation

Qualität ì

Wartbarkeit ì

Fehler î

Horseshoe Model

Information & Wissen ì

Page 13: Software Archaeology - Raiders of the Lost Code (long)

©  Rainer  Sturm  /  pixelio.de  

• Grep, AWK, Shellskripte, …

• Debugger, …

• Decompiler, …

•  JaMoPP, Snoop, MoDisco, …

Page 14: Software Archaeology - Raiders of the Lost Code (long)

©  Rainer  Sturm  /  pixelio.de  

Page 15: Software Archaeology - Raiders of the Lost Code (long)

Starring…

Page 16: Software Archaeology - Raiders of the Lost Code (long)

MoDisco - Concepts

MoDisco

Eclipse Modeling

Source Code

Databases

Metrics Norm checking

Configuration Files

Restructured Code Migrated Code

Documentation Impact Analysis

Models Viewpoints

..other

Page 17: Software Archaeology - Raiders of the Lost Code (long)

MoDisco - Modernization Phases

Models

Discover

Viewpoints

Understand Existing Artifacts

Software Artifacts •  Source Code •  Configuration •  Tests •  Database •  …

New Artifacts

Transform

Page 18: Software Archaeology - Raiders of the Lost Code (long)

©  Michael  Bührke    /  pixelio.de  

MoDisco – Use Cases (1/2)

Page 19: Software Archaeology - Raiders of the Lost Code (long)

§  Qualitätssicherung (Metriken, ...)

§  Dokumentation (Struktur, Datenfluss, …)

§  Refaktorierung (Design Pattern, Standards, …)

§  Migration (Framework, Architektur, …)

©  Michael  Bührke    /  pixelio.de  

MoDisco – Use Cases (2/2)

Page 20: Software Archaeology - Raiders of the Lost Code (long)

©  Rainer  Sturm  /  pixelio.de  

Page 21: Software Archaeology - Raiders of the Lost Code (long)

©  Rainer  Sturm  /  pixelio.de  

Page 22: Software Archaeology - Raiders of the Lost Code (long)
Page 23: Software Archaeology - Raiders of the Lost Code (long)

©  Rainer  Sturm  /  pixelio.de  

Page 24: Software Archaeology - Raiders of the Lost Code (long)

JUnit3 Queries

JUnit3 Facet

JUnit3 Customization

java.ecore

uses uses

customizes extends

conforms to

Java EMF Model

Page 25: Software Archaeology - Raiders of the Lost Code (long)

Leichtgewichtigere Lösungen für reine

Migration JUnit3èJUnit4

Page 26: Software Archaeology - Raiders of the Lost Code (long)

©  Rainer  Sturm  /  pixelio.de  

Page 27: Software Archaeology - Raiders of the Lost Code (long)
Page 28: Software Archaeology - Raiders of the Lost Code (long)

©  Rainer  Sturm  /  pixelio.de  

Page 29: Software Archaeology - Raiders of the Lost Code (long)
Page 30: Software Archaeology - Raiders of the Lost Code (long)

©  Rainer  Sturm  /  pixelio.de  

Page 31: Software Archaeology - Raiders of the Lost Code (long)

©  Gerd  Altmann  /  pixelio.de  

ü  Anpassbarkeit o  Metamodels o  M2M, M2T o  …

ü  umfangreich o  Discoverer o  Queries o  …

ü Workflow ü  DSL (Xtext, …)

ü  (Fokus auf Java) ü  Einstiegshürden o  Refactoring o  …

ü Werkzeugkasten

Page 32: Software Archaeology - Raiders of the Lost Code (long)

©  Mario  De  MaFa  /  pixelio.de  

ü Metriken zur Wartbarkeit von Software o  Bugs / Commits pro Zeitraum o  Committer pro Zeitraum o  …

ü  Identifizierung von Varianten in Branches o  Modularisierung o  …

ü  Abgleich von Domain Model und DB

Page 33: Software Archaeology - Raiders of the Lost Code (long)

§  www.eclipse.org §  www.eclipse.org/modeling/emf §  www.eclipse.org/MoDisco §  www.omg.org/technology/kdm

©  unknown  

Page 34: Software Archaeology - Raiders of the Lost Code (long)

©  Gerd  Altmann  /  pixelio.de  

Page 35: Software Archaeology - Raiders of the Lost Code (long)

©  Willi  Heidelbach/  pixelio.de  

Master Thesis / Abschlussarbeit – Software Engineering Aufgabengebiet: •  Entwicklung von Methoden zur

Informationsgewinnung •  Implementierung der Methoden mittels

Eclipse basierter Technologien Studienbereiche: •  Informatik und -Informatik

Page 36: Software Archaeology - Raiders of the Lost Code (long)

[email protected] - +49-(0)151-42607011