Ein Tutorial zu Generating Objects (GO)

Generating Objects (GO)

1. Schritt   Installation und Starten von GO
2. Schritt   Ein neues Projekt anlegen
3. Schritt   Analyse / Erstellen eines OOA-Modells
4. Schritt   Entwurfsüberführung
5. Schritt   Entwurf / Erstellen eines OOD-Modells
6. Schritt   Speichern / Exportieren und Importieren von Teilmodellen
7. Schritt   Generierung / Quellcode erstellen


erstellt von
cand. ing. Carsten Schu
Lehrstuhl für Software-Technik
Ruhr-Universität Bochum
Stand: 18.05.1999
































1. Schritt : Installation und Starten von GO

Für Ihre Version von GO steht Ihnen ein Setup-Programm zur Installation zur Verfügung.
Doppelklicken Sie im Explorer die Datei Setup.exe.
In den folgenden Dialogen können Sie den Zielpfad und die Komponenten für die Installation auswählen.

Nach der Installation starten Sie GO, indem Sie das Programm GO.exe, welches in dem von Ihnen angegebenen Installationspfad erstellt wurde, ausführen.


Zur Übersicht















































2. Schritt : Ein neues Projekt anlegen



Wählen Sie im Menü Datei den Menüpunkt Neu oder klicken Sie auf der Symbolleiste das entsprechende Symbol an.



In dem sich öffnenden Dialog Neues Projekt können Sie allgemeine Informationen zu dem Projekt eingeben.

Geben Sie für das Tutorial z.B. folgende Eingaben an:
  • Name des Projektes : GOTest
  • Versionsbezeichnung : 1.0
  • Autoren : Ihr eigener Name
  • Beschreibung : Tutorial zu GO
Beenden Sie den Dialog durch Drücken des OK-Buttons.


Zur Übersicht









3. Schritt : Analyse / Erstellen eines OOA-Modells

Zur Analyse stehen folgende Diagramme zur Verfügung: Ein neues Diagramm erstellen Sie, indem Sie im Menü Projekt den Menüpunkt Diagramm hinzufügen wählen.

Ziel ist die Erstellung eines allgemeinen OOA-Klassendiagrammes in UML-Notation.

Dazu steht eine Werkzeugleiste zur Verfügung.
Werkzeugleiste

Mit Ihrer Hilfe kann z.B. eine neue Klasse hinzugefügt werden.
Einfach auf Neue Klasse klicken.

In dem sich öffnenden Dialog wird der Klasse ein Name zugewiesen.
Weiterhin ist die Angabe einer Beschreibung möglich.
Handelt es sich um eine 'abstakte Klasse', so muß die entsprechende Checkbox angeklickt werden.



Das UML-Diagramm der Klasse wird nach Drücken von OK erzeugt.
Wenn Sie mehrere Klassen hintereinander eingeben wollen, benutzen Sie besser den Button Anwenden.
Dadurch wird die Dialogbox nicht geschlossen und eine weitere Klasse kann hinzugefügt werden.

Erstellen Sie jetzt doch einmal eine Klasse Firma, die abstrakt sein soll, und zwei weitere Klassen mit den Namen Kunde und Lieferant.

Über Neue Attribute, Operationen können den Klassen nun auch schon Attribute oder Operationen hinzugefügt werden.

Mit Neue Vererbung, Assoziation, Komposition können Vererbungsstrukturen, Assoziationen und Kompositionen erstellt werden.

TIP: Alle diese Funktionen kann man auch über das Kontextmenue (rechte Maustaste auf einer Klasse drücken) aufrufen.

Selektieren Sie nun die eben erstellte Klasse Firma. Drücken Sie auf das Symbol für eine neue Vererbung. Jetzt wählen Sie die Klasse Kunde aus, so daß diese von Firma erbt.
Führen Sie gleiches für die Klasse Lieferant aus.


Sie erhalten folgendes UML-Diagramm:
Beispiel


Zur Übersicht















4.Schritt: Entwurfsüberführung

Es können einzelne Klassen, oder das gesamte OOA-Klassendiagramm überführt werden.

Um eine einzelne Klasse zu überführen, selektieren Sie die gewünschte Klasse und drücken dann Tranfer auf der Werkzeugleiste oder wählen im Kontextmenu (rechte Maustaste) Generieren - Entwurfsüberführung.

Um das ganze OOA-Modell zu überführen, darf keine einzelne Klasse selektiert sein. De-Selektieren Sie die aktive Klasse oder selektieren Sie das Allgemeine OOA Klassendiagramm auf der Arbeitsfläche.
Anschließend wählen Sie im Kontextmenue Entwurfsüberführung oder Sie betätigen Tranfer.

Die Dialogbox Entwurfs-Transferierung quittieren Sie mit Drücken von OK.

Führen Sie die Entwurfsüberführung nun für die drei Klassen durch.

Wie Sie erkennen können, hat GO den Klassen automatisch die Standardkonstruktoren hinzugefügt.

TIP: Bei kleineren Projekten kann evtl. direkt mit dem Entwurf begonnen werden. Dazu Schritt 3 überspringen und nach dem Anlegen eines Projektes direkt eine Entwurfsüberführung vornehmen.


Zur Übersicht























5. Schritt : Entwurf / Erstellen eines OOD-Modells

Nun werden die Klassen mit ihren endgültigen Attributen und Operationen gefüllt!

Aber auch das Hinzufügen neuer Klassen ist noch möglich.

Doppel-Klicken Sie auf die Klasse Firma.

Es erscheint eine Dialogbox, in der die Informationen zur Klasse, die Attribute der Klasse und die Operationen der Klasse editiert werden können.

Klasse editieren...

Um der Klasse ein Attribut hinzuzufügen, klicken Sie im Registerblatt Attribute auf Hinzufügen.
In dem sich öffnenden Dialog Neues Attribut geben Sie dem Attribut einen Namen, bestimmen die Sichtbarkeit (Public, Protected, Private,...), legen fest, ob es sich um ein Klassenattribut handelt und wählen einen Datentyp aus.

Fügen Sie der Klasse Firma nun ein Attribut Firmenname und ein Attribut Firmenadresse hinzu. Beide Attribute sollen protected und vom Typ String sein.

In dem Registerblatt Operationen fügen Sie analog Operationen hinzu.
Dabei wählen Sie den Typ des Rückgabeparameters und fügen bei Bedarf die Übergabeparameter zu der Parameterliste hinzu.

Für die Operationen kann bereits zu diesem Zeitpunkt eine Implementierung vorgesehen werden.
Bei der späteren Generierung von Java-Code wird diese Implementierung direkt mitverwendet.
Bei der Generierung von C++-Code wird der Code als Pseudo-Code (d.h. als Kommentar) in die generierten Dateien mit eingebunden.

Fügen Sie eine Operation aendernFirmenadresse hinzu.
Diese Operation besitzt einen Übergabeparameter Adresse vom Typ String und den Rückgabetyp void.

Unter Implementierung geben Sie folgenden Code ein:
this.Firmenadresse = Adresse;

Verlassen Sie den Dialog durch Drücken von OK.

Analog fügen Sie nun noch der Klasse Kunde ein Attribut Auftragssumme vom Typ int und der Sichtbarkeit private hinzu. Weiterhin erhält die Klasse Lieferant die Attribute Verbindlichkeiten vom Typ float und Ansprechpartner vom Typ String. Beide Attribute sollen protected sein.


Das Klassendiagramm unseres Beispiels sieht nun folgendermaßen aus:
Beispiel

TIP: Die Standardoperationen getAttribut() und setAttribut() werden später grundsätzlich mitgeneriert und brauchen im UML-Modell nicht explizit eingefügt zu werden.


Zur Übersicht























6. Schritt : Speichern / Exportieren und Importieren von Teilmodellen

Bevor Code generiert werden kann, muß das Projekt gespeichert werden.
Wählen Sie dazu im Menue Datei den Menuepunkt Speichern unter....
Hier können Sie ihr Projekt abspeichern. Projektdateien müssen die Endung .ocp haben.

Speichern Sie nun das Beispiel-Projekt unter dem Namen GOTutorial.ocp ab.

TIP:
Es können auch Teilmodelle exportiert und wieder importiert werden.
Dadurch besteht die Möglichkeit, sich eine Bibliothek von häufig verwendeten Klassen anzulegen und diese bei Bedarf wieder in sein Projekt zu integrieren.

Zum Exportieren wählen Sie eine oder mehrere Klassen aus (Shift-Taste gedrückt halten um mehrere Klassen zu selektieren) und wählen Sie im Menü Datei den Unterpunkt Teilmodell exportieren....
Alternativ benutzen Sie den Eintrag Teilmodell exportieren...aus dem Kontextmenü.
Teilmodelle erhalten die Dateiendung .ocl.

Ebenso können Teilmodelle wieder dem aktuellen Projekt über Teilmodell importieren... hinzugefügt werden.

Selektieren Sie nun einmal die Klasse Kunde und exportieren diese.
Löschen Sie nun die Klasse Kunde aus dem Arbeitsbereich durch Drücken der 'Entf'-Taste oder durch die Anwahl des Menüeintrages Klasse löschen im Kontextmenü. Verlassen Sie die Warnmeldung von GO durch klicken auf Ja.
Importieren Sie nun das Teilmodell wieder. Stellen Sie die verlorengegangene Vererbungsbeziehung zur Klasse Firma wieder her.


Zur Übersicht















7. Schritt : Generierung / Quellcode erstellen

Generierung von Quellcode (C++/Java)

Es wird das Fachkonzept aus dem UML-Diagramm in der gewünschten Zielsprache generiert.
Es besteht wieder die Möglichkeit der Auswahl einer bestimmten Klasse, oder des gesamten Klassendiagramms.

Um die Generierung zu starten, können Sie im Menü Generieren den Eintrag Quellcode(C++/Java)... anwählen, oder den Button Quellcode erstellen der Werkzeugleiste anklicken.

In dem Dialog zur Codegenerierung muß noch die gewünschte Zielsprache (C++, Java, Javadoc) und das Zielverzeichnis ausgewählt werden. Dann kann die Generierung mit dem Button Generieren gestartet werden.

Die generierten Dateien können dann mit einer entsprechenden Programmierumgebung weiter bearbeitet und compiliert werden.

Lassen Sie nun das ganze Projekt in der Zielsprache Java generieren und schauen Sie sich den generierten Code einmal an.

Hinweis: Die Standardoperationen getAttribut() und setAttribut() für die entsprechenden Attribute im UML-Diagramm werden grundsätzlich mitgeneriert.

 


Ich hoffe, daß diese kleine Einführung Sie in die Lage versetzt hat, sich in GO einigermaßen zurechtzufinden.
Sicherlich ist dieses Tutorial nur ein Einstieg und geht somit nicht auf alle Möglichkeiten von GO ein.
Scheuen Sie also nicht davor, weitere Funktionen von GO auszuprobieren und zu testen.
Ich wünsche Ihnen viel Spaß dabei.


Zur Übersicht