|
|
|
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.
|
|
|