Dienstleistungen/Workshops

Ein typischer Workshop beginnt mit der automatischen Vermessung und Visualisierung Ihres Softwaresystems. Die implementierte Architektur wird sichtbar; Verletzungen von Architektur-Richtlinien werden identifiziert; Qualitätsschwachstellen in Ihrem System werden aufgedeckt; Komponenten, die Ihre Entwicklung bremsen, werden erkannt. Basierend auf den Analyseergebnissen werden Lösungsansätze erarbeitet und diskutiert.




Software Diagnostics Schulungsräume (Bild unten) im FX Center ( o. rechts) und angrenzender Campus unseres Partners- dem Hasso Plattner Institut (o. links)



Workshopinhalt

Anforderungen und Herausforderungen für Software-Maintenance

  • Software-Maintenance als Kernaufgabe (Legacy Systems, Software-Komplexität, Software-Lebenszyklen)
  • Software-Qualität (Rigidity, Fragility, Immobility, Viscosity, Needless Complexity, Needless Repetition, Opacity)
  • Software-Architektur (Modellierung vs. Implementierung, Architektur-Recovery, Conformance Checking)
  • Software-Dokumentation (Praxis, Werkzeuge, Nutzen, Risiken)
  • Software-Metriken (Qualitätsmaße, Maße für objektorientierte Systeme)

Praxis von Wartung und Umbau komplexer Softwaresysteme

  • Software-Modularisierung (Modul-Design, Loose Coupling, Change Impact) und Software-APIs (Design, Change Impact, Dependencies)
  • Software-Design Patterns (Design Pattern Catalogues, Antipatterns, Design Smells)
  • Aspektorientierte Programmierung
  • Software Code Refactoring (Vorgehen für die Verbesserung von Abstraktion, Modulaufteilung, Namensgebung)
  • Software-Test (Coverage, Automatisierung, Unit-Tests, Entwickler-Tests, Black/Gray/White-Box-Tests)
  • Software-Debugging (Forward Debugging, Reverse Debugging)

Methoden und Werkzeuge der Software-Visualisierung

  • Aufbereitung von Daten über existierende Systeme (Fact-Extraction, Code Instrumentation)
  • Data Mining für massive Softwaresystemdaten
  • Visualisierung des Ist-Zustands der Software-Architektur, Software-Kartierung
  • Visualisierung von Code Changes und Entwicklungsprozessinformationen
  • Visualisierung der Ist-Dynamik eines Softwaresystems
  •  Visualisierung von Ausführungsdaten (Execution Traces)
  • Werkzeuge für Software-Visualisierung

Dauer
1-2 Tage


Zusätzlich bieten wir ein fortlaufendes Qualitäts-Monitoring an:
In nachfolgenden Workshops können auf Wunsch regelmäßig Qualitätsattribute Ihres Systems erfasst und ausgewertet werden. Das Qualitäts-Monitoring überwacht durchgeführte Maßnahmen zur Qualitätssteigerung auf ihre Effektivität hin. Zusätzlich werden frühzeitig Tendenzen zu fallender Qualität erkannt, sodass Gegenmaßnahmen vorgestellt, diskutiert und umgesetzt werden können.