# Quelltextimport und Quelltexterstellung

&umbrello; ist ein &UML;-Modellierungswerkzeug und sein Schwerpunkt liegt deshalb auf der Analyse und dem Design Ihrer Systeme. Um Ihnen den Übergang zwischen Design und Implementierung zu erleichtern, kann &umbrello; Quelltext für verschiedene Programmiersprachen erstellen. Möchten Sie hingegen &UML; in einem bereits existierenden C++-Projekt einsetzen, unterstützt &umbrello; Sie bei der Erstellung eines Modells Ihres Systems, indem es den Quelltext analysiert und die gefundenen Klassen importiert.

## Quelltexterstellung

&umbrello; kann Quelltext für verschiedene Programmiersprachen auf Basis Ihres &UML;-Modells erstellen und hilft Ihnen dabei, mit der Implementierung Ihres Projekts zu starten. Der erstellte Quelltext besteht aus den Klassendeklarationen mit ihren Methoden und den Attributen. Sie müssen anschließend diese Vorlagen ausfüllen, um die Klassenoperationen mit Funktionalität zu füllen.

&umbrello; 2 bietet Unterstützung für Quelltexterstellung für ActionScript, Ada, C++, C#, D, IDL, &Java;, JavaScript, MySQL, Pascal, Perl, PHP, PHP5, PostgreSQL, Python, Ruby, Tcl, Vala, und XMLSchema.

### Quelltexterstellung

Um Quelltext mit &umbrello; zu erstellen, muss man zuerst ein Modell erstellen oder laden, das mindestens eine Klasse enthält. Wenn man Quelltext erstellen möchte, muss man Assistent für Quelltexterstellung … aus dem Menü Quelltext auswählen. Dadurch wird der Assistent gestartet, der dann durch den Prozess zur Quelltexterstellung führt.

Im ersten Schritt muss man die Klassen auswählen, für die Quelltext erstellt werden soll. Standardmäßig sind alle Klassen des Modells ausgewählt und man kann nun einzelne entfernen. Dazu muss man sie aus der rechten Liste in die linke Liste verschieben.

Im folgenden Schritt des Assistenten kann man die Parameter des Quelltextgenerators verändern. Folgende Parameter sind verfügbar:

Einstellungen für Quelltexterstellung Einstellungen für die Quelltexterstellung in &umbrello;

Einstellungen für die Quelltexterstellung in &umbrello;

#### Einstellungen für Quelltexterstellung

##### Umfang Quelltextkommentare

Der Parameter Dokumentations-Kommentare erstellen, selbst wenn diese leer sind weist die Quelltexterstellung an, Kommentare der Form /** bla */ einzufügen, selbst wenn diese leer sind. Hat man die Klassen, Methoden und Attribute im Modell dokumentiert, fügt die Quelltexterstellung diese Kommentare im Doxygen-Format ein, unabhängig davon, was an dieser Stelle ausgewählt wurde. Ist dieser Parameter aktiviert, werden im Unterschied allerdings für alle Klassen, Methoden und Attribute Platzhalter eingefügt, selbst wenn diese nicht im Modell dokumentiert wurden. Man sollte diese dann direkt im Quelltext in den bereits vorhandenen Platzhaltern dokumentieren.

Kommentare für Abschnitte erstellen, selbst wenn diese leer sind: &umbrello; schreibt Kommentare in den Quelltext, um die verschiedenen Bereiche einer Klasse zu trennen. So würde zum Beispiel public methods oder Attributes vor den entsprechenden Abschnitten eingefügt werden. Wenn Sie diese Einstellung aktivieren, fügt &umbrello; für jeden Abschnitt einen entsprechenden Kommentar ein, selbst dann, wenn der Abschnitt leer ist. So würde zum Beispiel der Kommentar protected methods eingefügt werden, selbst wenn keine geschützten Methoden in der Klasse existieren.

##### Ordner

Ordner zum Schreiben aller erstellten Dateien: Wählen Sie hier den Ordner aus, in dem &umbrello; den erstellten Quelltext ablegen soll.

Der Parameter Einbeziehen der Vorlagendateien für Kopfzeilen aus Ordner erlaubt es, Kopfzeilen am Anfang jeder erstellten Datei einzufügen. Vorlagendateien für Kopfzeilen können zum Beispiel Urheberhinweise oder Lizenzinformationen enthalten, sowie Variablen, die während der Quelltexterstellung entsprechend ersetzt werden. Man sollte einen Blick in die Vorlagendateien für Kopfzeilen werfen, die mit &umbrello; ausgeliefert werden. Dort kann man sehen, wie man zum Beispiel mittels Variablen das aktuelle Datum oder einen Namen einfügen kann.

##### Vorgaben für Überschreibung

Dieser Parameter legt das Verhalten von &umbrello; fest, wenn es eine Datei während der Quelltexterstellung anlegen will, die im Zielordner bereits existiert. &umbrello; kann vorhandene Dateien nicht modifizieren. Man muss zwischen dem Überschreiben der existierenden Datei oder der Nachfrage, was passieren soll oder der Auswahl eines anderen Dateinamens durch &umbrello; wählen. Soll &umbrello; einen anderen Dateinamen verwenden, dann hängt &umbrello; ein Suffix an die entsprechende Datei an.

##### Sprache

&umbrello; wählt standardmäßig die von Ihnen gewählte aktive Sprache für die Quelltexterstellung aus. Sie können allerdings im Assistenten für Quelltexterstellung eine andere Sprache auswählen.

#### Assistent für Quelltexterstellung

Der dritte und letzte Schritt des Assistenten zeigt den Status der eigentlichen Quelltexterstellung. Man muss lediglich auf den „Erstellen“-Knopf klicken, damit die entsprechenden Dateien mit den Klassen erstellt werden.

Es ist zu beachten, dass die gesetzten Parameter nur für die aktuelle Quelltexterstellung gültig sind. Beim nächsten Aufruf des Assistenten muss man alle Parameter, wie z. B. Ordner mit Vorlagendateien für Kopfzeilen, Vorgaben für Überschreibung usw., neu einstellen. Man kann allerdings die Voreinstellungen dauerhaft über den Quelltexterstellung-Abschnitt in den &umbrello;-Einstellungen festlegen. Diese Einstellungen erreicht man über Einstellungen &umbrello; einrichten ….

Hat man die Standardeinstellungen für die Quelltexterstellung bereits richtig eingestellt, kann man die Quelltexterstellung ohne den entsprechenden Assistenten direkt starten. Dazu wählt man Alle Quelltexte erstellen aus dem Menü Quelltext. Dies erstellt den Quelltext aller Klassen des Modells mit den aktuellen Einstellungen wie Ausgabeverzeichnis und Vorgaben für Überschreiben. Man sollte deshalb vorsichtig damit umgehen.

## Quelltext einlesen

&umbrello; kann bereits vorhandenen Quelltext eines bestehenden Projektes einlesen, um Sie beim Aufbau des Systemmodells zu unterstützen. &umbrello; 2 unterstützt Quelltext von ActionScript, Ada, C++, C#, D, IDL, &Java;, Javascript, MySQL, Pascal, PHP und Vala.

Um Klassen in das aktuelle Modell zu importieren, muss man Assistent für Quelltextimport … aus dem MenüQuelltext auswählen. Im erscheinenden Dateidialog sind die Dateien auszuwählen, die die Deklarationen der Klassen enthalten und dann muss Weiter, Import starten und dann Fertigstellen gedrückt werden. Die Klassen werden importiert und man findet sie danach in der Baumansicht des Modells. Es ist zu beachten, dass &umbrello; beim Einlesen von Quelltext keine Diagramme anlegt, sondern lediglich die Klassen. Man kann diese nun in beliebigen Diagrammen verwenden.

Quelltext einlesen Dialog für das Einlesen von Quelltext in &umbrello;

Dialog für das Einlesen von Quelltext in &umbrello;