Bewertung von Softwarearchitekturen

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Die Bewertung von Softwarearchitekturen (engl. software architecture evaluation bzw. software architecture analysis) ist ein Teilgebiet des Software-Engineering und befasst sich mit der Bewertung von Softwarearchitekturen. Softwarearchitekturbewertungen werden üblicherweise von Softwarearchitekten durchgeführt.

Ziel der Softwarearchitekturbewertung[Bearbeiten | Quelltext bearbeiten]

Ziel der Softwarearchitekturbewertung ist es, eine Softwarearchitektur auf ein bestimmtes Qualitätsmerkmal (oder mehrere Qualitätsmerkmale gleichzeitig) hin zu untersuchen. Mögliche Untersuchungsziele sind dabei:

  • Vergleich von zwei alternativen Softwarearchitekturen bezüglich des Qualitätsmerkmals / der Qualitätsmerkmale
  • Untersuchung inwieweit eine Softwarearchitektur bestimmte Qualitätsmerkmale erfüllt
  • Untersuchung von Risiken, die eine Softwarearchitektur bezüglich bestimmter Qualitätsmerkmale mit sich bringt
  • Untersuchung inwieweit die vorgegebene Softwarearchitektur im Code auch eingehalten wurde

Verfahren zur Softwarearchitekturbewertung[Bearbeiten | Quelltext bearbeiten]

Zur Bewertung von Softwarearchitekturen existieren mehrere Ansätze:

Werkzeuge[Bearbeiten | Quelltext bearbeiten]

Es existieren sowohl Werkzeuge zur Bestimmung von Architekturmetriken, als auch solche, welche die Einhaltung der vorgegebenen Architektur im Code prüfen. In einigen Fällen können die Werkzeuge auch beides.

Architekturmetriken werden üblicherweise mittels statischer Code-Analyse gewonnen. Zu den Architekturmetriken werden üblicherweise Metriken zur Entwurfsqualität (Modularität, Kohäsion, Kopplung, ...), wie beispielsweise zyklische Abhängigkeiten zwischen Modulen gezählt.

Zur Prüfung der Einhaltung der vorgegebenen Architektur im Code muss diese zunächst dem Werkzeug mitgeteilt werden (beispielsweise durch graphische Erfassung der Schichten und Module und ihrer erlaubten und nicht erlaubten Abhängigkeiten) und mit dem Code verbunden werden (beispielsweise durch eine Zuordnung der Klassen und Pakete zu den definierten Modulen).

Folgende Werkzeuge zur Prüfung der Architekturmetriken und Einhaltung der Architekturvorgaben im Code gibt es:

  • Sonargraph, Sotoarc und Sotograph (Java, C, C++, .Net, ABAP) - Kommerzielles Produkt welches neben einer großen Anzahl an Metriken auch Architekturmetriken und die Einhaltung der Architekturvorgaben prüft. Die Architekturverletzungen können priorisiert in der Entwicklungsumgebung in Form von Aufgaben eingebracht werden und laufend auf ihre korrekte Abarbeitung hin überprüft werden. Der historische Verlauf der Metriken kann ebenso dargestellt werden wie die Auswirkungen potentieller Architekturrefactorings.[1]
  • Macker und JDepend (Java) - Open-Source Werkzeuge zur Prüfung von Zyklen und Abhängigkeiten. Die Prüfungen erfolgen mittels Modultests.[2][3]
  • NDepend (.Net) - Kommerzieller Port von JDepend[4]
  • Dependometer - Java, C++, C#

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Produktübersicht Sonargraph, Sotoarc, Sotograph
  2. Macker Homepage
  3. JDepend Homepage
  4. NDepend Homepage