UML-Modellierung für C++ mit UModel
C++ ist eine der leistungsstärksten und effizientesten Programmiersprachen, die verfügbar sind, und sie ist die bevorzugte Wahl für Hochleistungsrechnen, Serveranwendungen und komplexe Architekturen, die die leistungsfähigsten Sprachkonstrukte erfordern. Die Unified Modeling Language™ (UML®) ist der Standard für die Entwicklung, Visualisierung und Dokumentation von Modellen von Softwaresystemen, die in C++ und anderen Programmiersprachen implementiert sind.
Altova UModel konkurriert mit den besten Produkten auf dem Markt fortgeschrittene UML-Modellierung Werkzeuge mit umfassender Unterstützung für die Codeentwicklung in UML-Modellen für C++. UModel umfasst: die Generierung von C-Code aus UML-Diagrammen, die Umwandlung von C-Code in UML-Modelle (Reverse Engineering) sowie eine bidirektionale Entwicklung, um Revisionen sowohl im C++-Code als auch in den UML-Modellen zu aktualisieren.
Modelltransformationen ermöglichen es Entwicklern, bestehende UML-Modelle, die für Java, C# oder Visual Basic konzipiert sind, so anzupassen, dass sie auch C++ unterstützen.

Entwickler können mit der Verwendung von UML für C++ in UModel auf verschiedene Arten beginnen:
- Erstellen Sie ein neues UModel-Projekt und wählen Sie C++ als Zielprogrammiersprache
- Importieren Sie Code aus einem bestehenden C++-Projekt, um ein neues UML-Modell zu erstellen
- Konvertieren Sie bestehende UML-Diagramme in C++
- Öffnen Sie ein Beispiel-C++-Projekt, das mit UModel mitgeliefert wird
UModel enthält ein Beispielprojekt für Online-Banking, das für Java oder C# implementiert ist, als Geschäftsablaufmodell und sogar in einer SysML-Version. Wir haben die C#-Version so angepasst, dass sie für C++ geeignet ist, und das Ergebnis als ein neues Projekt gespeichert.
Das Bankprojekt umfasst eine Hierarchie von Klassen für verschiedene Arten von Bankkonten, wie sie in diesem Klassendiagramm des transformierten Projekts dargestellt sind:

Ein Entwickler könnte damit beauftragt werden, die Bankanwendung zu erweitern, um die Unterstützung von Wertpapierkonten zu ermöglichen. Wir können die neue Klasse problemlos direkt in das bestehende Diagramm einfügen, wie unten gezeigt. (Einige bestehende Klassen sind lediglich zur besseren Übersicht zusammengeklappt.)

In den oben gezeigten Klassendiagrammen kennzeichnen UModel-Symbole grafisch die Sichtbarkeitseigenschaften von Eigenschaften und Operationen, die als geschützt, öffentlich oder privat definiert werden können. Wenn Sie es bevorzugen, können Sie auch die traditionellen UML-Symbole verwenden: #, +, usw.

Unsere einzige verbleibende Aufgabe besteht darin, im Eigenschaftenfenster einen Dateinamen für die neue Klasse "BrokerageAccount" festzulegen:
Die Code-Generierung wird über das Hauptmenü des Projekts gestartet, wodurch ein Dialogfenster geöffnet wird, in dem einige Einstellungen vorgenommen werden können.

UModel kann C-Code aus UML-Diagrammen generieren, der mit den Versionen C 98, C++ 11 oder C++ 14 kompatibel ist, und ein Projekt für die Versionen 6.0 bis Visual Studio 2017 von Visual Studio erstellen. Das Nachrichtenfenster zeigt an, ob die Codeerstellung erfolgreich war. Hier ist ein Auszug des C++-Quellcodes für unsere neue Klasse:

Die Hilfedatei von UModel enthält detaillierte Anleitungen zur Einrichtung Ihres eigenen UML-Projekts für C++. Alternativ, falls Sie direkt mit einem komplexeren Beispiel beginnen möchten, ist auch ein UML-Modell für eine reale Heizungs-/Klimaanlage enthalten, das für C++ implementiert ist.

UModel ist ein kostengünstiges UML-Tool, das eine umfangreiche visuelle Benutzeroberfläche mit hochwertigen Funktionen kombiniert, darunter Datenbank- und XML-Modellierung, den Austausch von Modellen im XMI-Format, Unterstützung für die Modellierung von Geschäftsprozessen, die Erstellung von Dokumentationen, die Förderung der Zusammenarbeit im Team und vieles mehr. Damit bietet es Entwicklungsteams ein leistungsstarkes Werkzeug, um den Herausforderungen heutiger Projekte gerecht zu werden.
Laden Sie eine kostenlose Testversion herunter, um Ihr eigenes UML-Projekt für C++ zu starten!