Jede Software hat eine Architektur!

Integration in die IDE

Neben der Integration in Sonar bietet hello2morrow auch Plug-ins für die gebräuchlichen Java IDEs Eclipse und IntelliJ IDEA an. Im Rahmen dieses Artikels soll das Eclipse-Plug-in näher betrachtet werden. Die Installation geschieht wahlweise online über eine Update Site oder offline über Sonarpgraph Quality (empfohlen für ältere Eclipse-Versionen). Nach der Installation steht eine neue Eclipse-Perspektive SONARGRAPH zur Verfügung, die in zahlreichen Views im Prinzip dieselbe Funktionalität zur Verfügung stellt wie Sonargraph Quality. Der entscheidende Unterschied ist, dass in Eclipse natürlich keine Regeln definiert werden können, sondern nur deren Einhaltung überprüft werden kann. Nach der Installation der Lizenz müssen das Sonargraph-Quality-Projekt und das korrespondierende Eclipse-Projekt miteinander in Verbindung gebracht werden. Dazu dient der Sonargraph Assignment Dialog (Abb. 6).

Abb. 6: Sonargraph-Assignment-Dialog. (Vergrößern)

Auf der linken Seite sieht man die Projekte aus dem Sonargraph System File, die den Eclipse-Projekten auf der rechten Seite zugeordnet werden können. Bei Namensgleichheit geschieht dies weitgehend automatisch. Im Dialog kann angegeben werden, ob Regelverletzungen (z. B. bei den Architekturvorgaben) als Error oder Warning in Eclipse angezeigt werden sollen. Außerdem können so genannte „root paths“ definiert werden. Dies ist für große Softwareprojekte interessant, die zwar zusammen innerhalb eines Sonargraph-Projekts gemanagt werden, aber über mehrere Eclipse-Projekte verteilt sind, die aus Effizienzgründen nicht alle gleichzeitig im Workspace geöffnet sein sollen. Hat man das Setup abgeschlossen, werden alle aktuellen Regelverletzungen im Code als Eclipse Marker angezeigt und können an Ort und Stelle behoben werden. Kleinere (FIX WARNINGS) und größere (REFACTORINGS) Anweisungen zu Codeänderungen zur Regeleinhaltung, die in Sonargraph Quality erstellt werden können, werden in Eclipse Tasks umgewandelt. Mit diesem Plug-in erhält der Softwarearchitekt die Möglichkeit, seine architektonischen Vorgaben an die Entwickler zu kommunizieren. Gleichzeitig bekommt jeder Entwickler ein Werkzeug, das es ihm ermöglicht, anhand der Vorgaben zu entwickeln und die Architektur nachzuvollziehen.

Fazit

Es ist lohnenswert, sich mit dem Thema Architektur und Qualitätsmerkmalen von Software auseinander zu setzen, um große und langfristige Projekte erfolgreich zu führen. Sonargraph bietet hierfür eine solide und umfangreiche Basis an Funktionalitäten, die das Bewusstsein für die besprochenen Themen schärfen. Bei allen Maßnahmen ist auf Kontinuität und objektive Kennzahlen zu achten. Ein Tool allein kann nur unterstützen, jedoch nicht die Auswertung oder eine Schulung ersetzen – hierfür muss Know-how aufgebaut werden. Optimalerweise werden direkt zu Beginn eines Projektes Werkzeuge eingesetzt, um eine solide Architektur zu fördern. Bei der Planung muss Raum für die Qualitätsanalyse berücksichtigt werden, um effektiv einen Nutzen zu erhalten. Durch die Integration in die für Entwickler vertrauten IDEs wird die Benutzung von Qualitätswerkzeugen erleichtert und es muss nicht zwischen Programmen gewechselt werden, um modellierte Regeln zu überprüfen. Dadurch kann das Bewusstsein für die verwendete Architektur wachsen und indirekt kommuniziert werden.

Niklas Bulitta arbeitet als IT Consultant bei der itemis AG. Er berät Unternehmen beim Aufbau von Inter-, Intra- und Extranet-Portalen auf Basis von Liferay oder FirstSpirit CMS.

Arkadius Czarnik arbeitet als IT Consultant und Coach bei der itemis AG. Er ist Spezialist für Softwarearchitektur – insbesondere bei Webanwendungen. Sein Augenmerk liegt dabei auf Serviceorientierung, Hochlastsystemen und verteilte Anwendungen.

Patrick Lehmann arbeitet als Software Architect bei der itemis AG. Er unterstützt Unternehmen beim Aufbau ihrer Java-Architekturen. Dabei verfolgt er auch modellgetriebene Ansätze.

Thorsten Kamann leitet bei der itemis AG die Working Group „Better Software“, die die Themen Softwarequalität, agile Softwareentwicklung und Continuous Delivery abdeckt. Er ist zertifizierter Product Owner und Scrum Master. Er veröffentlicht in anerkannten Fachmagazinen und hält Vorträge auf Fachkonferenzen. Sie können ihn unter @thorque erreichen.

Kommentare

Schreibe einen Kommentar

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