iCal
Raum:
München
Thema:
Design, Redesign, Refactoring
Präsentationsart:
Kompaktseminar zu 3 Stunden
Dauer:
210 Minuten
13:30 Uhr
Software-Erosion und Refactorings in großen Software-Projekten
Wie man seine Software möglichst lange fit hält
Details anzeigen
Autor:in:
Prof. Dr. Rainer Koschke | Universität Bremen | Germany
Sprache:
deutsch
Zielgruppe:
Software-Entwickler und -Entwicklerinnen, technisches Projektmanagement
Voraussetzungen:
Grundlagen der Programmierung
Überblick und Zusammenfassungen:
Software-Erosion ist der schleichende Verfall der inneren Qualität von
Software. Ihre Konsequenzen sind ein erhöhter Aufwand beim Verstehen,
Ändern und Testen der Software. Die Fehlerrate steigt und die
Termintreue sinkt. Wird sie nicht gestoppt, führt das zu einem
verfrühten Ableben der Software. Erosion kann mittels statischer
Analyse sichtbar gemacht werden. Werden diese Analysen begleitend über
den Entwicklungszeitraum durchgeführt, lassen sich Trends erkennen und
Prognosen abgeben. Die Einbeziehung anderer Daten wie
Änderungshäufigkeit und Fehlerraten ergeben ein Gesamtbild zum Zustand
der Software und dessen Implikationen. Durch Refactoring lässt sich
Erosion beseitigen. Der Schwerpunkt in diesem Seminar liegt auf
Software-Erosion und architekturellen Refactorings in großen
Programmen oder gar Sammlungen vieler großer Projekte über einen
langen Zeitraum hinweg. Hier spielt die Abwägung der Maßnahmen und
ihre Planung eine größere Rolle als bei Refactorings im Kleinen.
Art der Vermittlung:
Vortrag
Nutzen:
Die Teilnehmer und Teilnehmerinnen lernen wissenschaftlich fundierte
Methoden der Software-Analyse und der Software-Analytics kennen, um
Software-Erosion und relevante Zusammenhänge im Entwicklungsprozess
erkennen zu können. Sie lernen Techniken der statischen Analyse und
des Repository-Minings kennen, mit deren Hilfe grundlegende Daten
automatisiert gesammelt werden können. Sie werden mit verfügbaren
Werkzeugen bekannt gemacht, mit deren Hilfe man Indikatoren für
Software-Erosion erheben und Data-Mining einfach und selbst
betreiben kann. Sie lernen, wie man Refactorings im Großen plant und
erfolgreich durchführt.