Ein wiederkehrendes Problem in der Softwaretechnik ist die Diskontinuität zwischen Architekturentwurf und konkreter Umsetzung. Während Architekt:innen Systeme über strukturelle und verhaltensbezogene Modelle beschreiben, realisieren Entwickler:innen diese Konzepte als Quellcode auf spezifischen Plattformen. Sparx Enterprise Architect (EA) adressiert diese Übergabe mit umfassenden Code-Engineering-Funktionen, die beide Perspektiven konsistent verknüpfen.
Die folgende Übersicht erläutert, wie EA Forward Engineering, Reverse Engineering, Modell-zu-Modell-Transformationen und eine kontinuierliche Modell-Code-Synchronisation bereitstellt.
Forward Engineering mit sprachbewusster Generierung
EA erzeugt kompilierbaren Code direkt aus UML-Artefakten und liefert Generatoren für zahlreiche Sprachen, darunter C, C++, Java und C#.
- Generierte Dateien bilden ein konsistentes Gerüst und geben Projekten einen einheitlichen Startpunkt.
- Die Artefakte lassen sich nahtlos in gängigen IDEs – etwa Visual Studio oder Eclipse – öffnen und weiterführen.
- Die Erzeugung wird über das Code Template Framework gesteuert und kann an interne Stilrichtlinien, Namensregeln und Architekturvorgaben angepasst werden.
Sparx EA generiert Code aus einzelnen Elementen oder Paketen
Plattform-unabhängige Modelle zu ausführungsnahen Designs heben
Teams, die mit plattformunabhängigen Modellen (PIM) beginnen, können Technologieentscheidungen zunächst offenlassen und die Architektur verfeinern. Über MDA-Transformationen (Model-Driven Architecture) wandelt EA PIMs in plattformspezifische Code-Modelle (z. B. für C# oder Java) um. Vordefinierte Transformationsvorlagen führen schnell zu plattformabhängigen Modellen (PDM) und lassen sich um domänenspezifische Konzepte oder Muster erweitern.
MDA Transformation
Reverse Engineering aus Quelltext und deployten Artefakten
EA rekonstruiert zudem UML-Sichten aus bestehenden Assets und erleichtert so das Verständnis geerbter oder externer Lösungen. Es verarbeitet verbreitete Sprachen – darunter C, C++, Java und C# – und fügt sich in den Entwicklungsalltag ein.
- Quell- und Lösungsartefakte aus Umgebungen wie Visual Studio, Mono, Eclipse und NetBeans können importiert werden, um ein architektonisches Abbild des Codebestands zu erzeugen.
- Selbst kompilierte Module (.exe, .dll, .jar) lassen sich analysieren und geben Einblick in die Zusammensetzung bereitgestellter Komponenten.
Das Ergebnis ist eine lebendige, visuelle Dokumentation, die Systemverständnis, Refactoring-Initiativen und Modernisierungsprogramme unterstützt.
Diese Funktion bietet Teams eine visuelle Dokumentation bestehender Systeme und unterstützt sie bei der Analyse, Umgestaltung oder Modernisierung von Anwendungen.
Sparx EA IDE und Import von Quellcode
Round-Trip Engineering für dauerhafte Gleichläufigkeit
Die Round-Trip-Funktionalität von EA verhindert, dass Modelle und Code auseinanderdriften. Anpassungen in Diagrammen können in Code regeneriert werden; erkannte Änderungen im Quelltext fließen zurück ins Modell. So bleibt die Entwurfsintention über die Zeit erhalten und die Architektur behält ihre Autorität, während sich die Software weiterentwickelt.
Sparx EA Round-trip Synchronisierung
Praktische Vorteile des Code Engineerings mit EA
- Organisationsgrenzen abbauen: Architekturbedarf und Implementierungspraxis in Einklang bringen.
- Durchsatz erhöhen: Standardkonformen Code automatisiert erzeugen.
- Projektrisiken mindern: Ein konsistentes Abbild über Entwurf und Code sicherstellen.
- Erneuerung ermöglichen: Struktur aus Legacy-Assets ableiten, um Bereinigung und Re-Plattforming zu steuern.
Fazit
Durch die Verzahnung von Modellierung und Implementierung verwandelt Sparx Enterprise Architect Entwurfsartefakte in operative Assets – und umgekehrt. Ob Codegenerierung, transformationsgestützte Wechsel zwischen Abstraktionsebenen oder Ableitung aus bestehenden Binaries und Quellen: EA bewahrt eine einheitliche, belastbare Systemsicht und hält Architektur und Umsetzung über den gesamten Lebenszyklus synchron.
