Praxis der Forschung SS15/KAMP

Aus SDQ-Wiki

Karlsruhe Architectural Maintainability Prediction, toolgestützter Ansatz zur Change Impact Analyse basierend auf Change Requests in Architekturmodellen.

Beschreibung

Annahmen / Voraussetzungen

  1. Alle Artefakte aus Entwicklung und Betrieb müssen berücksichtigt werden
  2. Änderungen werden durch Evolutionsszenarien ausgelöst und führen zu vorhersagbaren Änderungsanforderungen
  3. Das Bestimmen des Aufwands feingranularer Wartungsaufgaben ist einfacher als für gröber unterteilte Wartungsaufgaben

Teile

  • Metamodelle zur Beschreibung der Systemkomponenten und ihrer Abhängigkeiten
  • Prozedur zur Bestimmung der von einem Change Request betroffenen Systemkomponenten (Differenz zwischen Architekturmodell und alternativem Architekturmodell)
  • Prozedur zur automatischen Bestimmung von feingranularen Wartungsaufgaben, um die Aufwandsschätzung zu vereinfachen

Phasen

  1. Vorbereitungsphase
    Manuelle Bearbeitung durch den Softwarearchitekten
    • Modellierung der Systemarchitektur mit Hilfe entsprechender Metamodelle
    • Identifizierung der zu ändernden Komponenten (nur der direkt Einschätzbaren), typischerweise:
      • bereits bekannte Änderung eines Datentyps
      • bereits bekannte Änderung eines Interface
      • bereits bekannte Änderung einer Komponente
    • Modellierung der Architekturalternative
  2. Analysephase
    Automatisierte Bearbeitung der Architekturalternative durch das KAMP Toolset:
    • Identifizierung betroffener Artefakte basierend auf Relationen der Elemente
      • Include / Contains Relation (Änderung am inneren Element impliziert Änderung der äußeren Elements)
      • References (Uses) Relation (Änderungen am "benutzten" Element implizieren mögliche Änderungen am referenzierten Element)
    • Erstellung von Arbeitsplänen bzw. Auflistung notwendiger Wartungsaufgaben
  3. Interpretationsphase
    Manuelle Bearbeitung durch den Softwarearchitekten
    • Schätzen der Aufwände der einzelnen Wartungsaufgaben
    • Vergleich der Alternativen anhand der Arbeitspläne und geschätzten Aufwänden der Teilaufgaben

Qualitätsmodell / Metriken

  • anhand der Goal-Question-Metrics Methode erstellt:
    1. Zweck / Ziel: Vergleich von zwei Architekturalternativen
    2. Fragestellung / zu erfassende Charakteristiken: Wartbarkeit
    3. betroffenes Objekt / Artefakte: Service- und Softwarearchitektur unter Berücksichtigung eines spezifischen Change Requests
    4. Perspektive: Software Architekt und Software Entwickler
  • abgeleitete Frage: Wie hoch ist der Wartungsaufwand der von der Architekturalternative zur Umsetzung des Change Requests verursacht wird?
    1. Wie hoch ist der Arbeitsaufwand der von der Architekturalternative zur Umsetzung des Change Requests im Rahmen der Wartung verursacht wird?
      • wird für die drei Basisaktivitäten (Hinzufügen, ändern, entfernen) angewandt auf ein Architekturartefakt (Komponente, Interface, Operation und Datentyp) geschätzt
        • Anzahl von Arbeitsaktivitäten eines Typs W ATi
        • Komplexitätsannotationen W Ai (z.B. Anzahl resultierender Aktivitäten, Komplexität betroffener Codeelemente, Anzahl betroffener Dateien / Klasse, Anzahl durchzuführender Tests, Anzahl durchzufürender Redeployments)
    2. Wie hoch ist der Zeitaufwand der von der Architekturalternative zur Umsetzung des Change Requests im Rahmen der Wartung verursacht wird?
      • Arbeitszeit der Aktivität W Ai
      • Arbeitszeit bis zur Fertigstellung der Aktivität W Ai
      • Gesamtzeit für Arbeitsplan W Pi
    3. Wie hoch sind die Wartungskosten, die von der Architekturalternative zur Umsetzung des Change Requests verursacht werden?
      • Entwicklungskosten der Aktivität W Ai
      • Entwicklungskosten des Arbeitsplans W Pi

Referenzierungen