Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Cultivate B-IT/IPEC XP Praktikum Winter School 2005.

Ähnliche Präsentationen


Präsentation zum Thema: "Cultivate B-IT/IPEC XP Praktikum Winter School 2005."—  Präsentation transkript:

1 cultivate B-IT/IPEC XP Praktikum Winter School 2005

2 Roadmap Detektoren/Metriken Descriptions/Results Hierarchie Dynamische Beschreibung und Kontext Ausgewählte Arbeiten

3 Detektoren/Metriken Detektoren - alarmieren - reagieren bei An-/Abwesenheit konkreter Muster - Beispiel: Bad Smell Erkennung (For Testers Only) Metriken - Ergebniswerte - unterschiedliche interpretiert von Messwerten - Beispiel: R. C. Martin Suite Keine direkte Klassenrepräsentation im Cultivatesystem, lediglich auf Prologbasis

4 Implementiert soweit... DependencyDetector (InheritanceTree) Misnamed Testclass Sideeffects in Getters For Testers only Depth of InheritanceTree Diverse Counter (NORM, NO(a)Ch/Cl, NOD, DIT, NOI) Specialization Index Static Testcase Coverage LCOM2 R.C. Martin (Abstractness, Instability, Distance, afferent und efferent Couplings)

5 Model: Description/Result Jeder Detektor und jede Metrik verfügen jeweils über eine Beschreibung (Description) und evtl. eine Vielzahl von Ergebnissen (Result) DescriptionRepository und ResultRepository sind Aggregationsklassen

6 Description Name Hilfstext (helpText) Variante Beschreibung (dynamicDescription) Range (bei Metriken) Threshold (bei Metriken) Valuetype (bei Metriken)

7 Description

8 Detektordeklaration/Prolog :- multifile detector_/2. :- multifile detector_description/3. detector_description(Name, 'Hilfetext', [dynamische Beschreibung]). detector_(Name, [dynamischer Kontext]) :-....

9 Metrikdeklaration/Prolog :- multifile metric_/3. :- multifile metric_description/6. metric_description(Name, Ergebnistyp, range(von,bis), defaultthreshold(von,bis), 'Langer Hilfetext, 'Kurzer Hilfetext, [dynamische Beschreibung]). metric_(Name, Ergebnis, [dynamischer Kontext]) :-....

10 Dynamische Beschreibung (dynamicDescription) Am Beispiel von dependencyDetector detector_description(dependencyDetector, 'Produces a package level dependency graph., [ [packageId,packageName], [dependentId,dependeeId,sccNumber,dependencyDegree] ] ).

11 Result Zeiger auf die eigene Beschreibung Varianter Kontext (dynamicContext) get() Value (bei Metriken) boolean outOfThreshold() (bei Metriken)

12 Result

13 Backend/PrologInterface

14 Backend/Controller

15 Frontend/Viewer Eclipse GUI Komponenten


Herunterladen ppt "Cultivate B-IT/IPEC XP Praktikum Winter School 2005."

Ähnliche Präsentationen


Google-Anzeigen