270 likes | 374 Views
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
E N D
Keynote for SCI/ISAS 99 onAutomatedModification of Legacy AssetsChris VerhoefUniversity of AmsterdamDeutsche Version vonMonika 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)
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
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!
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
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 • .....
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.
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.
Sprachen / Plattformen • COBOL 30% • Assembler 10% 140-220 Mrd Zeilen • C/C++ 20% • 700 Sprachen 40% • 5-10% ist sprachlos: Sourcecode verloren
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
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.
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,...
100% Fehlerinjektion(jede Reparatur erzeugt einen Fehler an anderer Stelle)
Hinzufügen widersprüchlicher Features erschwert den Gebrauch
Typische Renovation Tasks • entferne Erblasten • ermögliche Weiterentwicklung • reduziere die Fehlerinjektionsrate • reduziere Wartungskosten • entferne widersprüchliche Features • Restrukturierung macht sich bezahlt • Reparaturdesign erzeugt Schwachpunkte
Wartung und Renovation ist erforderlich wichtig schwierig Herausforderung für die Forschung Wartung und Renovation ist spannend: Patterns Frameworks Middleware Components Product-lines Software Renovation heißt, Technologie von morgen zu nutzen, um Software von gestern auf den Stand von heute zu bringen.