Lerneinheit 4: Klasse-Schnittstelle-Zuordnungsdeklaration erstellen und optimieren

Diese Lerneinheit zeigt, wie Sie im Zuordnungsmodell eine Klasse-Schnittstelle-Zuordnungsdeklaration erstellen können. Diese Zuordnungsdeklaration enthält Zuordnungsregeln, die eine Schnittstelle erstellen, deren Name vom Name der Klasse im Quellenmodell abgeleitet ist, und die nur allgemein zugängliche Methoden der Klasse innerhalb des Quellenmodells kopieren.
Warum und wann dieser Vorgang ausgeführt wird

Gehen Sie wie folgt vor, um im Zuordnungsmodell eine Klasse-Schnittstelle-Zuordnungsdeklaration zu erstellen:

  1. Wenn die Datei Generalize_Classes.mapping im Zuordnungseditor nicht geöffnet ist, klicken Sie in der Sicht Paket-Explorer doppelt auf diese Datei.
  2. Klicken Sie im Umsetzungszuordnungseditor im Abschnitt Zuordnungsstamm mit der rechten Maustaste auf Generalize_Classes. Klicken Sie anschließend auf Zuordnung erstellen.
  3. Geben Sie im Fenster Neue Zuordnung in das Feld Zuordnungsname den Namen Class2Interface ein. Klicken Sie anschließend auf OK. Die Zuordnung wird in der Modellstruktursicht angezeigt und im Editorbereich unter dem Abschnitt Zuordnungsstamm geöffnet.
    Anmerkung: Damit die Details einer im Editorbereich nicht geöffneten Zuordnungsdeklaration angezeigt werden können, erweitern Sie in der Modellstruktursicht den Namen der Zuordnungsdeklaration. Wenn Sie eine andere Zuordnungsdeklaration öffnen möchten, klicken Sie in der Modellstruktursicht auf den Namen der Zuordnungsdeklaration.

Ein- und Ausgabeobjekte zu Klasse-Schnittstelle-Zuordnungsdeklaration hinzufügen

Warum und wann dieser Vorgang ausgeführt wird

Nach der Erstellung der Klasse-Schnittstelle-Zuordnungsdeklaration geben Sie eine UML-Klasse als Eingabeobjekt und eine UML-Schnittstelle als Ausgabeobjekt an.

Fügen Sie wie folgt einer Klasse-Schnittstelle-Zuordnungsdeklaration ein Eingabeobjekt und ein Ausgabeobjekt hinzu:

  1. Klicken Sie auf das Symbol für Eingabeobjekt hinzufügen. Dieses befindet sich in der Symbolleiste der von Ihnen bearbeiteten Zuordnung ganz links.
  2. Erweitern Sie im Fenster Eingabe hinzufügen im Teilfenster Element den Eintrag uml und klicken Sie auf Class und auf OK.
  3. Klicken Sie auf das Symbol für Ausgabeobjekt hinzufügen. Dieses befindet sich in der Symbolleiste der von Ihnen bearbeiteten Zuordnung an zweiter Stelle von links.
  4. Erweitern Sie im Fenster Ausgabe hinzufügen im Teilfenster Element den Eintrag uml und klicken Sie auf Interface, und auf OK.
  5. Klicken Sie auf Datei > Speichern.
Ergebnisse
Nun können Sie die Zuordnungsregeln zwischen den Attributen des Klasseneingabeobjekts und des Schnittstellenausgabeobjekts definieren.

Zuordnungsregeln zwischen Attributen von Ein- und Ausgabeobjekten definieren

Warum und wann dieser Vorgang ausgeführt wird

Nachdem Sie der Klasse-Schnittstelle-Zuordnungsdeklaration ein Eingabeobjekt und ein Ausgabeobjekt hinzugefügt haben, können Sie die Zuordnungsregeln zwischen den Attributen der Ein- und Ausgabeobjekte definieren.

Sie erstellen für diese Lerneinheit eine angepasste Zuordnungsregel, die eine Schnittstelle mit dem Namen IClassName erstellt. Außerdem können Sie eine Submap-Regel erstellen, die die Operation-Operation-Submap aufruft, die Sie in Lerneinheit 3: Klasse-Klasse-Zuordnungsdeklaration erstellen und optimieren erstellen, und der Submap-Regel einen Eingabefilter hinzufügen, um anzugeben, dass nur allgemein zugängliche Operationen in die Zielschnittstelle umgesetzt werden.

Gehen Sie wie folgt vor, um die Zuordnungsregeln zwischen den Attributen der Eingabe- und Ausgabeobjekte zu definieren:

  1. Erstellen Sie eine angepasste Zuordnungsregel zwischen dem Attribut name des Eingabeobjekts und des Ausgabeobjekts:
    1. Klicken Sie im Editorbereich im Klasseneingabeobjekt auf das Attribut name.
    2. Ziehen Sie den Ziehpunkt des Attributs name auf das Attribut name im Schnittstellenausgabeobjekt. Es wird eine Move-Zuordnungsregel erstellt.
    3. Klicken Sie auf dem Move-Element, das die name-Attribute verbindet, auf den Abwärtspfeil, und klicken Sie dann auf Benutzerdefiniert.
    4. Klicken Sie mit der rechten Maustaste auf das benutzerdefinierte Element; klicken Sie anschließend auf In Eigenschaften anzeigen.
    5. Klicken Sie in der Sicht Eigenschaften auf der Registerkarte Details auf Integriert und geben Sie in den Textbereich unterhalb der Methodensignatur den folgenden Code ein: Interface_tgt.setName("I"+Class_src.getName());
      Anmerkung: Wenn Sie die Inhaltshilfe aufrufen möchten, während Sie den Code eingeben, drücken Sie die Tastenkombination Strg + Leertaste.
    6. Klicken Sie auf Anwenden.
  2. Erstellen Sie eine Submap-Regel zwischen dem Attribut ownedOperation des Eingabe- und Ausgabeobjekts.
    1. Klicken Sie im Editorbereich im Klasseneingabeobjekt auf das Attribut ownedOperation.
    2. Ziehen Sie den Ziehpunkt des Attributs ownedOperation auf das Attribut ownedOperation im Schnittstellenausgabeobjekt. Da das Attribut ownedOperation eine Sammlung ist, wird standardmäßig eine Submap-Regel erstellt.
    3. Falls die Sicht Eigenschaften nicht geöffnet ist, klicken Sie mit der rechten Maustaste auf das neue Element Submap; klicken Sie anschließend auf In Eigenschaften anzeigen.
    4. Falls dies nicht bereits ausgewählt ist, wählen Sie in der Sicht Eigenschaften auf der Registerkarte Details in der Liste Zuordnung den Eintrag Operation2Operation aus.
  3. Sie können der Submap-Regel, die Sie in Schritt 2 erstellt haben, einen Eingabefilter hinzufügen, der bewirkt, dass nur die allgemein zugänglichen Operationen in die Zielschnittstelle umgesetzt werden:
    1. Klicken Sie in der Eigenschaftensicht auf der Registerkarte Eingabefilter auf Eingabeelemente filtern und klicken Sie auf Integriert.
    2. Geben Sie in den Textbereich unter der Option Code für die Methodensignatur den folgenden Code ein: if (ownedOperation_src.getVisibility().equals(VisibilityKind.PUBLIC_LITERAL)) { return true; } return false;
      Anmerkung: Der Code, den Sie für einen Eingabe- oder Ausgabefilter angeben, muss einen booleschen Wert zurückgeben. Sie können nur den Methodenhauptteil angeben; das Umsetzungserstellungsframework definiert die Methodensignatur. Wenn Sie eine Liste der gültigen Variablennamen anzeigen möchten, drücken Sie im Textbereich unterhalb der Schaltfläche Integriert die Tastenkombination Strg + Leertaste.
    3. Klicken Sie auf Anwenden.
  4. Klicken Sie auf Datei > Speichern.
Ergebnisse
In der nächsten Lerneinheit werden Sie einige Zuordnungsdeklarationen im Modell Generalize_Classes.mapping erstellen. Diese Zuordnungsdeklarationen definieren, wie Parameter und primitive Typen bei der Ausführung der generierten Umsetzung umgesetzt werden.

Rückmeldung