Bei der Umsetzung von UML in Java werden UML 2.0-Spezifikationen in Java-Klassen umgesetzt. Sie können diese Umsetzung verwenden, um ein Java-Projekt aus UML 2.0-Spezifikationen zu starten. Auch nach dem Start des Projekts können Sie die Umsetzung verwenden, um den Java-Code mit geänderten
UML-Modellen zu aktualisieren.
Im Folgenden wird die einfachste Vorgehensweise bei der Verwendung der Java-Umsetzung gezeigt.
So wandeln Sie ein UML-Modell in Java um:
1. Wechseln Sie in die Perspektive 'Modellierung'.
2. Klicken Sie in der Sicht 'Modellexplorer' mit der rechten Maustaste auf eine UML-Klasse (zum Beispiel auf
"Klasse1").
3. Klicken Sie auf Umsetzen > Umsetzung ausführen > UML2 in Java.
4. Der Dialog Umsetzung ausführen wird geöffnet. Klicken Sie auf die Schaltfläche
für das Erstellen eines Zielcontainers.
5. Der Dialog für das neue Java-Projekt wird geöffnet. Geben Sie in das Feld Projektname "einfach" ein
und klicken Sie auf Fertig stellen.
6. Klicken Sie im Dialog Umsetzung ausführen auf Fertig stellen.
Das neue Java-Projekt enthält ein Standardpaket. Dieses enthält die neue Java-Klasse: Klasse1.
Bei der Umsetzung können auch verschiedene andere, komplexere Funktionen ausgeführt werden,
zum Beispiel können die Namen außer Kraft gesetzt werden, ohne das Quellenmodell zu ändern, das
UML-Modell kann durch eine Visualisierung ersetzt werden, Änderungen im UML-Modell
und im Java-Projekt können zusammengeführt werden und das UML-Modell kann auf mögliche Umsetzungsprobleme
geprüft werden.
UML | Java |
Paket | Java-Paket mit demselben Namen*. |
Paket mit dem Stereotyp <<perspective>> | Ignoriert |
Paket mit dem Schlüsselwort <<Analysis>> oder <<analysis>> | Ignoriert |
Klasse | Java-Klasse mit demselben Namen* und derselben Sichtbarkeit |
(Klasse) Eigenschaft "isLeaf" | Falls "wahr" ist die Java-Klasse "final". |
(Klasse) Eigenschaft "isAbstract" | Falls "wahr" ist die Java-Klasse "abstract". |
(Klasse) Generalisierung | Die Java-Klasse "erweitert" die angegebene Superklasse. |
Implementierung | Die Java-Klasse "implementiert" die angegebene Schnittstelle. |
Schnittstelle | Java-Schnittstelle mit demselben Namen* und derselben Sichtbarkeit |
(Schnittstelle) Generalisierung | Die Java-Schnittstelle "erweitert" die angegebene Schnittstelle. |
Operation | Java-Methode mit demselben Namen* und derselben Sichtbarkeit |
(Operation) Eigenschaft "isStatic" | Falls "wahr" ist die Java-Klasse "static". |
(Operation) Eigenschaft "isAbstract" | Falls "wahr" ist die Java-Methode "abstract". |
(Operation) Eigenschaft "isLeaf" | Falls "wahr" ist die Java-Methode "final". |
(Operation) mit demselben Namen wie ihre Klasse | Java-Konstruktor |
(Operation) mit dem Stereotyp <<create>> | Java-Konstruktor |
Parameter | Java-Parameter mit demselben Namen* |
(Parameter) Eigenschaft "Type" | Der Java-Parameter hat den angegebenen Typ. Dabei kann es sich um eine andere Klasse oder um einen primitiven Typ handeln. |
(Parameter) Eigenschaft "Direction" | Wenn Sie diese Eigenschaft auf "return" setzen, hat die Java-Methode "return <parametertyp>". Bei anderen Werten wird "<parametertyp> <paramametername>" zur Methodensignatur hinzugefügt. |
(Parameter) Eigenschaft "Multiplicity" | In der folgenden Tabelle finden Sie Informationen über Multiplizität. |
Eigenschaft | Java-Feld mit demselben Namen* und derselben Sichtbarkeit |
(Eigenschaft) Eigenschaft "isStatic" | Falls "wahr" ist das Java-Feld "static". |
(Eigenschaft) Eigenschaft "isLeaf" | Falls "wahr" ist das Java-Feld "final". |
(Eigenschaft) Eigenschaft "Type" | Das Java-Feld hat den angegebenen Typ. Dabei kann es sich um eine andere Klasse oder um einen primitiven Typ handeln. |
(Eigenschaft) Eigenschaft "Multiplicity" | In der folgenden Tabelle finden Sie Informationen über Multiplizität. |
* Einige Zeichen (zum Beispiel das Leerzeichen) sind als Java-Bezeichner nicht gültig. Bei der Java-Umsetzung werden ungültige Zeichen automatisch durch ein Unterstreichungszeichen ("_") ersetzt, um einen gültigen Bezeichner zu erstellen. Bei dieser Ersetzung kann es zu Namenskonflikten kommen, durch die bei der Umsetzung Klassen und Schnittstellen nicht dupliziert werden können. Sie können die Prüffunktion verwenden, um diese Probleme zu erkennen. Um diese Ersetzungsprobleme zu vermeiden, benennen Sie die Elemente um. Sie können auch die Zuordnungsfunktion verwenden, um einen alternativen Namen anzugeben, bei dem das Quellenmodell nicht geändert wird.
Java-Typen für Eigenschaften und Parameter
UML-Multiplizität | Generierter Java-Typ |
0..1 | Attribut, Zeiger oder Referenz (zum Beispiel "String") |
1 | Attribut (zum Beispiel "String") |
N (N > 1) | Feldgruppe (zum Beispiel "String[]") |
1..*, *, or x..y | Sammlung, siehe folgende Tabelle |
Java-Sammlungen für Multiplizitäten 1..*, * oder x..y
Eigenschaft "isOrdered" | Eigenschaft "isUnique" | Generierter Java-Typ |
Wahr | Wahr | java.util.SortedSet |
Wahr | Falsch | java.util.List |
Falsch | Wahr | java.util.Set |
Falsch | Falsch | java.util.Collection |
Wenn Sie auf Zuordnungsmodell erstellen klicken, erstellt die Java-Umsetzung
ein Zuordnungsmodell. Dabei handelt es sich um ein separates Modell, das für jedes umsetzbare Element
ein Artefakt hat. Das Artefakt hat denselben Namen wie das ursprüngliche umsetzbare Element, auf das es
verweist. Um einen alternativen Namen für das ursprüngliche Element anzugeben, geben Sie bei den Dateinameneigenschaften
des Artefakts einen neuen Namen ein. Wenn Sie die Dateinameneigenschaft des Artefakts nicht ändern , wird bei
der Umsetzung das Element mit dem Standardnamen des Artefakts generiert.
Wenn Sie alternative Namen für Pakete angeben, betreffen diese alle Klassifikationsmerkmale in diesem Paket
(sofern das Klassifikationsmerkmal nicht einen vollständig qualifizierten Namen angibt). In der folgenden Tabelle
finden Sie Beispiele für alternative Namen.
UML-Quelle | Dateiname des Zuordnungsartefakts | Generiertes Java |
"Paket1" | "" | "Paket1" |
"Paket2" | "com.ibm.test" | "com.ibm.test" |
"Klasse1" in Paket1 | "" | Paket1.Klasse1 |
"Schnittstelle1" in Paket2 | "ITestable" | com.ibm.test.ITestable |
"Klasse2" in Paket2 | "com.ibm.test.Testable" | com.ibm.test.Testable |
Um auf das Zuordnungsmodell zuzugreifen, führen Sie folgende
Schritte aus:
1. Wechseln Sie in die Perspektive 'Modellierung'.
2. Klicken Sie in der Sicht 'Modellexplorer' auf ein UML-Modell.
3. Klicken Sie in der Menüleiste auf Modellierung > Umsetzungen > Umsetzungen konfigurieren.
4. Erstellen Sie eine neue Umsetzung UML2 in Java (nennen Sie die Umsetzung zum Beispiel
"Zuordnung verwenden").
5. Klicken Sie auf der Seite 'Zuordnung' auf die Option für die Verwendung eines Zuordnungsmodells.
6. Klicken Sie auf das Zuordnungsmodell, das Sie vorher erstellt haben, und klicken Sie auf Ausführen.
Bei der Durchführung der Umsetzung werden die alternativen Namen verwendet, die Sie im Zuordnungsmodell
angegeben haben.