SIGS DATACOM Fachinformationen für IT-Professionals

SOFTWARE MEETS BUSINESS:
Die Konferenz für Software-Architektur
21. - 25. Januar 2019, München

Sessionsdetails

Vortrag: Di 1.1
Datum: Di, 22.01.2019
Uhrzeit: 09:00 - 10:30
cart

Mit Werkzeugen von morgen Software von gestern systematisch verbessern

Uhrzeit: 09:00 - 10:30
Vortrag: Di 1.1

 

Wir leben in einer Zeit, in der manches alte Softwaresystem nicht mehr einfach durch ein neues ersetzt werden kann. Ich stelle daher Wege zum positiveren Umgang mit Legacy-Software vor. Mit systematischen Ansätzen (wie aim42 & OORP) und modernen Analysewerkzeugen (u. a. pandas & jQAssistant) zeige ich, wie Entwickler in der täglichen Arbeit ihren klaren Kopf behalten können. In Live-Demos sehen wir uns an, wie wir Software halbautomatisch nachdokumentieren, wertvolle Code-Stellen identifizieren und potenzielle Reengineerings simulieren können.

Zielpublikum: Wartungsentwickler, Software-Architekten, Entwickler
Voraussetzungen: Java-Kenntnisse, Leidenserfahrung (im Umgang mit Legacy-Systemen)
Schwierigkeitsgrad: Anfänger

Extended Abstract
Viele von uns kennen das: Nichts ist dokumentiert, das Projektverzeichnis ist ein einziges Chaos, die ursprünglichen Entwickler sind weg und das Wartungsteam scheint nicht wirklich zu wissen, was es tut. Funktionierende Erweiterungen sind reine Glückssache, da es überall an Tests fehlt. Wird an einer Stelle etwas geändert, poppen ganz woanders Fehler im System auf (oder waren es verloren geglaubte Features?). Lange Releasezyklen zusammen mit einem schier unendlichen Feature-Hunger des Kunden sorgen dafür, dass Anpassungen auf den letzten Drücker in die Software reingepresst werden. Dokumentation und eine grundlegende, technische Generalüberholung werden immer wieder nach hinten verschoben. Die Software steht jetzt kurz vor dem Kollaps. Moderne Software-Architekturen sind Lichtjahre entfernt.
Wir leben in einer Zeit, in der alte Softwaresysteme nicht mehr einfach weggeworfen und durch neue Systeme ersetzt werden können. Die heutigen, komplexen Legacy-Softwaresysteme sind tief in den Geschäftsprozessen der Kunden verwoben und daher schwer bis unmöglich zu ersetzen. Der Erfolg der Unternehmen hängt daher direkt von der kontinuierlichen Verfügbarkeit und Aktualisierbarkeit dieser Legacy-Software ab. Dennoch lernen wir in Ausbildung, Studium sowie in der Arbeit so gut wie nichts über den positiven Umgang mit Legacy-Systemen.
In meinem Vortrag stelle ich einige Grundlagen zur Verbesserung von Legacy-Software vor. Mithilfe von systematischen Ansätzen (wie Architecture Improvement Method und Object-Oriented Reengineering Patterns) und modernen Werkzeugen (wie AsciiDoc, pandas und jQAssistant) zeige ich, wie Entwickler in der täglichen Arbeit mit Softwarealtsystemen ihren klaren Kopf behalten können. Dazu sehen wir uns nicht nur Rezepte an, sondern werfen auch in Live-Demos einen Blick darauf, wie sich die wirtschaftlichen Verbesserungsansätze direkt in das tägliche Entwicklerleben integrieren lassen. Ich zeige zudem, wie Software analytisch und datenorientiert nachdokumentiert, wertvolle Codestellen identifiziert und potenzielle Reengineerings hin zu modernen Software-Architekturen simuliert werden können.