Reegieerig mit Siffalyzer Dr. Walter Bischofberger Wid River Ic. wbischofberger@acm.org http://www.widriver.com/siff 30.10.01 2001 Wid River Systems, Ic. 1
Das Siffgate Projekt Motivatio Schaffe eier Plattform für Aalysewerkzeuge Realisiere eies Metrikwerkzeugs Resultat Source Code Data Miig Eviromet Code Comprehesio- ud Qualitätssicherugsumgebug Eifrig evolviered Team Die Macher Silvio Löffler (BTU Cottbus) Walter Bischofberger (Wid River Ic.) Thomas Gärter, Ja Kühl (BTU Cottbus) Die Berater Claus Leweretz ud Frak Simo (BTU Cottbus) 30.10.01 2001 Wid River Systems, Ic. 2
Die Plattform Tool Itegratio FW Tool Tool FW Meu FW Table FW Graph FW Wizard Wizard FW Meu FW Repository Relatioal DB IDEService SiffalyzerAccess SNiFF+ IDE* AotatioService IformatioExtractor Parser 30.10.01 2001 Wid River Systems, Ic. 3
Die Werkzeuge Geerische Abfragewerkzeuge QuerySiffer QueryDeveloper Crossreferecig XrefSiffer Visualisierug GraphSiffer Dateerfassugswerkzeuge Bookmarker Aotatiosifrastruktur Qualität MetricsSiffer ArchitectureSiffer 30.10.01 2001 Wid River Systems, Ic. 4
Code Comprehesio mit Siffalyzer Grudidee Liefer der Iformatioe, die IDEs icht mehr liefer Satz vo Aalyseabfrage die hilfreich sid um ei System verstehe zu köe Z.B. effektive Beutzer- ud Überschreiberschittstelle vo Klasse ud Pakete Problem Viele ützliche Abfrage. Für de Beutzer ist es aber aufgrud der Vielfalt verwirred. User Asatz Code Comprehesio Patters 30.10.01 2001 Wid River Systems, Ic. 5
Code Comprehesio Patters Grudidee Ma braucht eie Mege Erfahrug im Umgag mit grosse Systeme um die Iformatioe, die Siffalyzer liefert, zu eiem Gesamtbild eies Systems zusammezufüge. Im Rahme des Experimetieres mit Siffalyzer habe sich gewisse Muster etabliert, die mometa hauptsächlich auf meier Erfahrug beruhe. Ispiratio Desig Patters (Festhalte ud Vermittel vo Etwurfswisse) Ziel Festhalte ud Vermittel vo Prozesse zum Verstehe vo Softwaresysteme Stad Die Arbeit hat erst begoe 30.10.01 2001 Wid River Systems, Ic. 6
Code Comprehesio Patters II Beispiele Basis Muster Suche vo Etwurfsmuster Suche vo Sigletos ud Weiterleitmuster Suche vo Template- ud Hook-Methode Suche ach potetielle Frameworks Utersuche der Beutzer- ud Überschreiberschittstelle vo Klasse ud Pakete Zusammegesetzte Muster Gewie eier globale Übersicht Idetifikatio zetraler Pakete Suche ud Aalyse zetraler Frameworks Verstehe eie Klassefamilie Verstehe wie ei Paket beutzt wird 30.10.01 2001 Wid River Systems, Ic. 7
Code Comprehesio Patters III Suche ud Aalyse zetraler Frameworks i eiem ubekate System Gewie eier globale Übersicht Eischräke des Suchraums Auswahl eies zu aalysierede Pakets Suche ach häufig verwedete Pakete Suche ach Pakete dere Klasse häufig überschriebe werde Auswahl eies Pakets für die weitere Aalyse Auswahl eies zu aalysierede Frameworks Such ach potetielle Frameworks i diesem Paket Auswahl eies zu aalysierede Frameworks Verstehe eies Frameworks Verstehe der Aufgabe ud Beziehuge der Framework-Klasse Verstehe die Klassefamilie der Framework-Klasse 30.10.01 2001 Wid River Systems, Ic. 8
Visualisierug vo Ergebisse Techische Basis Für jedes Ergebis ket Siffalyzer de Typ der Referezfelder Basiered darauf stehe überall immer alle auf diese Ausführbare Befehle zur Verfügug. Tabelleorietiert Sortierbar, filterbar Gut zu durchsuche Gut zum Erkee vo Serie Im Kotext des Paketbaums ud des Vererbugsgraphe Azeige der Resultatelemete ierhalb der etsprechede Kote Filter aller icht relevate Kote Z.B. alle Methode eier Klassefamilie, die überschriebe werde Notwedig zum Verstehe der Resultate im Kotext der Vererbugshierarchie 30.10.01 2001 Wid River Systems, Ic. 9
Qualitätsaalyse mit Siffalyzer MetricsSiffer Metrikwerkzeug mit frei defiierbare Metrike ud Qualitätsmodell Fokus auf Aalysiere ud Filter der Metrikwerte ArchitectureSiffer Spezifikatio vo Schichtearchitekture ud Suche vo illegale Beziehuge Abfrage Dead-Code-Aalysis 30.10.01 2001 Wid River Systems, Ic. 10
Stad Implemetierug Basisfuktioalität brauchbare Versio (ausser GraphSiffer) itegriert mit Siff 3.2.1 Mometa Poliere mit Ziel eier erste Auslieferug Sprache Fuktioiert mometa mit alle vo Siff uterstützte OO Sprache Java, C++, Pytho ur mit Java itesiv getestet Verpackug Fertig Dokumetatio Fehlt grössteteils 30.10.01 2001 Wid River Systems, Ic. 11