Jede Software hat eine Architektur!

Sonargraph Quality

Es gibt zahlreiche Insellösungen, um Architektur zu modellieren und Metriken auszuwerten. In der Open-Source-Welt bekannt sind z. B. JavaNCSS, JDepend, EclEmma, Cobertura, FindBugs, PMD, XRadar, Classcycle, CAP, SAJ, EA und Sonar. Hello2morrow bietet mit Sonargraph eine Suite, welche eine Vielzahl dieser und anderer Tools integriert und zur kontinuierlichen Überprüfung von Architekturkonformität und Softwarequalität verwendet werden kann. Wichtige Funktionen sind:

  • Architektur Modellierung und Verifizierung
  • Metrikauswertung
  • Historisierung und Reports

In Abbildung 1 ist der Startbildschirm zu sehen. Die linke Spalte zeigt die Projektstruktur, in der rechten Spalte finden die Auswertungen und Modellierungen statt. Anhand des Projekts Softwarekoch zeigen wir, wie Sonargraph Quality eingerichtet und benutzt werden kann.

Abb. 1: Startbildschirm von Sonargraph Quality (Vergrößern)

Projekt einrichten

Abb. 2: Komponenten der Softwarekoch-Architektur. (Vergrößern)
Das Projekt Softwarekoch dient als „Spielwiese“ und eignet sich durch seinen modularen Aufbau und die verschiedenen eingesetzten Technologien zur Prüfung einer modernen Architektur. Softwarekoch ist eine Datenbank für Kochrezepte und enthält unter anderem die Entitäten Rezept und User. Der Aufbau der Applikation teilt sich in drei Ebenen auf (Abb. 2):

  1. Applikationsebene mit zwei Modulen zur Darstellung im Web- oder Mobile-Bereich
  2. Portalebene, das Herzstück: die Middleware der Softwarekoch-Applikation
  3. Utility Ebene: enthält einfache Basisfunktionalitäten

Um ein Projekt in Sonargraph einzubinden, muss es in einem kompilierten Zustand vorliegen, da Sonargraph direkt auf den kompilierten Java-Klassen arbeitet. Dazu können Projekte aus den gängigen IDEs Eclipse und IntelliJ, aus einer Maven-Build-Umgebung oder JAR-Files importiert werden. Nach Eingabe der Grunddaten, wie z. B. Name des Systems und Speicherort, importiert man beim Softwarekoch ein auf Maven basierendes „pom.xml“ aus dem Hauptverzeichnis und bekommt die erste Möglichkeit der Festlegung von „Build-Units“. Diese dient als grobe Struktur und bildet den Ausgangspunkt für die Definition der Architektur in Sonargraph Quality. Die ersten Schritte sind getan. Doch bevor man loslegen kann, empfiehlt es sich, einen Snapshot vom Projekt zu machen, der den aktuellen Stand des Projekts in der internen Sonargraph-Quality-Datenbank speichert. Snapshots dienen zur Archivierung und werden als Basis zur Berechnung der Metriken und Queries und deren Entwicklung im Projektverlauf verwendet.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.