Copyright © 2006 Axivion GmbH
Effektive und effiziente Software-Entwicklung
mit der Axivion Bauhaus Suite
Copyright © 2006 Axivion GmbH
Nehmen wir einmal an, Ihr Software-System wäre ein Haus …
Copyright © 2006 Axivion GmbH
… und einige Zeit nach der Fertigstellung wollen Sie etwas an diesem Haus verändern, ohne jedoch den Bauplan zur Hand zu haben.
Copyright © 2006 Axivion GmbH
Dann kann es Ihnen durchaus passieren, dass Sie aus Versehen eine Trägerwand perforieren oder eine Gasleitung beschäd igen.
Copyright © 2006 Axivion GmbH
Dann kann es Ihnen durchaus passieren, dass Sie aus Versehen eine Trägerwand perforieren oder eine Gasleitung beschäd igen.
� Ohne eine genaue Kenntnis Ihrer Software-Architektu r können Sie die Auswirkungen von Änderungen nicht vorhersehen!
Copyright © 2006 Axivion GmbH
Die unzureichende Kenntnis der Software-Architektur ist die Hauptursache für den hohen Wartungsaufwand eines So ftware-Systems.
� Entwickler verbringen dabei die Hälfte ihrer Zeit m it der Analyse eines bestehenden Software-Systems, um es (wieder) zu ver stehen.
� Bis zu 80 % der Entwicklungskosten eines Software-S ystems entstehen bei dessen Wartung, Anpassung und Weiterentwicklung.
40% Analyse/Verstehen der Software während der Wartungsphase
40% Implementierung von Anpassungenund Weiterentwicklungen; Test
20% Erst-entwicklung
Analyse
DesignImplementierung
Test
Verteilung des Gesamtaufwands im Produktlebenszyklu s eines Software-Systems
Quellen: Zelkowitz et al (1979), Eastwood (1993) Marliss, Ben-Menache (1997), Erlikh (2000)
Copyright © 2006 Axivion GmbH
Das Problem: Im Laufe der Zeit entsteht eine immer größer werdende Kluft zwischen der gewollten Architektur und der Im plementierung.
Zeitmangel
Vernachlässigungder Architektur
Durch Erosion der Architektur
leidet das Verständnis
Aufwendige Umgehungslösungen werden notwendig
Codequalität nimmt ab
Weiter-entwicklungenverzögern sich
Copyright © 2006 Axivion GmbH
Zeitmangel
Vernachlässigungder Architektur
Durch Erosion der Architektur
leidet das Verständnis
Aufwendige Umgehungslösungen werden notwendig
Codequalität nimmt ab
Weiter-entwicklungenverzögern sich
Das Problem: Im Laufe der Zeit entsteht eine immer größer werdende Kluft zwischen der gewollten Architektur und der Im plementierung.
Durchbrechen Sie diesen Teufelskreis!
Copyright © 2006 Axivion GmbH
Die Bauhaus Suite lindert die Symptome und bekämpft die Ursache der Architektur-Erosion & liefert weitere Informationen über den Quellcode.
Zeitmangel
Dokumentationd. Struktur wirdVernachlässigt
Weiterentwicklungen verzögern sich
Code-Qualität nimmt ab
Aufwendige Fehler-Behebungen werden notwendig Ohne
Dokumentation der Struktur leidet
das Verständnis
Darstellung des Ist-Zustandes der strukturellen Architektur des Quellcodes
Bestehende Software wird schneller wieder ver-standen
Kontinuierlicher Vergleich von Ist-und Soll-Zustand der Software-Architektur
Der Quellcode entspricht jederzeit der spezifizierten Soll-Architektur
ProaktivesAuffinden kritischer Stellen im Quellcode
Potentielle Fehler können vermieden werden, bevor sie entstehen
Axivion Bauhaus Suite
• Kürzere Ent-wicklungsdauer
• Exaktere Planbar-keit von Entwick-lungsprojekten
• Niedrigere Ent-wicklungskosten
• Investitionsschutz durch längere Wartbarkeit
• Nachhaltig verbesserte Codequalität
Ihr Nutzen
Copyright © 2006 Axivion GmbH
Der Einsatz der Axivion Bauhaus Suite rechnet sich für Sie sowohl kurz-, als auch mittel- und langfristig.
"Quick-Wins"
"Mid-Term-Wins"
"Long-Term-Wins"
z.B. Investitionsschutz durch Verlängerung der
Wartbarkeit
z.B. durch nachhaltige Verbesserung der
Codequalität
z.B. durch Verkürzung der Time to Market bei
schnellerem Codeverständnis
€
t
Copyright © 2006 Axivion GmbH
Key-Features der Axivion Bauhaus Suite
Extrahiert den Ist-Zustand der strukturellen Architektur aus dem Quellcode und stellt ihn dar.
Architektur-Darstellung
Vergleicht die Ist-Architektur im Quellcode mit der spezifizierten Soll-Architektur
Architektur-Prüfung
Zeigt Vernetzungen und Abhängigkeiten einer Komponente zu anderen Stellen im Quellcode auf
Schnittstellen-Analyse
Erstellt Kennzahlen über verschiedene Aspekte des Quellcodes
Metriken
Erkennt die durch Copy&Paste entstandenen Duplikate im Quellcode
Klonerkennung
Copyright © 2006 Axivion GmbH
Die Axivion Bauhaus Suite• analysiert den Quellcode
• extrahiert die Informationen über die Ist-Architektur
• zeigt diese in beliebigem Detaillierungsgrad grafisch an.
Key-Features der Axivion Bauhaus Suite:Architektur-Darstellung
• Die Ist-Architektur des Quellcodes ist jederzeit aktuell verfügbar
• Die Struktur der Software wird schneller verstanden
• Die Entwicklungsdauer wird verkürzt
• Die Fehlerhäufigkeit wird reduziert
• Insbesondere "fremder" bzw. "unbekannter" Quellcode kann leichter weiterentwickelt und gewartet werden
Ihr NutzenArchitektur-Darstellung
mit der Axivion Bauhaus Suite
Die Architektur-Darstellung ist für C, C++, Java und Ada verfügbar.
Copyright © 2006 Axivion GmbH
Die Axivion Bauhaus Suite im Einsatz: Architektur-Darstellung
Copyright © 2006 Axivion GmbH
Sie können sich die Software-Architektur in beliebigen Detail-lierungsgraden anzeigen lassen.In diesem Beispiel werden alle Beziehungen innerhalb des Moduls "list” angezeigt.
Copyright © 2006 Axivion GmbH
Die Axivion Bauhaus Suite im Einsatz: Architektur-Darstellung
Copyright © 2006 Axivion GmbH
Neben der Anzeige der Beziehungen innerhalb eines Moduls können Sie sich auch die Beziehungen mit anderen Modulen anzeigen lassen.
Copyright © 2006 Axivion GmbH
Key-Features der Axivion Bauhaus SuiteArchitektur-Prüfung
Die Axivion Bauhaus Suite
• analysiert den Quellcode
• extrahiert die Informationen über die Ist-Architektur
• vergleicht die Ist-Architektur mit der spezifizierten Soll-Architektur
� Eine kontinuierliche Überprüfung des Quellcodes garantiert, dass die Ist-Architektur jederzeit mit der Soll-Architektur übereinstimmt!
� Es kommt zu keiner Architektur-Erosion
• Prognosen über die Entwicklungsdauer werden präziser und ermöglichen eine bessere Projektplanung
• Entwicklungsprojekte können besser kontrolliert werden
• Die Einarbeitung neuer Mitarbeiter wird erleichtert
• Die Software wird länger verstanden und kann somit länger gewartet und weiterentwickelt werden (Investitionsschutz)
• Bei fremdvergebenen Entwicklungs-projekten kann der gelieferte Quellcode zuverlässiger überprüft werden
Ihr NutzenArchitektur-Prüfung
mit der Axivion Bauhaus Suite
Die Architektur-Prüfung ist für C, C++, Java und Ada verfügbar.
Copyright © 2006 Axivion GmbH
Die Axivion Bauhaus Suite im Einsatz: Architekturprüfung (Anzeige der spezifizierten Soll -Architektur)
Copyright © 2006 Axivion GmbH
Ist bereits eine Soll-Architektur vorhanden, kann diese im XML-Formatimportiert werden. Sie können die Soll-Architektur auch direkt grafisch oder textuell mit der Axivion Bauhaus Suite erstellen.Dies kann für beliebige Teile der Software in beliebigem Detaillierungsgrad erfolgen. Ein iterativer hypothesengetriebener Ansatz ist ebenso möglich wie eine inkrementelle top down oder bottom up Spezifikation. Die spezifizierte Soll-Architektur kann jederzeit erweitert oder verändert werden.
Ausgangspunkt ist die spezifizierte Soll-Architektur.
Copyright © 2006 Axivion GmbH
Die Axivion Bauhaus Suite im Einsatz: Architekturprüfung (Analyse)
Copyright © 2006 Axivion GmbH
Danach starten Sie die Analyse. Die Axivion Bauhaus Suite vergleicht dann den Ist-Zustand der Architektur im Quellcode mit der spezifizierten Soll-Architektur.
Copyright © 2006 Axivion GmbH
Die Axivion Bauhaus Suite im Einsatz: Architekturprüfung (Visualisierung der Analyse / Li stendarstellung)
Copyright © 2006 Axivion GmbH
Sie können sich die Abweichungen zwischen dem Ist-Zustand der Architektur im Quellcode und der spezifizierten Soll-Architektur unter anderem als Liste anzeigen lassen.
Copyright © 2006 Axivion GmbH
Die Axivion Bauhaus Suite im Einsatz: Architekturprüfung (Visualisierung der Analyse / Gr aphisch)
Copyright © 2006 Axivion GmbH
Die Abweichungen können alternativ auch graphisch dargestellt werden.Grüne Kanten zeigen eine Übereinstimmung zwischen Soll- und Ist-Zustand der Architektur. Rote und gelbe Kanten zeigen Abweichungen an.
Copyright © 2006 Axivion GmbH
Die Axivion Bauhaus Suite
• analysiert den Quellcode• zeigt Vernetzungen und
Abhängigkeiten von Elementen zu anderen Stellen im Quellcode auf (z.B. Exporte, Importe, Klienten oder lokale Anteile)
• Zusammenhänge können besser und schneller verstanden werden
• Auswirkungen von Änderungen können vorab analysiert werden
• Teile des Codes können herausgelöst und wiederverwendet werden
Ihr NutzenSchnittstellen-Analyse
mit der Axivion Bauhaus Suite
Key-Features der Axivion Bauhaus SuiteSchnittstellen-Analyse
Die Schnittstellen-Analyse ist für C, C++, Java und Ada verfügbar.
Copyright © 2006 Axivion GmbH
Die Axivion Bauhaus Suite im Einsatz: Schnittstellenanalyse (Bsp.: Anzeige der Exporte)
Copyright © 2006 Axivion GmbH
Hier werden beispielsweise alle exportierten Funktionen, Typen und deren Felder für das Modul "list" angezeigt.
Copyright © 2006 Axivion GmbH
Die Axivion Bauhaus Suite
• analysiert den Quellcode• erhebt wesentliche Software-Metriken
(z.B. McCabe-Komplexität, Halstead-Werte, Schachtelungstiefe, etc…)
• erlaubt das Hinzufügen eigener Metriken und Stylechecks (mittels Scripting Add-On)
• Die Situation im Quellcode kann überblickt werden, ohne ihn selbst lesen zu müssen
• Potentiell kritische Stellen im Quellcode werden vorab erkannt
• Metriken bieten die Grundlage einer proaktiven strategische Projektplanung und -überwachung (Projektleitstand)
Ihr NutzenMetriken
mit der Axivion Bauhaus Suite
Die Key-Features der Axivion Bauhaus Suite im Einzel nenMetriken (Kennzahlen)
Der Umfang der verfügbaren Metriken ist abhängig von der analysierten Sprache.
Copyright © 2006 Axivion GmbH
Die Axivion Bauhaus Suite im Einsatz: Metriken (Kennzahlen)
Copyright © 2006 Axivion GmbH
Durch das Markieren der kritischen Stellen in der Metrik-Ansicht können Sie sich die entsprechenden Stellen des Quellcodes in allen anderen Ansichten anzeigen lassen.
Durch das Markieren der kritischen Stellen in der Metrik-Ansicht können Sie sich die entsprechenden Stellen des Quellcodes in allen anderen Ansichten anzeigen lassen.
Copyright © 2006 Axivion GmbH
Die Axivion Bauhaus Suite
• analysiert den Quellcode• erkennt auf lexikalischer und
syntaktischer Ebene Klone aller relevanten Standard-Klassen (I, II und III):
– (I) Identische Kopien
– (II) Kopien mit geänderten Bezeichnern aber identischer Struktur
– (III) Kopien mit hinzugefügten oder entfernten Anweisungen
• Konsistente Änderungen im Quellcode werden erleichtert
• Der Wartungsaufwand wird reduziert
• Redundante Teile des Quellcodes können entfernt werden
• Die Codequalität wird verbessert
Ihr NutzenKlonerkennung
mit der Axivion Bauhaus Suite
Die Key-Features der Axivion Bauhaus Suite im Einzel nenKlonerkennung (Duplikate im Quellcode)
Die Klonerkennung ist für C, C++, Java und Ada in verschiedenen Varianten verfügbar.
Copyright © 2006 Axivion GmbH
Die Axivion Bauhaus Suite im Einsatz: Klonerkennung (Bsp.: Anzeige der Klone)
Copyright © 2006 Axivion GmbH
Die hellroten Knoten repräsentieren Funktionen. Die Kanten stellen die Klonbeziehungen dar.
Hier existiert beispielsweise ein Klon in den Funktionen SetMinus, SetJoin und SetIntersect.
Copyright © 2006 Axivion GmbH
Die Axivion Bauhaus Suite im Einsatz: Klonerkennung (Bsp.: Lokalisierung der Klone in "li st")
Copyright © 2006 Axivion GmbH
(2) … können Sie sich anzeigen lassen, wo sich im betrachteten Modul "list" Klone befinden.
(1) Indem Sie die erkannten Klone markieren ...
Copyright © 2006 Axivion GmbH
Die Axivion Bauhaus Suite im Einsatz: "Source-Code at Your Fingertips"
Copyright © 2006 Axivion GmbH
Die Klone können bei Bedarf auch gleich im Quellcode angezeigt werden.
Sie können sich also auch die Klone direkt im Quellcode anzeigen lassen.
Bei allen Funktionen der Axivion Bauhaus Suite können Sie sich die betreffende Stelle auch sofort im Quellcode anzeigen lassen.
Copyright © 2006 Axivion GmbH
Die Axivion Bauhaus Suite verfügt über viele weiter e Features:
Ermöglicht das interaktive Explorieren der Abhängigkeiten von Elementen im Quellcode
Cross-Referencing
Zeigt den Grad der Lokalität von Elementen im Quellcode an
Dominanz-Analyse
Erkennt zyklische Abhängigkeiten von Elementen im Quellcode
Zyklus-Erkennung
Gruppiert logisch zusammenhängende Elemente des Quellcodes
Komponentenerkennung
Erkennt Teile des Quellcodes, welche nicht aufgerufen werden
Dead Code Detection
……
Copyright © 2006 Axivion GmbH
Skripting-Fähigkeit: Die Bauhaus Suite ist kein sta rres Analysewerkzeug, sondern wächst mit Ihren individuellen Anforderunge n und Bedürfnissen.
Axivion Bauhaus Suite
User Interface Zugriff auf die Analyseergebnisse per GUI und XML-Export.
Analysen• Architektur-
Darstellung
• Architektur-Prüfung
• Schnittstel-lenanalyse
• Metriken
• Kloner-kennung
• …
Datenbasis
Skripting Add-On (Python)
User Interface SkriptingWeitere Zugriffsmöglichkeiten. Z.B. automatisierte HTML-Reports
Grobgranulares Skripting• Implementierung zusätzl. Analysen
• Erhebung weiterer Metriken• …
Feingranulares Skripting• Individuelle Stylechecks auf
syntaktischer Ebene
• Erhebung weiterer Metriken auf syntaktischer Ebene
• …
Externe Informationen, Anwendungen, etc.
Grob-granular
Fein-granular
Quell-code
Copyright © 2006 Axivion GmbH
Die Einsatzmöglichkeiten der Axivion Bauhaus Suite sind vielfältig.
AxivionBauhaus
Suite
Software-Wartung
Component-Mining
Reverse-Engineering
Codequalitäts-analyse
Software-Weiterent-wicklung
Outsourcing/ Offshoring
Copyright © 2006 Axivion GmbH
Die Vorteile der Axivion Bauhaus Suite gegenüber an deren Analysewerkzeugen:
Hohe Verlässlichkeit und Präzision der Ergebnisse Dank hoher Datenqualität und feiner Granularität der Datenbasis.
Plattformunabhängigkeit Dank der Unterstützung aller gängigen Plattformen (Microsoft Windows, GNU/Linux, Sun Solaris) und des binärkompatiblen Datenformats.
Jede statische Architektur ist prüfbar. Es wird kein Architekturstil vorgeschrieben.
Unproblematisches Aufsetzen auf den Quellcode und einfache Integration in bestehende Build-Umgebung.
Vielfältige Nutzbarkeit der Datenbasis für individuelle Analysen, Metriken, usw. per Skripting Add-On.
Copyright © 2006 Axivion GmbH
Ein weiterer Vorteil sind die engen Kooperationen m it den Universitäten Stuttgart und Bremen.
Universität Stuttgart
Institut für Softwaretechnologie
Prof. Dr. rer. nat./Harvard Univ.
Erhard Plödereder
Universität Bremen
Fachbereich 3Arbeitsgruppe
SoftwaretechnikProf. Dr. rer. nat. Rainer Koschke
Die Axivion Bauhaus Suite basiert auf 100 Mannjahre n Forschung und Entwicklung an den Universitäten Stuttgart und Bremen.
Auf Grund der engen Zusammenarbeit mit den Universi täten fließen bei der Ent-wicklung unserer Produkte stets die neuesten wissens chaftlichen Erkenntnisse ein.
Copyright © 2006 Axivion GmbH
Möchten Sie mehr über unsere Produkte und deren Ein satzmöglichkeiten erfahren?
Axivion GmbHNobelstraße 15
70569 Stuttgart
Tel. +49 (0)711 6204378-0Fax +49 (0)711 6204378-9
Dipl.-Inf. Thomas Eisenbarth+49 (0)711 6204378-8
Dipl.-Kfm. Sebastian Rummler+49 (0)711 6204378-7
Über einen Terminvorschlag für ein unverbindliches Treffen, um über konkrete Einsatzmöglichkeiten der Axivion Bauhaus Suite in I hren Projekten zu sprechen, und Ihnen das Produkt vor Ort vorzuführen, würden w ir uns sehr freuen.
Wir können Ihnen außerdem jederzeit eine Demolizenz unserer Software zur Verfügung stellen.