Architektur/Methoden 25.02.2009 - 08:14
Schlagwörter: Softwarearchitektur
Eine Architekturspezifikation ist nicht in allen Projekten vorhanden oder wird im Verlauf von Projekten oft unbemerkt verletzt. Ein modellgetriebener Ansatz zur Architekturverifikation kann sowohl für Entwickler als auch für Architekten ein entscheidendes Werkzeug zur Gewährleistung von Softwarequalität sein. Unter Zuhilfenahme einer Toolkette zeigt die Integration in einen Gesamtprozess die Vorteile des Vorgehens auf.
Gutes Architektur-Management ist entscheidend für den Erfolg komplexer Softwareprojekte. Erscheint dem Entwicklungsteam der Anwendungsfall zunächst überschaubar, so wachsen in der Regel Komplexität und Kopplungsgrad der Software im Laufe der Entwicklung. Wenn eine initiale Architekturspezifikation fehlt, implementieren Entwickler häufig falsche Abhängigkeiten zwischen Systemkomponenten. Das erschwert Änderungen erheblich, da mit hoher Wahrscheinlichkeit unerwünschte Seiteneffekte auftreten.
Umgekehrt ist das Vorhandensein einer durchdachten Soll-Architektur kein Garant für fehlerfreie und einfach zu wartende Software. Selbst bei modellgetriebener Softwareentwicklung (MDSD), die mit einer Architekturdefinition startet, können beabsichtigte und tatsächliche Architektur während der Entwicklung auseinander klaffen. Gerade manuelle Anteile oder unbedachte lokale Änderungen der Templates können die Gesamtarchitektur negativ beeinflussen. Das Auseinanderdriften von Soll- und Ist-Architektur heißt "Erosion" von Software. Weitere Gründe hierfür sind nach [1] zum Beispiel:
Drei-Schichten-Architektur aus dem Java-EE-Umfeld (Abb. 1)
Um solchen negativen Entwicklungen eines Sofwareprojekts entgegenzuwirken, kann man sprichwörtlich "unter" dem Entwicklungsteam ein Sicherheitsnetz aus Architekturverifikationen aufspannen. Verletzen Entwickler die definierte Architektur, werden diese Verstöße aufgefangen und ihnen gemeldet. Auf diese Weise sind schleichende Erosionen der Software zu verhindern. Voraussetzung dieses Ansatzes ist eine initiale Architekturspezifikation. Abbildung 1 zeigt eine typische Beispielarchitektur aus dem Java-EE-Umfeld.
Es handelt sich um eine einfache Drei-Schichten-Architektur mit definierten Schnittstellen zwischen den einzelnen Komponenten sowie Schichten. Anhand der Zielarchitektur sei im Folgenden ein Eclipse-Plug-in vorgestellt, dass modellgetriebene Architekturverfikation durchführt. Die Vorteile der Umsetzung lassen sich wie folgt zusammenfassen:
Auf der nächsten Seite: Dependometer
Themenforum: Java