Mind the Gap – Architektur vs. Code
Software-Architekturen werden mit Begriffen beschrieben, für die keine überprüfbaren Repräsentationen in Programmiersprachen existieren. Die Folge: Architekturdefinitionen mit ihren Konzepten und Constraints sind nur als Dokumentation vorhanden, über deren Inhalt alle Entwickler auf dem Laufenden gehalten werden müssen.
Dieses Vorgehen scheitert meist in der Praxis, ein Auseinanderdriften von Architektur und Code-Basis ist kaum zu verhindern. Der Vortrag präsentiert den Ansatz hinter dem Code-Analyse-Werkzeug jQAssistant, welches Informationen aus strukturrelevanten Artefakten – vom Buildsystem über Packages und Klassen, bis hin zu Framework-Deskriptoren – extrahiert und als Graph in einer Datenbank ablegt. Die gewonnenen Daten werden automatisiert über Regeln in Beziehung gesetzt, und um projektspezifische Konzepte bzw. Begriffe angereichert und validiert. Die Regeln sind in Form ausführbarer Dokumentation hinterlegt und Entwickler erhalten stets aussagekräftiges Feedback über vorliegende Verletzungen.






















