Das Seminar verbindet UML-Softwarearchitektur mit einer reproduzierbaren Modell-zu-Code-Strecke in Papyrus SW Designer. Zielsprachen, Modellierungsregeln, Transformationen, Generierung, Reverse Engineering, manuelle Ergänzungen, Builds und Traceability werden als zusammenhängender Engineeringprozess umgesetzt.
Inhaltsverzeichnis
- Lernziele und fachliche Einordnung
- Schrittweise Seminarinhalte
- Praxisübungen und Laborszenarien
- Zielgruppe und Voraussetzungen
- Didaktik und Arbeitsweise
Lernziele
- Softwaremodelle auf die Anforderungen einer Zielprogrammiersprache ausrichten.
- Komponenten, Klassen, Schnittstellen, Verhalten und Deployment generierungsgerecht modellieren.
- Modelltransformationen und Codegeneratoren kontrolliert konfigurieren.
- Bestehenden Java-Code in UML-Strukturen rückführen und abgleichen.
- Generierung, Build, Tests und Traceability in einen wiederholbaren Prozess integrieren.
Schrittweise Seminarinhalte
1. Modell-zu-Code-Zielbild
Schwerpunkt: Zielsprache, Architektur, Generierungsumfang, Handcode, Bibliotheken, Buildsystem und Qualitätskriterien.
- Fragestellung, Systemgrenze und Entscheidungskriterien für den Themenblock „Modell-zu-Code-Zielbild“ festlegen.
- Folgende Größen, Rollen, Elemente und Annahmen werden strukturiert: Zielsprache, Architektur, Generierungsumfang, Handcode, Bibliotheken, Buildsystem und Qualitätskriterien.
- Das Analyse- oder Entscheidungsmodell in Papyrus schrittweise aufbauen und mit prüfbaren Daten versehen.
- Alternativen, Randbedingungen, Lücken und widersprüchliche Annahmen mit definierten Szenarien untersuchen.
- Als Arbeitsergebnis eine freigegebene Generierungsstrategie dokumentieren und als nachvollziehbare Entscheidungsbasis freigeben.
2. Softwaremodell und Sprachabbildung
Schwerpunkt: Packages, Klassen, Interfaces, Datentypen, Operationen, Sichtbarkeit und sprachspezifische Konzepte.
- Modellierungsziel, Abgrenzung und Qualitätskriterien für den Themenblock „Softwaremodell und Sprachabbildung“ festlegen.
- Folgende Modellelemente, Beziehungen und Regeln werden strukturiert: Packages, Klassen, Interfaces, Datentypen, Operationen, Sichtbarkeit und sprachspezifische Konzepte.
- Das Modell in Papyrus schrittweise anlegen, verknüpfen und in geeigneten Repräsentationen darstellen.
- Semantik, Konsistenz, Vollständigkeit, Lesbarkeit und Fehlerfälle mit definierten Prüfschritten kontrollieren.
- Als Arbeitsergebnis ein generierungsgerechtes Softwarestrukturmodell dokumentieren, fachlich abnehmen und in einen wiederholbaren Modellierungsstandard überführen.
3. Komponenten, Ports und Deployment
Schwerpunkt: Komponenteninstanzen, Schnittstellen, Verbindungen, Prozesse, Artefakte und Zielplattformen.
- Modellierungsziel, Abgrenzung und Qualitätskriterien für den Themenblock „Komponenten, Ports und Deployment“ festlegen.
- Folgende Modellelemente, Beziehungen und Regeln werden strukturiert: Komponenteninstanzen, Schnittstellen, Verbindungen, Prozesse, Artefakte und Zielplattformen.
- Das Modell in Papyrus schrittweise anlegen, verknüpfen und in geeigneten Repräsentationen darstellen.
- Semantik, Konsistenz, Vollständigkeit, Lesbarkeit und Fehlerfälle mit definierten Prüfschritten kontrollieren.
- Als Arbeitsergebnis ein ausführbares Architektur- und Deploymentmodell dokumentieren, fachlich abnehmen und in einen wiederholbaren Modellierungsstandard überführen.
4. Modelltransformationen vor der Generierung
Schwerpunkt: High-Level-Konzepte, Abbildungsregeln, Transformationsschritte, Zwischenmodelle und Nachvollziehbarkeit.
- Beteiligte Systeme, Modellgrenzen und Integrationsziele für den Themenblock „Modelltransformationen vor der Generierung“ erfassen.
- Folgende Schnittstellen, Daten und Abbildungsregeln werden festgelegt: High-Level-Konzepte, Abbildungsregeln, Transformationsschritte, Zwischenmodelle und Nachvollziehbarkeit.
- Die Modell-, Daten- oder Toolverbindung schrittweise konfigurieren und mit repräsentativen Artefakten durchführen.
- Rundlauf, Datenverlust, Referenzen, Fehlerbehandlung und Wiederholbarkeit mit Positiv- und Negativfällen prüfen.
- Als Arbeitsergebnis eine dokumentierte Transformationskette dokumentieren und in einen kontrollierten Integrationsprozess überführen.
5. Generatorprofile und Zielsprachen
Schwerpunkt: C, C++, Java, Python, Namensregeln, Typabbildung, Dateien, Namespaces und Konfigurationen.
- Voraussetzungen, Zielzustand und Abnahmekriterien für den Themenblock „Generatorprofile und Zielsprachen“ erfassen.
- Folgende Konfigurationsobjekte, Rollen und Abhängigkeiten werden strukturiert: C, C++, Java, Python, Namensregeln, Typabbildung, Dateien, Namespaces und Konfigurationen.
- Die erforderlichen Einstellungen in der Laborumgebung schrittweise umsetzen und nachvollziehbar dokumentieren.
- Funktion, Berechtigungen, Darstellung und Fehlerverhalten mit definierten Positiv- und Negativfällen prüfen.
- Als Arbeitsergebnis eine getestete Zielsprachenkonfiguration fachlich abnehmen und in einen wiederholbaren Standard überführen.
6. Codegenerierung und Wiederholbarkeit
Schwerpunkt: Auswahl, Generierungslauf, Ausgabeverzeichnisse, deterministische Ergebnisse, Fehlerprotokolle und Neugenerierung.
- Architektur, Schnittstellen und Qualitätskriterien für den Themenblock „Codegenerierung und Wiederholbarkeit“ festlegen.
- Folgende Entwicklungsartefakte und Abhängigkeiten werden strukturiert: Auswahl, Generierungslauf, Ausgabeverzeichnisse, deterministische Ergebnisse, Fehlerprotokolle und Neugenerierung.
- Die Erweiterung oder Automatisierung in kleinen, testbaren Schritten implementieren.
- Build, Laufzeitverhalten, Transaktionen, Fehlerfälle und Regression mit automatisierten oder geführten Tests prüfen.
- Als Arbeitsergebnis einen reproduzierbaren Codegenerierungslauf versionieren, dokumentieren und reproduzierbar bereitstellen.
7. Reverse Engineering und Modellabgleich
Schwerpunkt: Java-Projekte, Suchpfade, Pakete, Klassen, Beziehungen, Importstrategien und Aktualisierung.
- Ausgangsbestand, Zielzustand und Risiken für den Themenblock „Reverse Engineering und Modellabgleich“ inventarisieren.
- Folgende Abbildungs-, Kompatibilitäts- und Abhängigkeitsaspekte werden festgelegt: Java-Projekte, Suchpfade, Pakete, Klassen, Beziehungen, Importstrategien und Aktualisierung.
- Die Migration zunächst isoliert und anschließend mit einem repräsentativen Modellstand durchführen.
- Datenintegrität, Semantik, Darstellung, Erweiterungen und Rückfalloptionen durch Vorher-Nachher-Tests prüfen.
- Als Arbeitsergebnis einen kontrollierten Reverse-Engineering- und Abgleichsprozess mit Abnahme-, Rollback- und Wiederholungsregeln dokumentieren.
8. Build, Tests und Traceability
Schwerpunkt: generierter und manueller Code, Buildautomation, Unit Tests, Modellbezüge, Reviews, Releases und Änderungssteuerung.
- Serviceziele, Verantwortlichkeiten und Kontrollpunkte für den Themenblock „Build, Tests und Traceability“ definieren.
- Folgende Betriebsobjekte und Abhängigkeiten werden erfasst und priorisiert: generierter und manueller Code, Buildautomation, Unit Tests, Modellbezüge, Reviews, Releases und Änderungssteuerung.
- Kontrollen, Runbooks oder Betriebsabläufe in der Laborumgebung beziehungsweise am Prozessmodell umsetzen.
- Regelbetrieb, Störung, Wiederanlauf und Nachkontrolle mit festgelegten Szenarien prüfen.
- Als Arbeitsergebnis eine integrierte Modell-Code-Build-Strecke freigeben und in einen wiederholbaren Arbeits- oder Betriebsstandard übernehmen.
Praxisübungen und Laborszenarien
- Modellierung einer kleinen Softwarearchitektur für eine ausgewählte Zielsprache.
- Konfiguration und Ausführung einer Modelltransformation und Codegenerierung.
- Reverse Engineering eines vorbereiteten Java-Pakets.
- Integration der generierten Artefakte in einen automatisierten Build mit Test.
Zielgruppe und Voraussetzungen
Zielgruppe: Softwarearchitektur, modellbasierte Softwareentwicklung, Embedded-Entwicklung, Java- und C/C++-Teams, Toolsmiths und DevOps.
Voraussetzungen: Gute UML- und Softwareentwicklungskenntnisse; Erfahrung in mindestens einer Zielsprache und mit Buildwerkzeugen.
Didaktik und Arbeitsweise
Die Themenblöcke verbinden Fachkonzept, Demonstration, eigenständige Modellierung, Qualitätsprüfung und Dokumentation. Ein durchgängiges Laborszenario sorgt dafür, dass die Ergebnisse technisch und methodisch zusammenpassen.
Fachbereichsleitung und Trainerteam
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Softwarearchitektur, modellbasierte Softwareentwicklung, Embedded-Entwicklung, Java- und C/C++-Teams, Toolsmiths und DevOps |
| Voraussetzungen: | Gute UML- und Softwareentwicklungskenntnisse; Erfahrung in mindestens einer Zielsprache und mit Buildwerkzeugen |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhouse, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
