Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of...

26
Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m

Transcript of Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of...

Page 1: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Keynote for SCI/ISAS 99 on

Automated Modification of Legacy Assets

Chris VerhoefUniversity of Amsterdam

Deutsche Version vonMonika Schneider, sd&m

Page 2: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Neue Software - Kosten

• $81 Mrd pro Jahr für aufgegebene Projekte

• $59 Mrd pro Jahr wegen Kosten- oder Zeitüberschreitung oder Änderung des Umfanges

Neue Software zu bauen ist schwer, also pflege die existierende! (Erblast)

Page 3: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Existierende Software - Fakten

• Volumen: 7 Mrd Function Points

• 750 Mrd Zeilen COBOL Code

• 900 Mrd Zeilen C Code

1 Function Point = 128 Zeilen C

107 Zeilen COBOL

Page 4: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Existierende Software - Kosten

• Y2K Problem kostet $1635 Mrd

• Durschnittlich 5 Fehler pro Function Point

• 35 Mrd Fehler zu beheben

Das reicht!

Werft den alten Kram weg und fangt neu an!

Page 5: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Software Neuentwicklung

• Volumen: 7 Mrd Function Points

• Start der Entwicklung: 1277

• Anzahl Entwickler: 46 Mio

Daumenregel:

Function Points hoch 0.04 = Monate

Function Points geteilt durch 150 = Personal

Page 6: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Unsere Daten• 1. Januar 1999: weiche Euro-Einführung• 1. Januar 1999: 99 als Sonderfall• 20./21. August 1999: GPS Woche• 1. Januar 2000: 00 als Sonderfall• 29. Februar 2000: Papst Gregor XIII• 1. Januar 2001: harte Euro-Einführung• 2038: UNIX Datum• .....

Page 7: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Ein Migrationsprojekt...

Während die 46 Mio Entwickler seit 1277 wie verrückt arbeiten, ändert jemand die Anforderungen:

• Papst Gregor XIII: 04.10.1582 = 15.10.1582

• 1700 ist kein Schaltjahr (sollte aber nach julianischem Kalender)

• in 1712 gibt es den 30. Februar

Anforderungen wachsen um 2% pro Monat während der Entwicklung.

Page 8: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Lektionen

• Alte Software wegzuwerfen und alles neu zu machen ist unrealistisch.

• Wir sitzen auf der alten Software fest.

• Programmierung führt zu Erblast.

• Wir konstruieren heute die Erblast von morgen.

Page 9: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Verteilung des Personals

Jahr NeueProjekte

Erweiterung Reparatur Gesamt

1950 90 3 7 100

1960 8.500 500 1.000 10.00

1970 65.000 15.000 20.000 100.000

1980 1.200.000 600.000 200.000 2.000.000

1990 3.000.000 3.000.000 1.000.000 7.000.000

2000 4.000.000 4.500.000 1.500.000 10.000.000

2010 5.000.000 7.000.000 2.000.000 14.000.000

2020 7.000.000 11.000.000 3.000.000 21.000.000

Page 10: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Sprachen / Plattformen

• COBOL 30%

• Assembler 10% 140-220 Mrd Zeilen

• C/C++ 20%

• 700 Sprachen 40%

• 5-10% ist sprachlos: Sourcecode verloren

Page 11: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Sprachen / Plattformen

• 30% US Software hat gemischte Sprachen: COBOL/CICS/SQL/Assembler

• 60% geschäftskritischer Software läuft auf Mainframes

• 80% der Mainframe Applikationen benutzen COBOL

Page 12: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Wichtige Botschaft

• Wartung und Renovierung existierender Software wird immer wichtiger.

• Automatische Unterstützung ist unumgänglich.

• Der Wendepunkt ist erreicht: 4 von 7 Entwicklern erweitern und reparieren.

• In 2020 wird nur 1/3 der Entwickler an neuen Projekten arbeiten.

Page 13: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Was ist Software Renovation?Erblast:• Teures System, das Veränderungen aufgrund von

Größe, Alter oder fortlaufender Anpassungen zunichte macht.

• Erfordert wachsende Wartungskosten

Software Renovation:• Schrittweises Verständnis und Verbesserung von

Erblasten.• Benutzt reverse engineering, design recovery, system

restructuring,...

Page 14: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Eine typische Erblast

Page 15: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

100% Fehlerinjektion(jede Reparatur erzeugt einen Fehler an

anderer Stelle)

Page 16: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Evolution in die falsche Richtung

Page 17: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Hinzufügen widersprüchlicher Features erschwert den Gebrauch

Page 18: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Erblasten auflösen durch Komponentenbildung

Page 19: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Komponentenbildung ermöglicht Erweiterungen

Page 20: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Restrukturierung ermöglicht Modernisierung

Page 21: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Reverse Engineering ermöglicht Änderungen

Page 22: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Entfernen widersprüchlicher Features ermöglicht Gebrauch

Page 23: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

User Interface Reengineering

Page 24: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Typische Renovation Tasks

• entferne Erblasten

• ermögliche Weiterentwicklung

• reduziere die Fehlerinjektionsrate

• reduziere Wartungskosten

• entferne widersprüchliche Features

• Restrukturierung macht sich bezahlt

• Reparaturdesign erzeugt Schwachpunkte

Page 25: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Das Ziel

Page 26: Keynote for SCI/ISAS 99 on Automated Modification of Legacy Assets Chris Verhoef University of Amsterdam Deutsche Version von Monika Schneider, sd&m.

Software Renovation heißt, Technologie von morgen zu nutzen, um Software von gestern auf den Stand

von heute zu bringen.

Wartung und Renovation ist

• erforderlich• wichtig• schwierig• Herausforderung für

die Forschung

Wartung und Renovation ist spannend:

• Patterns• Frameworks• Middleware• Components• Product-lines