Praxis der Forschung SS15/KAMP
Karlsruhe Architectural Maintainability Prediction, toolgestützter Ansatz zur Change Impact Analyse basierend auf Change Requests in Architekturmodellen.
Beschreibung
Annahmen / Voraussetzungen
- Alle Artefakte aus Entwicklung und Betrieb müssen berücksichtigt werden
- Änderungen werden durch Evolutionsszenarien ausgelöst und führen zu vorhersagbaren Änderungsanforderungen
- 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
- 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
- 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
- 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:
- Zweck / Ziel: Vergleich von zwei Architekturalternativen
- Fragestellung / zu erfassende Charakteristiken: Wartbarkeit
- betroffenes Objekt / Artefakte: Service- und Softwarearchitektur unter Berücksichtigung eines spezifischen Change Requests
- Perspektive: Software Architekt und Software Entwickler
- abgeleitete Frage: Wie hoch ist der Wartungsaufwand der von der Architekturalternative zur Umsetzung des Change Requests verursacht wird?
- 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)
- wird für die drei Basisaktivitäten (Hinzufügen, ändern, entfernen) angewandt auf ein Architekturartefakt (Komponente, Interface, Operation und Datentyp) geschätzt
- 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
- 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
- Wie hoch ist der Arbeitsaufwand der von der Architekturalternative zur Umsetzung des Change Requests im Rahmen der Wartung verursacht wird?