Jede Software hat eine Architektur!

Architektur Definition und Regeln in Sonargraph

Sonargraph erlaubt im Tab ARCHITEKTUR eine Modellierung der Architektur vorzunehmen (Abb. 3). Dies erfolgt in einem Schichten-Querschnitt-Modell, das die Verantwortlichkeiten gut visualisiert und zur Verständlichkeit beiträgt. Eine einzelne Schicht kann als eine Programmkomponente gesehen werden. Diese kennt idealerweise nur ihren Verwendungszweck, jedoch nicht die Gesamtarchitektur. Sie kommuniziert über definierte Schnittstellen und Protokolle mit andern Komponenten. Damit kann die Implementation einer Schicht bei Bedarf ausgetauscht werden ohne negative Effekte in der Gesamtarchitektur hervorzurufen. Durch ein Drag-and-Drop-Verfahren im Tab ARCHITEKTUR ist die Gestaltung der Gesamtarchitektur einfach und flexibel. Dabei kann die Architektur unterschiedliche Formen annehmen, von einfachen Formen wie einer horizontale 2-Schichten-Architektur bis zur komplexen Kombination aus Schichten, Querschnitten und Subsystemen. Die so definierte Architektur kann durch Zugriffsregeln erweitert werden. Sie bestimmen, welche ein- und ausgehenden Abhängigkeiten erlaubt oder verboten sind. Zum Beispiel dürfen Utility-Klassen nicht auf Frontend Controller zugreifen, um Zyklen zu vermeiden – umgekehrt ist dies aber gewünscht.

Abb. 3: Architekturmodellierung in Sonargraph. (Vergrößern)

Bei der Architektur von Softwarekoch wird eine einfache Form der horizontalen Schichtenmodellierung und der Top-down-Kommunikation angewendet. Jede Schicht wird horizontal gestapelt und darf mit der unterliegenden Schicht kommunizieren. Des Weiteren haben wir eine fachliche Aufteilung von User und Rezept mittels zweier Querschnitte modelliert. Die erlaubten Zugriffe auf Schichten oder Querschnitte, im linken Bereich als grüne Pfeillinien dargestellt, werden mittels eingehender Abhängigkeitsregeln in Sonargraph definiert. Die Webschicht darf mit der Serviceschicht kommunizieren und der Userquerschnitt mit dem Rezept, jedoch nicht vice versa. Nachdem man jeder Schicht und jedem Querschnitt ein Java-Paket aus dem Projekt zugewiesen hat, kann Sonargraph die Architektur validieren. Verletzungen der Architekturdefinitionen und -regeln werden in der Summary unter „Architecture Violations“ und „Architecture Consistency“ dargestellt.

Kommentare

Schreibe einen Kommentar

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