Altova UModel 2016

Transcription

Altova UModel 2016
Benutzer- und Referenzhandbuch
Altova UModel 2017 Benutzer- und
Referenzhandbuch
All rights reserved. No parts of this work may be reproduced in any form or by any
means - graphic, electronic, or mechanical, including photocopying, recording, taping, or
information storage and retrieval systems - without the written permission of the
publisher.
Products that are referred to in this document may be either trademarks and/or
registered trademarks of the respective owners. The publisher and the author make no
claim to these trademarks.
While every precaution has been taken in the preparation of this document, the
publisher and the author assume no responsibility for errors or omissions, or for
damages resulting from the use of information contained in this document or from the
use of programs and source code that may accompany it. In no event shall the publisher
and the author be liable for any loss of profit or any other commercial damage caused or
alleged to have been caused directly or indirectly by this document.
Published: 2016
© 2016 Altova GmbH
UML®, OMG™, Object Management Group™, and Unified Modeling Language™ are
either registered trademarks or trademarks of Object Management Group, Inc. in the
United States and/or other countries.
Inhaltsverzeichnis
1
UModel
3
2
Einführung in UModel
6
3
UModel Tutorial
3.1
Starten von
.................................................................................................................
UModel
12
3.2
Use Cases
................................................................................................................. 16
3.3
Klassendiagramme
................................................................................................................. 25
3.3.1 Erstellen...................................................................................................
von abgeleiteten Klassen
32
3.4
Objektdiagramme
................................................................................................................. 37
3.5
Komponentendiagramme
................................................................................................................. 43
3.6
Deployment-Diagramme
................................................................................................................. 48
3.7
Round-Trip
.................................................................................................................
Engineering (Modell - Code - Modell)
52
3.8
Round-Trip
.................................................................................................................
Engineering (Code - Modell - Code)
59
4
UModel Benutzeroberfläche
4.1
Modell-Struktur
................................................................................................................. 69
4.2
Diagramm-Struktur
................................................................................................................. 74
4.3
Favoriten
................................................................................................................. 76
4.4
Eigenschaften
................................................................................................................. 78
4.5
Stile
4.6
Hierarchie
................................................................................................................. 83
4.7
Übersicht
.................................................................................................................
- Dokumentation
86
4.8
Dokumentation
................................................................................................................. 87
4.9
Meldungen
................................................................................................................. 88
10
68
................................................................................................................. 80
4.10 Diagrammfenster
................................................................................................................. 89
4.10.1 Diagrammeigenschaften
................................................................................................... 93
4.10.2 Ausschneiden,
...................................................................................................
Kopieren und Einfügen in UModel Diagramme
95
4.11 Hinzufügen/Einfügen
.................................................................................................................
von Modellelementen
98
4.12 Verknüpfen
.................................................................................................................
von Modellierungselementen
100
Altova UModel 2017
1
4.13 Bank-Beispieldateien
................................................................................................................. 106
5
UModel Befehlszeilenschnittstelle
110
5.1
Datei: New
.................................................................................................................
/ Load / Save-Optionen
114
6
Projekte und Code Engineering
6.1
Mini-UModel
.................................................................................................................
Projekt - von Grund auf neu erstellen
121
6.2
Importieren
.................................................................................................................
von Quellcode in Projekte
126
6.3
Importieren
.................................................................................................................
von Java-, C#- und VB-Binärdateien
131
6.4
Synchronisieren
.................................................................................................................
von Modell und Quellcode
137
6.4.1 Tipps zur
...................................................................................................
Synchronisierung
140
6.4.2
Refactoring
...................................................................................................
und Synchronisierung von Code
142
6.5
Voraussetzungen
.................................................................................................................
für Forward Engineering
144
6.6
Generieren
.................................................................................................................
von Java-Code aus UModel-Elementen und umgekehrt
146
6.7
Generieren
.................................................................................................................
von C#-Code aus UModel Elementen und umgekehrt
147
6.8
XML Schema
.................................................................................................................
von/zu UModel Elementen
148
6.9
Konvertierung
.................................................................................................................
VB.NET-Code - UModel-Elemente
149
118
6.10 Konvertierung
.................................................................................................................
Datenbanken - UModel-Elemente
150
6.11 Inkludieren
.................................................................................................................
anderer UModel-Projekte
151
6.12 Zusammenführen
.................................................................................................................
von UModel-Projekten
153
6.12.1 2-Weg-Projektzusammenführung
................................................................................................... 154
6.12.2 3-Weg-Projektzusammenführung
................................................................................................... 155
6.12.3 Beispiel:
...................................................................................................
Manuelle 3-Weg-Projektzusammenführung
158
6.13 Freigeben
.................................................................................................................
von Paketen und Diagrammen
161
6.14 UML-Vorlagen
................................................................................................................. 165
6.14.1 Vorlagensignaturen
................................................................................................... 167
6.14.2 Vorlagenverwendung
................................................................................................... 168
6.14.3 Vorlagenverwendung
...................................................................................................
in Operationen und Eigenschaften
169
6.15 Projekteinstellungen
................................................................................................................. 170
6.16 Verbesserung
.................................................................................................................
der Performance
171
2
7
Erstellen von Modellbeziehungen
174
7.1
Anzeigen
.................................................................................................................
von Modellbeziehungen
177
7.2
Assoziationen,
.................................................................................................................
Realisierungen und Abhängigkeiten
179
Altova UModel 2017
8
Generieren von UML-Dokumentation
184
8.1
Vordefiniertes
.................................................................................................................
SPS-Stylesheet
190
8.2
Benutzerdefinierte
.................................................................................................................
Stylesheets
191
9
UML-Diagramme
9.1
Verhaltensdiagramme
................................................................................................................. 195
9.1.1 Aktivitätsdiagramm
................................................................................................... 196
...........................................................................................................
197
Einf
ügen von Aktivitätsdiagrammelementen
...........................................................................................................
199
Erstellen
von Verzweigungen und Merges
........................................................................................................... 201
Aktivitätsdiagramm-Elemente
9.1.2
Zustandsdiagramm
................................................................................................... 211
...........................................................................................................
212
Einf
ügen von Zustandsdiagrammelementen
...........................................................................................................
212
Erstellen
von Zuständen, Aktivitäten und Transitionen
...........................................................................................................
219
Zusammengesetzte
Zustände
...........................................................................................................
222
Codegenerierung anhand von Zustandsdiagrammen
...........................................................................................................
225
Arbeiten
mit Zustandsdiagrammcode
........................................................................................................... 231
Zustandsdiagramm-Elemente
9.1.3
Protokoll-Zustandsautomat
................................................................................................... 234
...........................................................................................................
235
Einf
ügen von Protokoll-Zustandsdiagramm-Elementen
........................................................................................................... 236
Protokoll-Zustandsdiagramm-Elemente
9.1.4
Use Case-Diagramm
................................................................................................... 239
9.1.5
Kommunikationsdiagramm
................................................................................................... 240
...........................................................................................................
240
Einf
ügen von Kommunikationsdiagrammelementen
9.1.6
Interaktionsübersichtsdiagramm
................................................................................................... 244
...........................................................................................................
245
Einf
ügen von Interaktionsübersichtselementen
9.1.7
Sequenzdiagramm
................................................................................................... 249
...........................................................................................................
250
Einf
ügen von Sequenzdiagrammelementen
194
......................................................................................................................................... 251
Lebenslinie
.........................................................................................................................................
253
Combined
Fragment
.........................................................................................................................................
256
Interaction
Use
......................................................................................................................................... 256
Gate
......................................................................................................................................... 257
Zustandsinvariante
......................................................................................................................................... 257
Nachrichten
Generieren von Sequenzdiagrammen anhand von
........................................................................................................... 263
Quellcode
Generieren von Sequenzdiagrammen anhand von
...........................................................................................................
266
Eigenschaf
ten
...........................................................................................................
268
Generieren
von Code anhand von Sequenzdiagrammen
.........................................................................................................................................
271
Hinzufügen
von Code zu einem Sequenzdiagramm
9.1.8
Altova UModel 2017
Zeitverlaufsdiagramm
................................................................................................... 275
3
...........................................................................................................
276
Einf
ügen von Elementen des Zeitverlauf sdiagramms
...........................................................................................................
276
Lebenslinie
...........................................................................................................
279
Tick-Sy
mbol
...........................................................................................................
280
Auslösendes
Ereignis
........................................................................................................... 280
Zeitdauerbedingung
........................................................................................................... 281
Zeitbedingung
........................................................................................................... 282
Nachricht
9.2
Strukturdiagramme
................................................................................................................. 284
9.2.1 Klassendiagramm
................................................................................................... 285
...........................................................................................................
285
Anp assen von Klassendiagrammen
Auß erkraf tsetzen von Basisklassenop erationen und
...........................................................................................................
292
Imp
lementieren von Schnittstellenop erationen
...........................................................................................................
293
Erstellen
von Getter / Setter-Methoden
...........................................................................................................
294
Ball-and-socket
Notation
Hinzuf ügen von Ausnahmeereignissen zu Methoden
...........................................................................................................
295
einer
Klasse
...........................................................................................................
296
Generieren
von Klassendiagrammen
9.2.2
Kompositionsstrukturdiagramm
................................................................................................... 300
Einf ügen von Elementen eines
...........................................................................................................
300
Komp
ositionsstrukturdiagramms
9.2.3
Komponentendiagramm
................................................................................................... 303
9.2.4
Deployment-Diagramm
................................................................................................... 304
9.2.5
Objektdiagramm
................................................................................................... 305
9.2.6
Paketdiagramm
................................................................................................... 306
...........................................................................................................
307
Einf
ügen von Paketdiagrammelementen
Generieren von Paketdiagrammen beim Imp ortieren von
...........................................................................................................
309
Code
oder Binärdateien
9.2.7
Profildiagramm
...................................................................................................
und Stereotype
312
Hinzuf ügen von Stereoty p en und Def inieren von
...........................................................................................................
314
Eigenschaf
tswerten
...........................................................................................................
318
Stereoty
p e und Enumerationen
...........................................................................................................
320
Benutzerdef
inierte Stereoty p stile
...........................................................................................................
321
Benutzerdef
inierte Stereoty p sy mbole - Zuweisung
9.3
Zusätzliche
.................................................................................................................
Diagramme
326
9.3.1 XML-Schema-Diagramme
................................................................................................... 327
...........................................................................................................
328
Imp ortieren von XML-Schemas
...........................................................................................................
334
Einf
ügen von XML-Schema-Elementen
...........................................................................................................
337
Erstellen
und Generieren eines XML-Schemas
10 Austausch von Metadaten zwischen XMI und
XML
4
342
Altova UModel 2017
11 UModel-Unterstützung für die Arbeit im
Team
346
11.1 Erstellen
.................................................................................................................
und Bearbeiten von Unterprojektdateien
347
12 Versionskontrolle
354
12.1 Einrichten
.................................................................................................................
der Versionskontrolle
356
12.2 Unterstützte
.................................................................................................................
Versionskontrollsysteme
357
12.3 Versionskontrollbefehle
................................................................................................................. 359
12.3.1 Aus Versionskontrolle
...................................................................................................
öffnen
360
12.3.2 Versionskontrolle
...................................................................................................
aktivieren
363
12.3.3 Aktuellste
...................................................................................................
Version holen
364
12.3.4 Abrufen................................................................................................... 365
12.3.5 Ordner ...................................................................................................
abrufen
366
12.3.6 Auschecken
................................................................................................... 367
12.3.7 Einchecken
................................................................................................... 369
12.3.8 Auschecken
...................................................................................................
rückgängig...
370
12.3.9 Zu Versionskontrolle
...................................................................................................
hinzufügen
371
12.3.10 Von Versionskontrolle
...................................................................................................
ausgliedern
374
12.3.11 Aus Versionskontrolle
...................................................................................................
freigeben
375
12.3.12 Verlauf...................................................................................................
anzeigen
376
12.3.13 Unterschiede
...................................................................................................
anzeigen
378
12.3.14 Eigenschaften
...................................................................................................
anzeigen
380
12.3.15 Status aktualisieren
................................................................................................... 381
12.3.16 Versionskontrollmanager
................................................................................................... 382
12.3.17 Versionskontrolle
...................................................................................................
wechseln
383
12.4 Versionskontrolle
.................................................................................................................
mit Git
384
12.4.1 Aktivieren
...................................................................................................
der Git-Versionskontrolle mit dem Git SCC Plug-in
385
12.4.2 Hinzufügen
...................................................................................................
eines Projekts zur Git-Versionskontrolle
386
12.4.3 Klonen...................................................................................................
eines Projekts anhand der Git-Versionskontrolle
388
13 UModel Diagrammsymbole
392
13.1 Aktivitätsdiagramm
................................................................................................................. 393
13.2 Klassendiagramm
................................................................................................................. 394
13.3 Kommunikationsdiagramm
................................................................................................................. 395
13.4 Kompositionsstrukturdiagramm
................................................................................................................. 396
13.5 Komponentendiagramm
................................................................................................................. 397
Altova UModel 2017
5
13.6 Deployment-Diagramm
................................................................................................................. 398
13.7 Interaktionsübersichtsdiagramm
................................................................................................................. 399
13.8 Objektdiagramm
................................................................................................................. 400
13.9 Paketdiagramm
................................................................................................................. 401
13.10 Profildiagramm
................................................................................................................. 402
13.11 Protokoll-Zustandsdiagramm
................................................................................................................. 403
13.12 Sequenzdiagramm
................................................................................................................. 404
13.13 Zustandsdiagramm
................................................................................................................. 405
13.14 Zeitverlaufsdiagramm
................................................................................................................. 406
13.15 Use Case-Diagramm
................................................................................................................. 407
13.16 XML-Schema-Diagramm
................................................................................................................. 408
14 Menüreferenz
410
14.1 Datei ................................................................................................................. 411
14.2 Bearbeiten
................................................................................................................. 416
14.3 Projekt................................................................................................................. 419
14.4 Layout................................................................................................................. 426
14.5 Ansicht................................................................................................................. 427
14.6 Extras ................................................................................................................. 428
14.6.1 Benutzerdefinierte
...................................................................................................
Tools
429
14.6.2 Anpassen...
................................................................................................... 430
430
Bef...........................................................................................................
ehle
430
Sy...........................................................................................................
mbolleisten
........................................................................................................... 431
Extras
........................................................................................................... 434
Tastatur
........................................................................................................... 434
Menü
435
Op...........................................................................................................
tionen
14.6.3 Symbolleisten
...................................................................................................
und Fenster wiederherstellen
436
14.6.4 Optionen
................................................................................................... 437
14.7 Fenster................................................................................................................. 443
14.8 Hilfe ................................................................................................................. 444
15 Code Generator
450
15.1 SPL (Spy
.................................................................................................................
Programming Language)
451
15.1.1 Grundlegende
...................................................................................................
SPL-Struktur
452
15.1.2 Variablen
................................................................................................... 453
15.1.3 Operatoren
................................................................................................... 460
6
Altova UModel 2017
15.1.4
15.1.5
15.1.6
Bedingungen
................................................................................................... 461
Collections
...................................................................................................
und foreach
462
Subroutinen
................................................................................................... 464
...........................................................................................................
464
Deklaration einer Subroutine
...........................................................................................................
465
Subroutinenauf
ruf
15.2 Fehlercodes
................................................................................................................. 466
16 Lizenzinformationen
468
16.1 Electronic
.................................................................................................................
Software Distribution
469
16.2 Software-Aktivierung
.................................................................................................................
und Lizenzüberwachung
470
16.3 Rechte.................................................................................................................
am geistigen Eigentum
472
16.4 Altova .................................................................................................................
Endbenutzer-Lizenzvereinbarung
473
Index
Altova UModel 2017
7
Kapitel 1
UModel
UModel
1
3
UModel
UModel®2017 Basic Edition ist eine erschwingliche Modellierapplikation mit visueller
Benutzeroberfläche und zahlreichen, benutzerfreundlichen Funktionen, mit denen das Erlernen
von UML kein Problem mehr ist. UModel bietet viele hochspezifische Funktionen für die
Implementierung der nützlichsten Aspekte der UML 2.4 Spezifikation. UModel ist eine 32/64-Bit
Windows-Applikation, die auf Windows Server 2003/2008/2012, Windows XP, Windows Vista,
Windows 7, Windows 8 und Windows 10 läuft. Die 64-Bit-Version steht für die Enterprise und
Professional Version zur Verfügung.
UModel® 2017 unterstützt:
alle 14 UML 2.3 Modellierungsdiagramme
MDA (Model Driven Architecture)-Unterstützung, wodurch die Konvertierung zwischen
verschiedenen Programmiersprachen möglich wird (nur Enterprise Edition)
Import und Export von SQL-Datenbanken in UModel (nur Enterprise/Professional Edition)
Funktionen für die Arbeit im Team - gleichzeitige Projektbearbeitung
3-Weg-Projektzusammenführung
Protokoll-Zustandsdiagramme
SysML-1.2-Diagramme (nur Enterprise/Professional Edition)
Sequenzdiagrammgenerierung direkt anhand von Quellcode
Codegenerierung anhand von Zustandsdiagrammen (nur Enterprise Edition)
UModel API und Plug-in (nur Enterprise/Professional Edition)
Integrierte Skripting-Umgebung und Formulareditor (nur Enterprise/Professional Edition)
Visual Studio Integration (nur Enterprise/Professional Edition)
Eclipse Integration (nur Enterprise/Professional Edition)
Unterstützung für Versionskontrollsysteme
XML-Schema-Diagramme
Business Process Modeling Notation 1.0 und 2.0 (nur Enterprise/Professional Edition)
mehrere Ebenen bei UML-Diagrammen (nur Enterprise/Professional Edition)
Import von Java-, C#- und Visual Basic-Binärdateien
Verknüpfen von Diagrammen und Modellierungselementen mittels Hyperlinks
Syntaxfärbung in Diagrammen
Cascading Styles
unbegrenztes Rückgängigmachen und Wiederherstellen
Generierung von Java-, C#- und Visual Basic-Code anhand von Modellen
Reverse Engineering von vorhandenem Java-, C#- und Visual Basic-Quellcode
vollständiges Round-Trip Engineering mit Zusammenführung von Code und Modell
XMI-Version 2.4 für UML 2.0, 2.1und 2.1.2, 2.2, 2.3, 2.4-Modellimport und -export
Generierung von UModel Projektdokumentation
Dank dieser Funktionen können Entwickler - selbst Neulinge im Bereich der SoftwareModellierung - rasch das volle Potenzial von UML ausschöpfen, um produktiver arbeiten und
optimale Ergebnisse erzielen zu können.
© 2016 Altova GmbH
Altova UModel 2017
4
UModel
UML®, OMG™, Object Management Group™ und Unified Modeling Language™ sind entweder
eingetragene Markenzeichen oder Markenzeichen der Object Management Group, Inc. in den
USA und/oder anderen Ländern.
Letzte Aktualisierung: 28.11.2016
Altova UModel 2017
© 2016 Altova GmbH
Kapitel 2
Einführung in UModel
6
Einführung in UModel
2
Einführung in UModel
Altova Web site:
Einführung in Altova UModel
UML (Unified Modeling Language) ist eine vollständige Modelliersprache, die jedoch nicht
vorschreibt, welche Methode bei der Entwicklung, Code Generierung und beim Round-Trip
Engineering verwendet werden soll. UModel wurde so konzipiert, dass der Benutzer bei der
Modellierung vollkommen freie Hand hat:
UModel Diagramme können jederzeit und in jeder Reihenfolge erstellt werden; es muss
bei der Modellierung keine vorgeschriebene Reihenfolge eingehalten werden.
Code oder Modelle können auf Ebene eine Projekts, Pakets oder sogar einer Klasse
zusammengeführt werden. Bei UModel müssen kein Pseudocode oder Kommentare im
generierten Code vorhanden sein, damit ein Round-Trip Engineering durchgeführt werden
kann.
Die Codegenerierung in UModel basiert auf SPL- (Spy Programming Language) Vorlagen
und kann komplett angepasst werden. Änderungen werden automatisch bei der
Codegenerierung erkannt.
Bei der Codegenerierung und dem Reverse Engineering werden derzeit die folgenden
Sprachen unterstützt:
Sprache
Version
C#
1.2, 2.0, 3.0, 4.0, 5.0, 6.0
Java
1.4, 5.0 (1.5), 6, 7, 8
Visual Basic .NET
7.1, 8.0, 9.0
Ein einziges Projekt kann gleichzeitig sowohl Java-, C#- oder VB.NET-Code unterstützen.
Unterstützung für UML-Vorlagen und Generics.
XML-Metadaten-Austausch (XMI 2.1 für UML 22.0, 2.1.2, 2.2, 2.3 und XMI 2.4 für UML
2.4.1)
Beim Hinzufügen von Eigenschaften oder Operationen bietet UModel Eingabehilfen zur
Auswahl von Typen, Spezialisierung und Klassifizierung und anderen Eigenschaften, die
auch in gängigen IDEs wie XMLSpy, Visual Studio oder Eclipse zur Verfügung stehen.
Dank der Syntaxfärbung in Diagrammen werden UML-Diagramme attraktiver und intuitiver.
Die Modellierungselemente und ihre Eigenschaften (Schriftart, Farben, Umrandungen
usw.) können auf Ebene von Projekten, Knoten/Zeilen, Elementfamilien und Elementen
hierarchisch vollständig angepasst werden.
In Use-Case-Diagrammen können anpassbare Akteure definiert werden, mit denen
Terminals oder andere Symbole dargestellt werden.
Modellierungselemente können auf dem Diagrammregister, im Modell-Struktur-Fenster,
im Meldungsfenster und im Fenster "Dokumentation" nach Namen durchsucht werden.
Klassen oder Objektassoziationen, Abhängigkeiten, Generalisierungen usw. können in
Modeldiagrammen über das Kontextmenü gefunden/markiert werden.
Die Funktion zum unbegrenzten Rückgängigmachen und Wiederherstellen hält nicht nur
Änderungen am Inhalt fest, sondern auch alle Änderungen am Stil von Modellelementen.
Bitte beachten Sie:
Altova UModel 2017
© 2016 Altova GmbH
Einführung in UModel
7
Dieses Dokument enthält keine Beschreibung oder Erläuterung von UML (Unified
Modeling Language); vielmehr wird darin beschrieben, wie die UModel
Modellierungsapplikation verwendet wird und wie Code modelliert sowie ein Round-Trip
Engineering durchgeführt wird.
© 2016 Altova GmbH
Altova UModel 2017
Kapitel 3
UModel Tutorial
10
UModel Tutorial
3
UModel Tutorial
In diesem Tutorial wird der Reihe nach beschrieben, wie man im Allgemeinen beim Erstellen eines
Modellierungsprojekts in UModel vorgeht.
Der Großteil des Tutorials ist dem Forward Engineering gewidmet, d.h. dem Erstellen von UMLDiagrammen in UModel und dem Generieren von Code. Anschließend wird auf das Round-Trip
Engineering eingegangen. In den Abschnitten über Round-Trip Engineering wird der Vorgang
sowohl von der Code-Seite als auch von der Modellseite aus beschrieben.
Im Tutorial werden die folgenden UML-Diagramme beschrieben und wie die verschiedenen
Modellierungselemente darin verwendet werden. Es werden die folgenden Diagramme und die
damit in Zusammenhang stehenden Vorgänge beschrieben:
Forward Engineering:
Use Cases (Anwendungsfälle)
Klassendiagramme
Objektdiagramme
Komponentendiagramme
Deployment-Diagramme (Verteilungsdiagramme)
Round-Trip Engineering (Modell - Code - Modell)
Codegenerierung von UModel
Hinzufügen einer neuen Operation zum externen Code
Überführen des externen Codes in UModel.
Round-Trip Engineering (Code - Modell - Code)
Importieren von mit XMLSpy erzeugtem Code aus einem Verzeichnis (oder einer
Projektdatei)
Hinzufügen einer neuen Klasse zum generierten Modell in UModel
Zusammenführen des aktualisierten Projekts mit dem externen Code.
Alle in diesem Tutorial verwendeten Beispiele stehen anfangs im Ordner C:\Documents and
Settings\All Users\Application Data\Altova zur Verfügung. Wenn ein Einzelbenutzer die
Applikation zum ersten Mal startet, werden die Beispieldateien für diesen Ordner in den Ordner
C:\Documents and Settings\<username>\My Documents\Altova\UModel2017
\UModelExamples\ kopiert. Verschieben, bearbeiten oder löschen Sie daher die Beispieldateien
im Anfangsverzeichnis ...\All Users\.... nicht.
BankView-start.ump
ist die UModel-Projektdatei, in der sich die Tutorial-Beispieldatei im Anfangszustand
befindet. In dieser Phase enthält sie einige Modell-Diagramme sowie Klassen, Objekte
und andere Modellelemente. Während Sie das Tutorial durcharbeiten, werden nach und
nach neue Pakete, Modelldiagramme und viele andere Elemente hinzugefügt, um Ihnen
zu demonstrieren, wie leicht Sie mit UModel Applikationen modellieren können. Beachten
Sie bitte, dass die Syntaxüberprüfung bei dieser Datei Fehler und Warnmeldungen
ausgibt. Im Tutorial wird beschrieben, wie Sie diese Probleme beheben können.
BankView-finish.ump
ist die UModel Projektdatei, in der Sie das Tutorial-Beispiel im Endzustand sehen. Diese
Projektdatei wird beim Generieren von Code und beim Synchronisieren des Codes mit
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
11
UModel verwendet.
Der OrgChart.zip-Ordner in diesem Ordner wird für das Round-Trip Engineering
verwendet. Entpacken Sie den Ordner bitte in den Ordner ..\UmodelExamples, bevor Sie
mit dem Abschnitt beginnen.
Weitere Beispieldateien sowohl für die Programmiersprache Java als auch C# liegen ebenfalls im
selben Verzeichnis: Bank_Java.ump, Bank_CSharp.ump und Bank_MultiLanguage.ump.
Diese Projektdateien enthalten auch Sequenzdiagramme, die weiter hinten in dieser
Dokumentation beschrieben sind.
Im Abschnitt "Projekte und Code Engineering" finden Sie eine Anleitung, wie man ein Projekt von
Grund auf neu erstellt und Code generiert.
© 2016 Altova GmbH
Altova UModel 2017
12
UModel Tutorial
3.1
Starten von UModel
Starten von UModel
Nachdem Sie UModel auf Ihrem Computer installiert haben:
1. Starten Sie UModel mit einem Doppelklick auf das UModel-Symbol auf Ihrem Desktop
oder rufen Sie UModel über Start | Programme auf.
UModel wird gestartet, wobei das Standardprojekt "NeuesProjekt1" angezeigt wird.
Beachten Sie die Hauptbereiche der Benutzeroberfläche: die drei Fenster auf der linken
Seite und das leere Diagrammfenster auf der rechten Seite.
Auf dem Register "Modell-Struktur" werden zwei Standardpakete angezeigt: "Root" und
"Component View". Diese beiden Pakete können in einem Projekt nicht gelöscht oder
umbenannt werden.
So öffnen Sie das Projekt BankView-start:
1. Wählen Sie die Menüoption Datei | Öffnen und navigieren Sie zum UModel-Ordner ...
\UModelExamples\Tutorial. Beachten Sie, dass Sie eine UMP-Datei auch über eine
URL öffnen können. Nähere Informationen finden Sie unter Zu URL wechseln.
2. Öffnen Sie die Projektdatei BankView-start.ump.
Die Projektdatei wird nun in UModel geladen. Unter dem Root-Paket sehen Sie nun einige
vordefinierte Pakete. Beachten Sie, dass das Hauptfenster zu diesem Zeitpunkt leer ist.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Starten von UModel
13
Das Modell-Struktur-Fenster bietet verschiedene Ansichten Ihres Modellierungsprojekts:
Auf dem Register Modell-Struktur werden alle Modellierungselemente Ihres UModelProjekts angezeigt. Elemente können auf diesem Register mit Hilfe der StandardBearbeitungstasten sowie Drag and Drop direkt manipuliert werden.
Auf dem Register Diagramm-Struktur haben Sie schnellen Zugriff auf die
Modellierungsdiagramme Ihres Projekts, egal an welcher Stelle in der Projektstruktur sich
diese befinden. Diagramme werden nach Diagrammtyp gruppiert.
Das Register Favoriten ist eine konfigurierbare Ablage für Modellierungselemente. Mit
dem Kontextmenü-Befehl "Zu Favoriten hinzufügen" können Sie jede Art von
Modellierungselement auf dieses Register platzieren.
Das Fenster "Eigenschaften" bietet zwei Ansichten bestimmter Modelleigenschaften:
Auf dem Register Eigenschaften sehen Sie die Eigenschaften des aktuell ausgewählten
Elements aus dem Fenster "Modell-Struktur" oder "Diagramm". Auf diesem Register
können Elementeigenschaften definiert oder aktualisiert werden.
Auf dem Register Stile sehen Sie Attribute von Diagrammen oder Elementen, die in der
Diagrammansicht angezeigt werden. Diese Stilattribute lassen sich in zwei allgemeine
© 2016 Altova GmbH
Altova UModel 2017
14
UModel Tutorial
Starten von UModel
Gruppen unterteilen: Formatierungen und Anzeigeeinstellungen.
Auf dem Register Hierarchie sehen Sie alle Beziehungen des aktuell ausgewählten
Modellierungselements in zwei unterschiedlichen Ansichten. Das Modellierungselement
kann in einem Modellierungsdiagramm, der Modell-Struktur oder auf dem Register
"Favoriten" ausgewählt werden.
Im Übersichtsfenster werden mehrere Register angezeigt:
Das Register Übersicht, auf dem das aktive Diagramm im Umriss dargestellt ist.
Das Register Dokumentation, auf dem Sie Ihre Klassen nach Klassen dokumentieren
können.
Darstellung der Modellelemente in der Modell-Struktur
Pakettypen:
UML-Paket
Java Namespace Root-Paket
C# Namespace Root-Paket
Visual Basic Root-Paket
XML-Schema Root-Paket
Java-, C#-, VB-Codepaket (Paketdeklarationen werden erstellt, wenn der Code generiert wird)
Diagrammtypen:
Aktivitätsdiagramm
Klassendiagramm
Kommunikationsdiagramm
Komponentendiagramm
Kompositionsstrukturdiagramm
Deployment-Diagramm
Interaktionsübersichtsdiagramm
Objektdiagramm
Paketdiagramm
Profildiagramm
Sequenzdiagramm
Zustandsdiagramm
Zeitverlaufsdiagramm
Use Case-Diagramm
XML-Schema-Diagramm
Business Process Modeling
Notation
Elementtypen:
Ein Element, das im aktiven Diagramm gerade sichtbar ist, wird mit einem blauen Punkt am
unteren Rand dargestellt. In diesem Fall handelt es sich um ein Klassenelement.
Klasseninstanz/-objekt
Klasseninstanz-Slot
Klasse
Eigenschaft
Operation
Parameter
Akteur (sichtbar im aktiven Use Case-Diagramm)
Use Case
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Starten von UModel
15
Komponente
Knoten
Artefakt
Schnittstelle
Beziehungen (/Paket)
Einschränkungen
© 2016 Altova GmbH
Altova UModel 2017
16
UModel Tutorial
3.2
Use Cases
Altova Website:
Use Cases
UML Use Case-Diagramme
Ziel dieses Tutorial-Abschnitt ist es:
ein neues Paket zum Projekt hinzuzufügen
ein neues Use Case-Diagramm zum Projekt hinzuzufügen
Use Case-Elemente zum Diagramm hinzuzufügen und die Abhängigkeiten zwischen den
Elementen zu definieren
Elemente auf dem Diagramm-Register auszurichten und deren Größe anzupassen.
So fügen Sie ein neues Paket zu einem Projekt hinzu:
1. Rechtsklicken Sie auf dem Register "Modell-Struktur" auf das Root-Paket und wählen
Sie Neues Element | Paket.
2. Geben Sie den Namen des neuen Pakets ein, z.B. Use Case View und drücken Sie die
Eingabetaste.
Nähere Informationen zu Paketen und ihren Eigenschaften finden Sie unter "Pakete".
So fügen Sie ein Diagramm zu einem Paket hinzu:
1. Rechtsklicken Sie auf das zuvor erstellte Paket "Use Case View".
2. Wählen Sie den Befehl Neues Diagramm | UseCase-Diagramm.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Use Cases
17
Dem Paket wurde nun in der Modell-Struktur-Ansicht ein Use Case-Diagramm
hinzugefügt und im Diagramm-Fenster wurde ein Diagramm-Register angelegt, das
automatisch einen Standardnamen erhielt.
3. Doppelklicken Sie auf dem Register "Modell-Struktur" auf diesen Namen, ändern Sie ihn
in "Overview Account Balance" und drücken Sie die Eingabetaste.
Nähere Informationen zu Diagrammen und deren Eigenschaften finden Sie unter
Diagramme.
So fügen Sie Use Case-Elemente zum Use Case-Diagramm hinzu:
1. Rechtsklicken Sie in das neu erstellte Diagramm und wählen Sie Neu | Akteur.
Das Akteurelement wird an der Mausposition eingefügt.
2. Klicken Sie auf das Use Case-Symbol
in der Symbolleiste und dann in das
Diagrammfenster, um das Element einzufügen.
Es wird ein Element "UseCase1" eingefügt. Beachten Sie, dass das Element und sein
Name aktuell ausgewählt sind und dass seine Eigenschaften auf dem Register
"Eigenschaften" angezeigt werden.
© 2016 Altova GmbH
Altova UModel 2017
18
UModel Tutorial
Use Cases
3. Ändern Sie den Titel in "get account balance" und drücken Sie zur Bestätigung die
Eingabetaste. Doppelklicken Sie auf den Titel, wenn er nicht aktiv ist.
Beachten Sie, dass die Größe des Use Case automatisch an die Textlänge angepasst
wird.
Modellelemente haben verschiedene Verbindungsziehpunkte und andere Elemente, mit
denen Sie diese bearbeiten können.
Anmerkung: Durch Drücken von Strg + Eingabetaste können Sie einen mehrzeiligen Use
Case-Namen erstellen.
Bearbeiten von UModel Elementen: Ziehpunkte und Bereiche
1. Doppelklicken Sie auf den Text "Akteur1" des Akteur-Elements, ändern Sie den Namen
in "Standard User" und drücken Sie zur Bestätigung die Eingabetaste.
2. Platzieren Sie den Mauszeiger über den "Ziehpunkt" rechts vom Akteur.
Es erscheint ein Tooltip mit dem Inhalt "Assoziation".
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Use Cases
19
3. Klicken Sie auf den Ziehpunkt, ziehen Sie die Assoziationslinie nach rechts auf den
Anwendungsfall (Use case) "get account balance".
Zwischen Dem Akteur und dem Anwendungsfall wurde nun eine Assoziation erstellt. Die
Eigenschaften der Assoziation sind auch auf dem Register "Eigenschaften" zu sehen.
Die neue Assoziation wurde unter dem Element "Beziehungen" des Use Case ViewPakets hinzugefügt.
4. Klicken Sie auf den Anwendungsfall (Use Case) und ziehen Sie ihn nach rechts, um ihn
neu zu positionieren.
Die Eigenschaften der Assoziation sind auf dem Assoziationsobjekt zu sehen.
5. Klicken Sie auf den Anwendungsfall, um ihn auszuwählen und anschließend auf das
Symbol zum Reduzieren am linken Rand der Use Case-Ellipse.
Der Bereich "extension points" wird nun ausgeblendet.
© 2016 Altova GmbH
Altova UModel 2017
20
UModel Tutorial
Use Cases
Bitte beachten Sie:
Ein blauer Punkt neben einem Elementsymbol
auf dem Register
"Modell-Struktur" bedeutet, dass das Element auf dem aktuellen Diagrammregister
sichtbar ist. Wenn Sie die Größe des Akteurs anpassen, wird auch das Textfeld
angepasst, das auch mehrere Zeilen enthalten kann. Mit Strg + Eingabetaste wird eine
Zeilenschaltung in den Text eingefügt.
Fertigstellen des Use Case-Diagramms:
Gehen Sie vor, wie oben beschrieben und:
1. Klicken Sie in der Symbolleiste auf das Use Case-Symbol und halten Sie gleichzeitig
die Strg-Taste gedrückt.
2. Klicken Sie auf dem Diagrammregister an zwei verschiedenen Stellen vertikal
übereinander in das Register, um zwei weitere Use Cases hinzuzufügen. Lassen Sie
anschließend die Strg-Taste los.
3. Geben Sie dem ersten Use Case den Namen "get account balance sum" und dem
zweiten den Namen, "generate monthly revenue report".
4. Klicken Sie auf das Einklappsymbol der einzelnen Use Case-Ellipsen um den extensionBereich auszublenden.
5. Klicken Sie auf den Akteur und erstellen Sie mit Hilfe des Assoziationsziehpunkts eine
Assoziation zwischen "Standard User" und "get account balance sum".
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Use Cases
21
So erstellen Sie eine "include"-Abhängigkeit zwischen Use Cases (und somit einen
untergeordneten Use Case):
1. Klicken Sie auf den Include-Ziehpunkt der "get account balance sum" Use Case-Ellipse
(unter der Ellipse) und ziehen Sie die Abhängigkeit auf "get account balance".
Es wird eine "include"-Abhängigkeit erstellt und auf dem strichlierten Pfeil wird das
include-Stereotyp angezeigt.
Einfügen von benutzerdefinierten Akteuren:
Beim Akteur im Use Case "generate monthly revenue report" handelt es sich nicht um eine
Person, sondern um einen automatisierten Batch-Auftrag, der von einem Bankcomputer
ausgeführt wird.
1. Fügen Sie mit Hilfe des Symbolleistensymbols "Akteur" einen Akteur in das Diagramm
ein.
2. Benennen Sie den Akteur in "Bank" um.
3. Platzieren Sie den Cursor über das Register "Eigenschaften" und klicken Sie auf das
Durchsuchen-Symbol
neben dem Eintrag "Symboldateiname".
4. Klicken Sie auf die Schaltfläche, um die benutzerdefinierte Bitmap-Grafik Bank-PC.bmp
auszuwählen.
5. Deaktivieren Sie das Kontrollkästchen "Absoluter Pfad", um den Pfad relativ zu machen.
© 2016 Altova GmbH
Altova UModel 2017
22
UModel Tutorial
Use Cases
Bei Auswahl von "Vorschau" wird im Dialogfeld eine Vorschau der ausgewählten Datei
angezeigt.
6. Klicken Sie auf OK, um die Einstellungen zu bestätigen und fügen Sie den neuen Akteur
ein.
7. Verschieben Sie den neuen Akteur "Bank" und platzieren Sie ihn rechts vom untersten
Use Case.
8. Klicken Sie in der Symbolleiste auf das Symbol "Assoziation"
und ziehen Sie es
vom Akteur "Bank" zum Use Case "generate monthly revenue report".
Dies ist eine alternative Methode zum Erstellen einer Assoziation.
Bitte beachten Sie:
Die Hintergrundfarbe, mit der die Bitmap-Grafik transparent gemacht werden kann, hat die
RGB-Werte 82.82.82.
Ziehen von Elementen - Ausrichtungshilfslinien
Wenn Sie Komponenten in einem Diagramm mit der Maus ziehen, erscheinen Hilfslinien, an
denen Sie ein Element an jedem anderen Element im Diagramm ausrichten können. Diese Option
kann mit Hilfe der Menüoption Extras | Optionen | Ansicht - Gruppe "Ausrichtung" "Hilfslinien
aktivieren" aktiviert bzw. deaktiviert werden.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Use Cases
23
Ausrichten und Anpassen der Größe von Elementen:
1. Ziehen Sie einen Auswahlrahmen auf, indem Sie auf dem Diagrammhintergrund ein
Rechteck aufziehen, in dem von oben angefangen alle drei Use Cases enthalten sind.
Beachten Sie, das die Umrandung des zuletzt markierten Use Case im Diagramm und im
Übersichtsfenster strichliert angezeigt wird.
Alle Use Cases sind nun ausgewählt, wobei die unterste Ellipse die Basis für die
folgenden Anpassungen bildet.
2. Klicken Sie in der Titelleiste auf das Symbol "Größe angleichen"
.
Die Use Case-Elemente werden alle zentriert und erhalten dieselbe Größe.
3. Klicken Sie auf das Symbol "Horizontal zentrieren"
auszurichten.
© 2016 Altova GmbH
, um alle Ellipsen parallel
Altova UModel 2017
24
UModel Tutorial
Use Cases
Bitte beachten Sie:
Sie können auch mit Hilfe der Strg-Taste mehrere Elemente auswählen.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
3.3
Klassendiagramme
25
Klassendiagramme
Altova Website:
UML-Klassendiagramme
Ziel dieses Tutorial-Abschnitts ist es:
eine neue abstrakte Klasse mit dem Namen "Account" sowie Attribute und Operationen
hinzuzufügen
eine Kompositions-Assoziation von Bank zu Account zu erstellen
So öffnen Sie ein anderes Diagramm in UModel:
1. Klicken Sie auf das Register "Diagramm-Struktur".
2. Erweitern Sie das Paket "Klassendiagramme", um dessen Inhalt zu sehen.
Es werden nun alle im Projekt vorhandenen Klassendiagramme angezeigt.
3. Doppelklicken Sie auf das Diagrammsymbol
BankView Main.
Das Klassendiagramm wird in Form eines Registers im Arbeitsbereich angezeigt.
Bitte beachten Sie:
Sie können natürlich auch auf dem Register "Modell-Struktur" auf das
Klassendiagrammsymbol unterhalb des Pakets "BankView" doppelklicken, um dasselbe
Ergebnis zu erzielen.
Im Klassendiagramm sehen Sie zwei konkrete Klassen, die durch eine Kompositions-Assoziation
verbunden sind.
© 2016 Altova GmbH
Altova UModel 2017
26
UModel Tutorial
Klassendiagramme
So fügen Sie eine neue Klasse hinzu und definieren sie als abstrakt:
1. Klicken Sie in der Symbolleiste auf das Klassensymbol
und anschließend rechts
von der Klasse "Bank" um die Klasse einzufügen.
2. Ändern Sie den Namen "Klasse1" z.B. in "Account" und drücken Sie zum Bestätigen die
Eingabetaste, (doppelklicken Sie auf den Namen, wenn er nicht mehr aktiv ist).
Beachten Sie, dass die Eigenschaften der aktuellen Klasse auf dem Register
"Eigenschaften" angezeigt werden.
3. Aktivieren Sie im Bereich "Eigenschaften" das Kontrollkästchen "abstrakt", um die
Klasse abstrakt zu machen.
4. Klicken Sie in das Textfeld von "Codedateiname" und geben Sie Account.java ein, um
den Dateinamen der Java-Klasse zu definieren.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Klassendiagramme
27
Der Name der Klasse wird nun kursiv angezeigt, da abstrakte Klassen kursiv angezeigt
werden.
So fügen Sie Eigenschaften zu einer Klasse hinzu:
1. Rechtsklicken Sie auf die Klasse "Account" und wählen Sie Neu | Eigenschaft oder
drücken Sie F7.
Es wird eine Standardeigenschaft "Eigenschaft1" mit Stereotypmarkierungen << >>
eingefügt.
2. Geben Sie den Eigenschaftsnamen "balance" ein und fügen Sie anschließend einen
Doppelpunkt ":" hinzu.
Es erscheint eine Dropdown-Liste mit allen gültigen Typen.
3. Geben Sie das Zeichen "f" ein und drücken Sie die Eingabetaste, um den RückgabewertDatentyp "float" einzufügen.
Beachten Sie bitte, dass die Groß- und Kleinschreibung in Dropdown-Listen eine Rolle
spielt!
© 2016 Altova GmbH
Altova UModel 2017
28
UModel Tutorial
Klassendiagramme
4. Fahren Sie in derselben Zeile fort, indem Sie "=0" anhängen, um den Standardwert zu
definieren.
5. Drücken Sie die Taste F7, um eine zweite Eigenschaft zur Klasse hinzuzufügen.
6. Geben Sie Id: ein und wählen Sie aus der Dropdown-Liste den Eintrag String aus.
So fügen Sie Operationen zu einer Klasse hinzu:
1. Rechtsklicken Sie auf die Klasse "Account" und wählen Sie Neu | Operation oder
drücken Sie die Taste F8.
2. Geben Sie als Konstruktor Account() ein.
Gehen Sie vor wie oben beschrieben und:
3. Fügen Sie zwei weitere Operationen hinzu, und zwar getBalance:float und
getId:String.
Verwenden Sie die Autokomplettierungsfunktion bei Definieren der Operationen und:
4. Erstellen Sie durch Drücken der Taste F8 eine weitere Operation collectAccountInfo
und drücken Sie die Klammer-auf-Taste "(".
Wenn Sie das Zeichen "i" eingeben, wird die Dropdown-Liste geöffnet und Sie können
einen der Operationsrichtungsparameter auswählen: in, in / out, oder out.
5. Wählen Sie aus der Dropdown-Liste "in" aus, geben Sie ein Leerzeichen ein und fahren
Sie in derselben Zeile fort.
6 Geben Sie "bankAPI" ein, gefolgt von einem Doppelpunkt.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Klassendiagramme
29
7. Wählen Sie aus der Dropdown-Liste IBankAPI aus, fügen Sie die schließende Klammer
")" hinzu und geben Sie einen Doppelpunkt ":" ein.
8. Drücken Sie die Taste "b", um den Booleschen Datentyp auszuwählen und fügen Sie ihn
anschließend durch Drücken der Eingabetaste ein.
9. Drücken Sie die Eingabetaste, um die Definition zu beenden.
Bitte beachten Sie:
Wenn Sie auf das Ein-/Ausblendsymbol links von einer Operation
oder Eigenschaft
klicken, wird eine Dropdown-Liste geöffnet, über die Sie den Sichtbarkeitsstatus
ändern können. Beachten Sie, dass diese Ein-/Ausblendsymbole in die UML-konformen
Symbole geändert werden können.
Löschen von Klasseneigenschaften und Operationen aus einem Klassendiagramm:
1. Drücken Sie F8 und dann die Eingabetaste um eine Standardoperation "Operation1" zur
Klasse "Account" hinzuzufügen.
2. Klicken Sie auf Operation1 und drücken Sie die Entf-Taste, um die Operation zu löschen.
Es erscheint eine Meldung, in der Sie gefragt werden, ob das Element aus dem Projekt
gelöscht werden soll. Klicken Sie auf "Ja", um Operation1 aus der Klasse und dem
Projekt zu löschen.
Bitte beachten Sie:
Wenn Sie die Operation nur aus der Klasse im Diagramm löschen möchten, nicht aber
aus dem Projekt, drücken Sie Strg + Entf. Sie können auch eine Bestätigungsmeldung
© 2016 Altova GmbH
Altova UModel 2017
30
UModel Tutorial
Klassendiagramme
aktivieren, die Sie beim Löschen von Objekten bestätigen müssen. Nähere Informationen
dazu finden Sie unter Extras | Bearbeiten"
Suchen (Löschen) von Klasseneigenschaften und Optionen aus der Modell-Struktur:
Eigenschaften und Optionen können auch direkt aus der Modell-Struktur gelöscht werden. Dazu
müssen Sie zuerst die richtige Eigenschaft finden. Angenommen, Sie haben "Operation1" in die
Klasse "Account" eingefügt (drücken Sie zum Einfügen F8 und anschließend die Eingabetaste):
1. Rechtsklicken Sie in der Klasse "Account" auf Operation1.
2. Wählen Sie die Option "In Modell-Struktur auswählen" oder drücken Sie F4.
Der Eintrag Operation1 erscheint nun auf dem Register "Modell-Struktur" unter Account
markiert.
3. Drücken Sie die Entf-Taste, um die Operation aus der Klasse und dem Projekt zu
löschen!
Beachten Sie, dass Sie durch Drücken von F4 beinahe jedes Modellierungselement in der
Modell-Struktur finden können.
Bitte beachten Sie:
Sie können beim Anzeigen von Attributeigenschaften auch vom Fenster "Eigenschaften"
zur Modell-Struktur navigieren. Nähere Informationen dazu finden Sie in der
Benutzerreferenz unter Eigenschaften.
Erstellen einer Kompositions-Assoziation zwischen den Klassen "Bank" und "Account":
1. Klicken Sie in der Titelleiste auf das Symbol "Komposition"
und ziehen Sie es von
der Klasse Bank zur Klasse Account. Wenn eine Assoziation erstellt werden kann,
erscheint die Klasse markiert.
In der Klasse "Bank" wird eine neue Eigenschaft (Property1:Account) erstellt. Die
beiden Klassen werden durch einen Kompositions-Assoziationspfeil verbunden.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Klassendiagramme
31
2. Doppelklicken Sie in der Klasse "Bank" auf den neuen Eintrag Property1 und ändern Sie
ihn in "accounts". Stellen Sie sicher, dabei die Account-Typdefinition (angezeigt in
blaugrün) nicht gelöscht wird.
3. Drücken Sie die Ende-Taste, um den Textcursor an das Ende der Zeile zu platzieren
4. Geben Sie eine öffnende eckige Klammer "[" ein, wählen Sie in der Dropdown-Liste "*"
aus, um die Multiplizität zu definieren und drücken Sie zum Bestätigen die
Eingabetaste.
© 2016 Altova GmbH
Altova UModel 2017
32
UModel Tutorial
3.3.1
Erstellen von abgeleiteten Klassen
Klassendiagramme
Ziel dieses Tutorialabschnitts ist es:
Hinzufügen eines neuen Klassendiagramms namens "Account Hierarchy" zum Projekt
Einfügen bestehender Klassen und Erstellen einer Klasse "Savings account"
Erstellen von drei abgeleiteten Klassen der abstrakten Basisklasse "Account" mit Hilfe
von Generalisierungen
So erstellen Sie ein neues Klassendiagramm:
1. Rechtsklicken Sie auf dem Register "Modell-Struktur" auf das Paket "bankview" (unter
Design-phase | BankView | com | altova) und wählen Sie Neues Diagramm |
Klassendiagramm.
2. Doppelklicken Sie auf den neuen Eintrag Klassendiagramm1, benennen Sie ihn in
"Account Hierarchy" um und drücken Sie die Eingabetaste.
Im Arbeitsbereich wird nun das Register "Account Hierarchy" angezeigt.
Einfügen von bestehenden Klassen in ein Diagramm:
1. Klicken Sie im Paket bankview auf die Klasse Account (unter com | altova | bankview)
und
2. Ziehen Sie sie auf das Register "Account Hierarchy".
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Klassendiagramme
33
3. Klicken Sie auf die Klasse CheckingAccount (im selben Paket) und ziehen Sie diese
ebenfalls auf das Register.
4. Platzieren Sie die Klasse links unterhalb der Klasse "Account".
5. Fügen Sie auf dieselbe Art die Klasse CreditCardAccount ein. Platzieren Sie sie rechts
von der Klasse CheckingAccount.
Hinzufügen einer neuen Klasse:
1. Rechtsklicken Sie auf den Diagrammhintergrund (rechts von der Klasse "CreditAccount")
und wählen Sie Neu | Klasse.
Daraufhin wird automatisch eine neue Klasse zum richtigen Paket hinzugefügt, also zu
bankview, welches das aktuelle Klassendiagramm Account Hierarchy enthält.
2. Doppelklicken Sie auf den Klassennamen und ändern Sie ihn in SavingsAccount.
© 2016 Altova GmbH
Altova UModel 2017
34
UModel Tutorial
Klassendiagramme
3. Drücken Sie F7 und fügen Sie eine neue "Property" (Eigenschaft) hinzu.
4. Geben Sie "interestRate" gefolgt von einem Doppelpunkt ein und drücken Sie "f", um
den Datentyp "float" aus der Dropdown-Liste auszuwählen. Drücken Sie zweimal die
Eingabetaste, um den Eintrag auszuwählen und die Auswahl zu bestätigen.
5. Drücken Sie F8 und fügen Sie die Operation/den Konstruktor SavingsAccount() hinzu.
6. Fügen Sie auf dieselbe Weise mit F8 die Operation getMinimumBalance:float hinzu.
7. Klicken Sie auf dem Register "Eigenschaften" in das Textfeld "Codedateiname" und
geben Sie SavingsAccount.java ein, um die Java-Codeklasse zu definieren.
Wiederverwenden/Kopieren bestehender Eigenschaften/Operationen:
Eigenschaften und Operationen können direkt mit Hilfe von Drag & Drop oder den StandardTastenkombinationen von einer Klasse in die andere kopiert oder verschoben werden. Dies
funktioniert in folgenden Fällen:
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Klassendiagramme
35
innerhalb einer Klasse auf dem Diagramm-Register
zwischen verschiedenen Klassen auf dem Diagramm-Register
in der Modell-Struktur-Ansicht
zwischen verschiedenen UML-Diagrammen durch Ziehen der kopierten Daten auf ein
anderes Diagrammregister.
Nähere Informationen dazu finden Sie unter Ausschneiden, Kopieren und Einfügen in
UModel Diagrammen.
1. Erweitern Sie die Klasse Account in der Modell-Struktur.
2. Rechtsklicken Sie auf die Operation collectAccountInfo und wählen Sie Kopieren.
3. Rechtsklicken Sie in der Modell-Struktur auf die Klasse SavingsAccount und wählen
Sie Einfügen.
Die Operation wird in die Klasse "SavingsAccount" kopiert, wobei diese Klasse
automatisch erweitert wird, um die neue Operation anzuzeigen.
Die neue Operation ist nun auch im Klassendiagramm in der Klasse "SavingsAccount" zu
sehen.
Bitte beachten Sie:
Sie können diese Ergebnisse in der Modell-Struktur sowohl mit Kopieren/Einfügen (Strg C
bzw. V) als auch mit Drag & Drop erzielen. Eventuell müssen Sie die Sortieroptionen
deaktivieren, um die Operation zwischen bestimmten Elementen platzieren zu können.
© 2016 Altova GmbH
Altova UModel 2017
36
UModel Tutorial
Klassendiagramme
Erstellen von abgeleiteten Klassen - Generalisierung/Spezialisierung:
Derzeit enthält das Klassendiagramm die abstrakte Klasse "Account" sowie drei spezifische
"Account"-Klassen. Wir wollen nun eine Generalisierungs-/Spezialisierungsbeziehung zwischen
"Account" und den spezifischen Klassen definieren oder erstellen, d.h. wir wollen drei abgeleitete
konkrete Klassen erstellen.
1. Klicken Sie in der Symbolleiste auf das Symbol "Generalisierung"
und halten Sie
die Strg-Taste gedrückt.
2. Ziehen Sie den Cursor von CreditCardAccount (der Klasse in der Mitte) in die Klasse
"Account".
3. Ziehen Sie die Pfeilspitze von der Klasse CheckingAccount auf die zuvor erstellte
Generalisierung.
4. Ziehen Sie die Pfeilspitz von der Klasse SavingsAccount auf die zuvor erstellte
Generalisierung: lassen Sie jetzt die Strg-Taste los.
5. Zwischen den drei Unterklassen und der Überklasse "Account" werden
Generalisierungspfeile erstellt.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
3.4
Objektdiagramme
37
Objektdiagramme
Altova Website:
UML-Objektdiagramme
Ziel dieses Tutorialabschnittes ist es:
zu zeigen, wie Klassen- und Objektdiagramme in einem Diagramm kombiniert werden
können, um einen Schnappschuss des Objekts zu einem bestimmten Zeitpunkt zu
erhalten.
Objekte/Instanzen zu erstellen und die Beziehungen zwischen diesen zu definieren
Assoziationen/Objektbeziehungen zu formatieren
reale Daten in Objekte/Instanzen einzugeben
So öffnen Sie das Objektdiagramm:
1. Doppelklicken Sie auf das Sample Accounts-Diagrammsymbol unter dem bankviewPaket (oder unter Objektdiagramme auf dem Register "Diagramm-Struktur").
Die Klasse "Bank" sowie zwei damit in Beziehung stehende Objekte/Instanzen werden
im Objektdiagramm angezeigt.
AltovaBank:Bank ist das Objekt/die Instanz der Klasse "Bank", während John's
checking: CheckingAccount eine Instanz der Klasse CheckingAccount ist.
Einfügen einer Klasse in ein Objektdiagramm:
Klicken Sie in der Modell-Struktur auf das Account-Klassensymbol
und
ziehen Sie es auf das Register "Sample Accounts".
Die zuvor im BankView Main-Diagramm definierte Kompositions-Assoziation wird
automatisch erstellt.
© 2016 Altova GmbH
Altova UModel 2017
38
UModel Tutorial
Objektdiagramme
So fügen Sie durch Auswählen des Typs ein neues Objekt/eine neue Instanz hinzu:
1. Klicken Sie in der Symbolleiste auf das Instanzspezifikation-Symbol
und klicken
Sie anschließend in der Diagramm-Struktur unterhalb des Objekts "John's Checking".
2. Ändern Sie den Namen der Instanz in John's Credit und drücken Sie die Eingabetaste.
Wenn die Instanz aktiv ist, werden alle ihre Eigenschaften auf dem Register
"Eigenschaften" angezeigt.
3. Klicken Sie auf das Dropdown-Listenfeld classifier und wählen Sie aus der Liste den
Eintrag CreditCardAccount aus.
Beachten Sie: Bei Rechtsklick auf eine Instanzspezifikation und Auswahl von
Knoteninhalt ein-/ausblenden können Sie den Inhalt von Objekten ein- oder
ausblenden.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Objektdiagramme
39
So fügen Sie ein neues Objekt in der Modell-Struktur-Ansicht hinzu (um es dann in ein
Diagramm einzufügen):
1. Rechtsklicken Sie in der Modell-Struktur-Ansicht auf das bankview-Paket und wählen
Sie Neues Element | Instanzspezifikation.
2. Ändern Sie den Standard-Objektnamen in John's Saving und drücken Sie zum
Bestätigen die Eingabetaste.
Das neue Objekt wird zum Paket hinzugefügt und entsprechend gereiht.
Während das Objekt weiterhin auf dem Register "Modell-Struktur" ausgewählt ist,
3. Klicken Sie auf dem Register Eigenschaften auf das Dropdownlistenfeld classifier und
wählen Sie SavingsAccount.
4. Ziehen Sie das Objekt/die Instanz "John's Saving" vom Register "Modell-Struktur" auf das
Register "Sample Accounts" und platzieren Sie es unterhalb von "John's credit".
© 2016 Altova GmbH
Altova UModel 2017
40
UModel Tutorial
Objektdiagramme
Erstellen von "Objektbeziehungen" zwischen Objekten:
Objektbeziehungen sind die Instanzen von Klassenassoziationen und beschreiben die
Assoziationen zwischen Objekten/Instanzen zu einem bestimmten Zeitpunkt.
1. Klicken Sie auf die bestehende Objektbeziehung (Assoziation) zwischen AltovaBank
und John's Checking.
2. Klicken Sie auf dem Register "Eigenschaften" auf das Dropdown-Listenfeld classifier und
wählen Sie den Eintrag Account - Bank.
Die Objektbeziehung ändert sich nun gemäß den Klassendefinitionen in eine
Kompositions-Assoziation.
3.
Klicken Sie in der Symbolleiste auf das Instanzspezifikation-Symbol
positionieren Sie den Cursor über die Klasse John's Credit.
Der Cursor wird nun als +-Symbol angezeigt.
und
4. Ziehen Sie den Cursor vom Objekt John's Credit zu AltovaBank, um die beiden Objekte
zu verknüpfen.
4. Ändern Sie den Typ der Objektbeziehung über das Dropdown-Listenfeld classifier auf
dem Register "Eigenschaften" in Account - Bank.
5. Erstellen Sie wie oben beschrieben eine Objektbeziehung zwischen John's Saving und
AltovaBank.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Objektdiagramme
41
Bitte beachten Sie:
Änderungen, die in einem Klassendiagramm am Assoziationstyp vorgenommen werden,
werden nun automatisch im Objektdiagramm aktualisiert.
Formatieren von Assoziations-/Objektbeziehungslinien in einem Diagramm:
1. Klicken Sie auf die unterste Objektbeziehung im Diagramm, falls sie nicht aktiv ist, und
ziehen Sie den Eckkonnektor nach links.
Auf diese Art können Sie die Linie sowohl horizontal als auch vertikal verschieben.
Positionieren Sie auf diese Art Objektbeziehungen auf dem Diagrammregister neu.
Eingabe von Beispieldaten in Objekte:
Der Instanzwert eines Attributs/einer Eigenschaft in einem Objekt wird Slot genannt.
1.
2.
3.
Klicken Sie in die entsprechenden Slots der einzelnen Objekte und geben Sie
Beispieldaten ein.
Doppelklicken Sie z.B.. im Objekt John's Checking in den balance-Slot und geben Sie
als Kontostand 11,975.00 ein (englische Dezimalschreibweise).
Füllen Sie den Rest der Daten aus, um den Status der aktuellen Instanz zu sehen.
© 2016 Altova GmbH
Altova UModel 2017
42
UModel Tutorial
Altova UModel 2017
Objektdiagramme
© 2016 Altova GmbH
UModel Tutorial
3.5
Komponentendiagramme
43
Komponentendiagramme
Ziel dieses Tutorialabschnittes ist:
zu zeigen, wie Klassen in ein Komponentendiagramm eingefügt werden
Realisierungsbeziehungen zwischen den Klassen und der Komponente "BankView" zu
erstellen
zu zeigen, wie Zeileneigenschaften geändert werden
Komponenten in ein Komponentendiagramm einzufügen und Verwendungsbeziehungen
zu einer Schnittstelle zu erstellen
So öffnen Sie ein Komponentendiagramm:
1. Klicken Sie auf das Register "Diagramm-Struktur", erweitern Sie die Komponente
Komponentendiagramme und doppelklicken Sie auf das "BankView realization"Diagrammsymbol.
Daraufhin wird das Komponentendiagramm "BankView realization" angezeigt.
2. Wechseln Sie zurück zum Register "Modell-Struktur", indem Sie darauf klicken.
So fügen Sie (bestehende) Klassen in ein Komponentendiagramm ein:
1. Suchen Sie die Klasse SavingsAccount
unter dem bankviewPaket.
2. Ziehen Sie sie in das Komponentendiagramm.
Die Klasse wird mit allen ihren Bereichen angezeigt.
© 2016 Altova GmbH
Altova UModel 2017
44
UModel Tutorial
Komponentendiagramme
3. Klicken Sie auf beide Einklappsymbole, bis nur mehr der Bereich mit dem Klassennamen
angezeigt wird.
4. Fügen Sie auf dieselbe Weise die abstrakte Klasse Account ein.
Bitte beachten Sie:
Das Paket, das die eingefügte Klasse enthält, wird im Namensbereich in der Form "from
bankview" angezeigt.
So erstellen Sie Realisierungsbeziehungen zwischen einer Klasse und einer
Komponente:
1. Klicken Sie in der Symbolleiste auf das Realisierungssymbol
.
2. Ziehen Sie den Pfeil von SavingsAccount auf die Komponente BankView.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Komponentendiagramme
45
3. Klicken Sie auf den Ziehpunkt Komponentenrealisierung der Klasse "Account" (am
unteren Rand der Klasse) und ziehen Sie ihn auf die Komponente "BankView".
Sie können auf beide Arten Realisierungsbeziehungen erstellen. Es gibt noch eine
weitere Methode, mit der Sie nur in der Modell-Struktur Realisierungsbeziehungen
erstellen können. Nähere Informationen dazu finden Sie unter "Round-Trip Engineering
(Code - Modell - Code)".
Ändern von Linienmerkmalen (bei Realisierungen):
Wenn Sie in einem UModel-Diagramm auf eine Abhängigkeit oder eine andere Linienart klicken,
werden die Symbole zum Zeichnen von Linien in der Layout-Symbolleiste aktiviert.
1.
Klicken Sie auf die Realisierungslinie zwischen SavingsAccount und BankView.
2.
Klicken Sie in der Layout-Symbolleiste auf das Linienart-Symbol Gerade Linie
.
Die Linieneigenschaften werden sofort geändert. Entlang der Linien werden kleine
© 2016 Altova GmbH
Altova UModel 2017
46
UModel Tutorial
Komponentendiagramme
Symbole, so genannte Wegpunkte angezeigt. Sie können darauf klicken und sie
verschieben, um Linienmerkmale zu ändern. Ändern Sie die Linieneigenschaften Ihren
Wünschen entsprechend.
Einfügen von Komponenten und Erstellen von Verwendungsbeziehungen:
1. Doppelklicken Sie in der Modell-Struktur auf das Overview-Diagrammsymbol direkt
unterhalb des Design-phase-Pakets.
Daraufhin wird das Komponentendiagramm "Overview" geöffnet. Darin werden die aktuell
definierten Systembeziehungen zwischen Komponenten und Schnittstellen angezeigt.
2. Klicken Sie in der Modell-Struktur auf die BankView GUI-Komponente unterhalb des
Component View | BankView-Pakets und ziehen Sie sie auf das Diagrammregister
Overview.
Das Paket, das die eingefügte Komponente enthält, wird im Namensbereich "from
BankView" angezeigt.
3. Fügen Sie auf dieselbe Art die BankView-Komponente unter demselben Paket ein.
Die Komponente "BankView" ist die Komponente, die beim (in diesem Tutorial
beschriebenen) "Forward Engineering" erzeugt wird.
So erstellen Sie eine Verwendungsbeziehung zwischen Schnittstellen und
Komponenten:
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Komponentendiagramme
47
1. Klicken Sie in der Symbolleiste auf das Symbol "Verwendung"
.
2. Ziehen Sie es von der Komponente BankViewGUI zur Komponente BankView.
3. Klicken Sie nochmals auf das Symbol "Verwendung" und ziehen Sie es von der
Komponente BankView zur Schnittstelle IBankAPI.
Durch die Verwendungsbeziehung (<<use>>) wird ein client-Element mit einem
supplier-Element verbunden. In diesem Fall verwendet die Schnittstelle
"IBankInterfaceAPI" die Dienste der Komponenten "BankView" und "BankViewGUI".
© 2016 Altova GmbH
Altova UModel 2017
48
UModel Tutorial
3.6
Deployment-Diagramme
Deployment-Diagramme
Ziel dieses Tutorialabschnittes ist es:
die Artefakt-Manifestation von Komponenten zu zeigen
einen neuen Knoten und eine Abhängigkeit zu einem Deployment-Diagramm
(Verteilungsdiagramm) hinzuzufügen
Artefakte zu einem Knoten hinzuzufügen und Beziehungen zwischen diesen zu erstellen
So öffnen Sie das Deployment-Diagramm (Artefakte):
1. Klicken Sie auf das Register "Modell-Struktur", erweitern Sie das Deployment ViewDiagrammpaket und doppelklicken Sie auf das Artefakt-Symbol.
In diesem Diagramm sehen Sie die Manifestation der Komponenten Bank API client und
BankView zu ihren jeweiligen kompilierten .jar-Java-Dateien.
So öffnen Sie das Deployment-Diagramm:
1. Doppelklicken Sie auf das Deployment-Symbol unter dem Deployment View-Paket.
Daraufhin wird das Deployment-Diagramm geöffnet und die physische Architektur des
Systems wird angezeigt, welches derzeit nur den Knoten "Home PC" enthält.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Deployment-Diagramme
49
So fügen Sie einen Knoten zu einem Deployment-Diagramm hinzu:
1. Klicken Sie in der Symbolleiste auf das Knoten-Symbol
und klicken Sie rechts vom
Knoten "Home PC", um den Knoten einzufügen.
2. Benennen Sie den Knoten in "Bank" um und ziehen Sie an einer der Kanten, um ihn zu
vergrößern.
So erstellen Sie eine Abhängigkeit zwischen zwei Knoten:
1. Klicken Sie auf das Abhängigkeitssymbol
und ziehen Sie es vom Home PC-Knoten
zum Bank-Knoten.
Dadurch wird eine Abhängigkeit zwischen den beiden Knoten erstellt.
2. Klicken Sie auf dem Register "Eigenschaften" in das Feld name, ändern Sie es in TCP/
IP und drücken Sie zum Bestätigen die Eingabetaste.
Der Name der Abhängigkeit wird oberhalb der Abhängigkeitslinie angezeigt.
© 2016 Altova GmbH
Altova UModel 2017
50
UModel Tutorial
Deployment-Diagramme
Bitte beachten Sie:
Nachdem Sie auf den Abhängigkeitspfeil (oder eines der benannten Elemente) geklickt
haben, können Sie Text auch direkt über die Tastatur eingeben, ohne zuerst auf das Feld
"Name" klicken zu müssen.
Hinzufügen von Artefakten zu einem Knoten und erstellen von Abhängigkeiten zwischen
diesen:
Erweitern Sie das Deployment View-Paket in der Modell-Struktur, um den Inhalt zu sehen:
1. Klicken Sie auf jedes der einzelnen BankAddresses.ini, BankAPI.jar und
BankView.jar-Artefakte und platzieren Sie sie auf den Diagrammhintergrund (Für jedes
Artefakt werden Deployment-Abhängigkeiten angezeigt).
2. Klicken Sie auf das BankView.jar-Artefakt und ziehen Sie es auf den Home PCKnoten.
Wenn der Vorgang ausgeführt werden kann, erscheint der Knoten markiert.
3. Ziehen Sie auch die anderen Artefakte auf den Home PC Knoten.
Die Artefakte sind nun Teil des Knoten und werden bei einer Neupositionierung des
Knoten mitverschoben.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Deployment-Diagramme
51
4. Klicken Sie in der Symbolleiste auf das Abhängigkeitssymbol
und halten Sie die
Strg-Taste gedrückt.
5. Ziehen Sie es vom BankView.jar-Artefakt zum BankAddresses.ini-Artefakt und halten
Sie dabei weiterhin die Strg-Taste gedrückt.
6. Ziehen Sie die Maus vom BankView.jar-Artefakt zum BankAPI.jar-Artefakt.
Bitte beachten Sie:
Wenn Sie ein Artefakt aus einem Knoten auf den Diagrammhintergrund ziehen, wird
automatisch eine Deployment-Abhängigkeit erstellt.
So löschen Sie ein Artefakt aus einem Knoten und dem Projekt:
Klicken Sie auf das zu löschenden Artefakt und drücken Sie die Entf-Taste.
Das Artefakt und alle Abhängigkeiten werden aus dem Knoten und dem Projekt
gelöscht.
So entfernen Sie ein Artefakt aus einem Knoten und seinem Diagramm:
1. Ziehen Sie das Artefakt mit Hilfe von Drag & Drop auf den Diagrammhintergrund.
2. Halten Sie die Strg-Taste gedrückt und drücken Sie Entf.
Das Artefakt und alle Abhängigkeiten werden aus dem aktuellen Diagramm, nicht aber
aus dem Projekt gelöscht.
So erstellen Sie Operationen / Eigenschaften / oder Schachtelungen für Artefakte:
1. Klicken Sie mit der rechten Maustaste auf das Artefakt in der Modell-Struktur.
2. Wählen Sie im Kontextmenü die entsprechende Aktion aus, z.B. Neues Element |
Operation, | Eigenschaft oder | Artefakt.
Das neue Element wird in der Modell-Struktur unterhalb des ausgewählten Artefakts
angezeigt.
© 2016 Altova GmbH
Altova UModel 2017
52
UModel Tutorial
3.7
Round-Trip Engineering (Modell - Code - Modell)
Altova Website:
Round-Trip Engineering (Modell - Code - Modell)
UML-Codegenerierung und UML Round-Trip Engineering
Ziel dieses Tutorialabschnittes ist:
die Durchführung einer Projektsyntaxüberprüfung
die Generierung von Projektcode
das Hinzufügen einer neuen Methode zu externem Code, d.h. zur Klasse
"SavingsAccount"
Synchronisieren des UModel Codes mit dem neuen Code
Pakete und Code / Modellsynchronisation:
Code kann auf verschiedenen Ebenen zusammengeführt/synchronisiert werden:
Projekt, Root-Paket-Ebene (Menüeintrag)
Paket-Ebene (Auswahl/Generierung mehrerer Pakete möglich)
Klassen-Ebene (Auswahl/Generierung mehrerer Klassen möglich)
Komponenten-Ebene
Im BankView-Realisierungsdiagramm, wird dargestellt, wie die Komponente "BankView" durch die
sechs Klassen, aus denen sie besteht, realisiert wird. Dies ist die Komponente, die erzeugt wird,
nachdem wir den Abschnitt "Forward Engineering" in diesem Tutorial fertig gestellt haben.
Voraussetzungen für das Erzeugen von Code:
Die Komponente muss von einer oder mehreren Klassen realisiert werden.
Der Komponente muss ein physischer Pfad, d.h. ein Verzeichnis zugewiesen sein. Der
generierte Code wird anschließend in diesem Verzeichnis abgelegt.
Komponenten müssen einzeln so definiert werden, dass Sie in den Code EngineeringVorgang inkludiert werden.
Das Java-, C#- oder VB-Namespace Root-Paket muss definiert werden.
Bitte beachten Sie:
Die Java Namespace Root wurde in der Modell-Struktur im Design-phase | BankView |
com-Paket definiert.
Java-, C#- oder VB-Code kann in einem Projekt kombiniert werden und wird beim RoundTrip Engineering automatisch verarbeitet. Die Datei Bank_MultiLanguage.ump im Ordner "
...\UModelExamples" ist ein Beispiel für ein Projekt für Java- und C#-Code.
So definieren Sie ein Zielverzeichnis für die Codegenerierung:
1. Doppelklicken Sie auf das
Overview Symbol unterhalb des Design-phase-Pakets,
um in die Komponentenübersicht zu wechseln.
2. Klicken Sie im Diagramm auf die BankView-Komponente und beachten Sie die
Einstellungen auf dem Register "Eigenschaften".
3. Klicken Sie auf die Durchsuchen-Schaltfläche
rechts vom Feld "Verzeichnis".
4. Wählen Sie das Zielverzeichnis im Dialogfeld aus, bzw. geben Sie es ein (das
mitgelieferte Beispiel ist definiert als InstallationDir\UModelExamples\Tutorial
\umlcode\bankview) oder klicken Sie auf die Schaltfläche zum Anlegen eines neuen
Ordners, um einen neuen Ordner anzulegen. Der Pfad wird nun im Feld "directory"
angezeigt.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Round-Trip Engineering (Modell - Code - Modell)
53
Bitte beachten Sie:
Bei der Generierung von Java-Code hält sich UModel normalerweise an die Konvention,
Code in Verzeichnissen nach ihrem Namespace zu generieren, z.B. ...\code
\namespace1\C1.java.
Wenn Sie diese Verzeichnisbenennungskonvention auch für C# und VB .NET verwenden
möchten, wählen Sie die Menüoption Extras | Optionen | Code Engineering und
wählen Sie in der Gruppe Namespace für Codedateipfad verwenden die
entsprechende Option aus.
So schließen Sie Komponenten in den Codegenerierungsvorgang ein oder nehmen
diese davon aus:
1. Klicken Sie auf die Komponente BankView GUI.
2. Deaktivieren Sie das Kontrollkästchen "für Code Engineering verwenden" (fall es nicht
bereits deaktiviert ist).
© 2016 Altova GmbH
Altova UModel 2017
54
UModel Tutorial
Round-Trip Engineering (Modell - Code - Modell)
Überprüfen der Projektsyntax vor der Codegenerierung:
1. Wählen Sie die Menüoption Projekt | Projektsyntax überprüfen.
2. Daraufhin wird eine Syntaxüberprüfung durchgeführt und im Meldungsfenster werden
Meldungen angezeigt, "Bank API-client: Code-Projektdatei oder -verzeichnis wurde
nicht festgelegt" - "IBankAPI: Codedateiname wurde nicht festgelegt".
3. Klicken Sie auf die erste Meldung im Fenster "Meldungen".
4. Das Bank API client-Paket wird in der Modell-Struktur markiert und dessen
Eigenschaften werden auf dem Register "Eigenschaften" angezeigt.
5. Deaktivieren Sie das Kontrollkästchen "use for code engineering" für die Bank API
client-Komponente.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Round-Trip Engineering (Modell - Code - Modell)
55
6. Überprüfen Sie die Projektsyntax nochmals durch Auswahl von Projekt | Projektsyntax
überprüfen.
Diesmal werden keine Fehler gemeldet. Wir können nun Programmcode für dieses
Projekt generieren. Nähere Informationen dazu finden Sie unter Überprüfen der
Projektsyntax.
So generieren Sie Projektcode:
1. Klicken Sie auf das BankView-Paket um es auszuwählen.
2. Wählen Sie die Menüoption Projekt | Merge Programmcode aus UModel-Projekt.
3. Wählen Sie die gewünschten Synchronisierungsoptionen im Dialogfeld aus und klicken
Sie auf OK, um fortzufahren (für das Tutorial sind keine Änderungen erforderlich). Nähere
Informationen finden Sie unter Merge Programmcode von UMode-Projekt
© 2016 Altova GmbH
Altova UModel 2017
56
UModel Tutorial
Round-Trip Engineering (Modell - Code - Modell)
Das Ergebnis des Codegenerierungsvorgangs wird im Meldungsfenster angezeigt.
4. Navigieren Sie zum Zielverzeichnis.
Für das Projekt wurden sechs .Java Dateien erstellt.
Synchronisieren des UModel Modells, nachdem der Java-Code extern aktualisiert wurde:
1. Öffnen Sie die Datei SavingsAccount.java im Texteditor Ihrer Wahl, z.B. in XMLSpy.
2. Fügen Sie die neue Methode zum generierten Code "public float getInterestRate() {}"
hinzu und speichern Sie die Datei.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Round-Trip Engineering (Modell - Code - Modell)
57
3. Wechseln Sie zu UModel und rechtsklicken Sie unter dem BankView-Paket auf die
Klasse SavingsAccount
.
4. Wählen Sie die Option Code Engineering | Merge UModel Class von
Programmcode.
Daraufhin wird das Dialogfeld "Synchronisierungseinstellungen" geöffnet, wobei das
Register "Modell von Code" aktiv ist. Für das Tutorial müssen keine Änderungen
vorgenommen werden. Nähere Informationen siehe Merge UModel Projekt aus Code
5. Klicken Sie auf OK, um das Modell aus dem Code zu überführen.
© 2016 Altova GmbH
Altova UModel 2017
58
UModel Tutorial
Round-Trip Engineering (Modell - Code - Modell)
6. Klicken Sie auf das Register Account Hierarchy, um das Ergebnis des Merge-Vorgangs
zu sehen.
Die neu zum Code hinzugefügte Methode (getInterestRate...) generiert eine neue
Operation in der Klasse "SavingsAccount" von UModel.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
3.8
Round-Trip Engineering (Code - Modell - Code)
59
Round-Trip Engineering (Code - Modell - Code)
Altova Website:
Reverse Engineering - Java, C#, VB .NET Code
Ziel dieses Tutorialabschnitts ist es:
ein Verzeichnis zu importieren, das Java-Code enthält, der mit XMLSpy generiert wurde
in UModel eine neue Klasse zum Projekt hinzuzufügen
den Programmcode aus einem UModel Paket zu überführen
Die in diesem Beispiel verwendeten Dateien sind in der Datei OrgChart.zip im Ordner ...
\UmodelExamples Ihres Installationsverzeichnisses verfügbar. Entpacken Sie bitte die Datei
"OrgChart.zip" in den Ordner ...UmodelExamples, bevor Sie mit diesem Abschnitt beginnen.
Dadurch wird das Verzeichnis "Orgchart" erstellt, das wir anschließend zum Importieren von
Code verwenden werden.
Importieren von bestehendem Code aus einem Verzeichnis
1. Klicken Sie im Menü Datei auf Neu.
2. Klicken Sie im Menü Projekt auf Quellverzeichnis importieren.
3. Wählen Sie die C#-, Java- oder VB-Version für den Quellcode aus.
4. Klicken Sie auf die Durchsuchen-Schaltfläche
und wählen Sie das Verzeichnis
OrgChart aus dem Ordner ...\UModelExamples.
5. Damit UModel Klassen- und Paketdiagramme anhand des Quellcodes generiert,
© 2016 Altova GmbH
Altova UModel 2017
60
UModel Tutorial
Round-Trip Engineering (Code - Modell - Code)
aktivieren Sie das Kontrollkästchen "Diagrammgenerierung aktivieren" und klicken
Sie auf "Weiter".
6. Wählen Sie die Optionen Einzelnes Diagramm generieren und/oder Diagramm pro
Paket generieren, wenn Sie danach gefragt werden. Sie können die Diagrammstile
später gegebenenfalls ändern.
7. Klicken Sie zum Fortfahren auf "Weiter". In diesem Dialogfeld können Sie die
Einstellungen für die Generierung von Paketabhängigkeiten definieren.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Round-Trip Engineering (Code - Modell - Code)
61
8. Klicken Sie auf "Fertig stellen". Wenn Sie dazu aufgefordert werden, speichern Sie das
neue Modell in einem Verzeichnis auf Ihrem Rechner. Die Daten werden während der
Eingabe geparst und ein neues Paket namens "OrgChart" wird erstellt.
9. Erweitern Sie das neue Paket und dessen Unterpakete bis Sie zum Paket OrgChart
(com | OrgChart) gelangen. Doppelklicken Sie auf das Diagrammsymbol "Inhalt von
OrgChart":
© 2016 Altova GmbH
Altova UModel 2017
62
UModel Tutorial
Round-Trip Engineering (Code - Modell - Code)
Die ausgeblendeten Klassen, aus denen OrgChart besteht, werden auf dem Hauptregister
angezeigt.
Hinzufügen einer neuen Klasse zum OrgChart-Diagramm:
1. Klicken Sie mit der rechten Maustaste in den Hauptbereich und wählen Sie im
Kontextmenü den Befehl Neu | Klasse.
2. Klicken Sie auf die Überschrift der neuen Klasse und geben Sie als Name der neuen
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Round-Trip Engineering (Code - Modell - Code)
63
Klasse CompanyType ein.
3. Fügen Sie mittels der Taste F8 in diesem Beispiel die folgenden neue Operationen zur
Klasse hinzu: CompanyType(), getCompanyType():String,
setCompanyType():String.
Verfügbarmachen der neuen Klasse für die Codegenerierung:
1. Während die Klasse "CompanyType" aktiv ist, klicken Sie in das Feld "Codedateiname"
und geben Sie den Java-Dateinamen der neuen Klasse CompanyType.java ein.
© 2016 Altova GmbH
Altova UModel 2017
64
UModel Tutorial
Round-Trip Engineering (Code - Modell - Code)
2. Klicken Sie in der Modellstruktur auf die neue Klasse "CompanyType" und ziehen Sie sie
nach oben auf die OrgChart-Komponente unterhalb des Component View-Pakets. Es
erscheint eine Info, wenn der Mauszeiger sich über einer Komponente befindet.
Mit dieser Methode wird eine Realisierung zwischen einer Klasse und einer Komponente
erstellt, sodass Sie keine Komponenten- oder Deployment-Diagramme verwenden
müssen. Erweitern Sie das Element Beziehungen unterhalb der Komponente
"Orgchart" um die neu erstellte Realisierung zu sehen.
Altova UModel 2017
© 2016 Altova GmbH
UModel Tutorial
Round-Trip Engineering (Code - Modell - Code)
65
Merge von Programmcode aus einem Paket
1. Rechtsklicken Sie auf das Paket OrgChart, wählen Sie Code Engineering | Merge
Programmcode von UModel-Paket und bestätigen Sie den Vorgang mit der
Eingabetaste.
Im Meldungsfenster wird die Syntaxüberprüfung angezeigt, die durchgeführt wird, und der
Status des Synchronisierungsvorgangs.
Nach Abschluss des Vorgangs ist die neue Klasse CompanyType.java zum Ordner ...
\OrgChart\com\OrgChart\ hinzugefügt.
Alle Methoden-Body-Bereiche und Änderungen am Code werden entweder
auskommentiert oder gelöscht, je nachdem, welche Option im Dialogfeld
"Synchronisierungseinstellungen" in der Gruppe "Code beim Löschen" ausgewählt
wurde.
Sie wissen nun, wie man ein Modellierungsprojekt mit Hilfe von Forward Engineering erstellt und
haben ein komplettes Round-Trip Engineering durchgeführt. Im restlichen Teil dieser
Dokumentation erfahren Sie, wie man die besten Ergebnisse beim Erstellen von Modellen mit
UModel erzielt.
© 2016 Altova GmbH
Altova UModel 2017
Kapitel 4
UModel Benutzeroberfläche
68
UModel Benutzeroberfläche
4
UModel Benutzeroberfläche
UModel besteht aus einer Reihe von Fensterbereichen auf der linken Seite und einem größeren
Diagrammregister auf der rechten Seite. Über die Fensterbereiche auf der linken Seite können Sie
Ihr UModel-Projekt nach verschiedenen Aspekten anzeigen bzw. darin navigieren und Daten direkt
editieren.
Die Fensterbereiche nennen sich: Modell-Struktur, Eigenschaften und Übersicht. Der Arbeits-/
Ansichtsbereich rechts davon ist das UModel-Diagrammregister, auf dem derzeit das
Klassendiagramm des BankView Main-Pakets angezeigt wird.
Bitte beachten Sie:
Alle Fensterbereiche sowie alle Diagrammregister können über die "Suchen"-DropdownListe in der Hauptsymbolleiste (im Screenshot unten enthält sie den Text "account")
oder durch Drücken von Strg + F durchsucht werden.
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
4.1
Modell-Struktur
69
Modell-Struktur
Register "Modell-Struktur"
Über das Register "Modell-Struktur" können Sie Modellelemente direkt in der Modell-Struktur
manipulieren und bestimmte Elemente auf dem Register "Design" anzeigen, bzw. darin
navigieren. Wenn Sie mit der rechten Maustaste auf ein Element klicken, wird das Kontextmenü
geöffnet, über das bestimmte Befehle zur Auswahl stehen. Der Inhalt des Kontextmenüs hängt
vom ausgewählten Element ab.
Modellelemente im Modell-Strukturbereich können direkt manipuliert werden. Sie können
Folgendes tun:
hinzufügen /einfügen
kopieren oder verschieben
löschen
umbenennen
nach verschiedenen Kriterien sortieren
einschränken
Auf dem Register "Modell-Struktur" ist jeder Ordner ein UML-Paket!
Hinzufügen eines neuen Pakets (oder eines beliebigen anderen Modellierungselements):
1. Rechtsklicken Sie auf den Ordner, unter dem das neue Paket/Element angezeigt werden
soll.
2. Wählen Sie Neu | Paket (oder das jeweilige Modellelement).
Kopieren oder Verschieben von Modellelementen:
1. Verwenden Sie die Windows-Standardbefehle "Ausschneiden", "Kopieren" oder
"Einfügen" oder
2. Ziehen Sie Modellelemente in andere Pakete. Durch Ziehen eines Elements verschieben
Sie es. Wenn Sie die Strg-Taste gedrückt halten, während Sie das Element ziehen, wird
eine Kopie erstellt.
In manchen Fällen wird beim Ziehen von Elementen eine Meldung angezeigt, dass die
Option "keine Sortierung" aktiviert werden muss, damit Sie die Aktion durchführen
können. Nähere Informationen dazu finden Sie unter Ausschneiden, Kopieren und
© 2016 Altova GmbH
Altova UModel 2017
70
UModel Benutzeroberfläche
Modell-Struktur
Einfügen in UModel Diagrammen.
Sortieren von Elementen in der Modell-Struktur (unter Aktivierung der Option "keine
Sortierung"):
1. Rechtsklicken Sie auf den leeren Hintergrund des Registers "Modell-Struktur".
2. Wählen Sie Sortieren | keine Sortierung.
Elemente können nun überall in der Modell-Struktur positioniert werden.
Bitte beachten Sie:
Über das Popup-Menü "Sortieren" können Sie die Sortiereigenschaften von
Eigenschaften und Operationen einzeln definieren.
Umbenennen eines Elements:
1. Doppelklicken Sie auf den Elementnamen und editieren Sie ihn.
Die Pakete "Root" und "Component View" sind die einzigen zwei Elemente, die nicht
umbenannt werden können.
Löschen eines Elements:
1. Klicken Sie auf das zu löschende Element (mit Strg + Klick können mehrere Elemente
markiert werden).
2. Drücken Sie die Entf-Taste.
Das Modellierungselement wird aus der Modell-Struktur gelöscht. D.h. es wird
gleichzeitig auch aus dem Diagrammregister gelöscht, falls es dort zu sehen ist, sowie
aus dem Projekt. Mit Hilfe von Strg + Entf können Elemente aus einem Diagramm
gelöscht werden, ohne auch aus dem Projekt gelöscht zu werden. Nähere Informationen
dazu finden Sie unter Löschen von Elementen.
So öffnen Sie ein Diagramm auf dem Diagrammregister:
1. Doppelklicken Sie auf das Diagrammsymbol
des Diagramms, das Sie auf dem
Diagrammregister anzeigen wollen.
Darstellung der Symbole der Modellierungselemente in der Modell-Struktur
Pakettypen:
UML-Pakete
Java Namespace Root-Paket
C# Namespace Root-Paket
Visual Basic Root-Paket
XML Schema Root-Paket
Java-, C#- oder VB-Code-Paket (bei Generierung von Code werden Paketdeklarationen erstellt)
Diagrammtypen:
Aktivitätsdiagramm
Klassendiagramm
Kommunikationsdiagramm
Komponentendiagramm
Kompositionsstrukturdiagramm
Deployment-Diagramm
Interaktionsübersichtsdiagramm
Altova UModel 2017
Profildiagramm
Sequenzdiagramm
Zustandsdiagramm
SysML-Diagramme (9
Diagrammtypen)
Zeitverlaufsdiagramm
Use Case-Diagramm
XML-Schema-Diagramm
© 2016 Altova GmbH
UModel Benutzeroberfläche
Objektdiagramm
Modell-Struktur
71
Business Process Modeling
Notation
Paketdiagramm
Elementtypen:
Ein Element, das derzeit im aktiven Diagramm zu sehen ist, wird mit einem blauen Punkt am
unteren Rand dargestellt. In diesem Fall handelt es sich um ein Klassenelement.
Klassen-Instanz/Objekt
Klassen-Instanz-Slot
Klasse
Eigenschaft
Operation
Parameter
Akteur (sichtbar im aktiven Use Case-Diagramm)
Use Case
Komponente
Knoten
Artefakt
Schnittstelle
Beziehungen (/Paket)
Einschränkungen
Öffnen / Erweitern von Paketen in der Modell-Strukturansicht:
Es gibt zwei Methoden, Pakete in der Baumstrukturansicht zu öffnen. Mit der einen werden alle
Pakete und Unterpakete geöffnet, mit der anderen wird das aktuelle Paket geöffnet.
Klicken Sie auf das zu öffnende Paket und:
Drücken Sie die *-Taste, um das aktuelle Paket und alle Unterpakete zu öffnen
Drücken Sie die +-Taste, um das aktuelle Paket zu öffnen.
Zum Reduzieren der Pakete drücken Sie die Taste -.Um alle Pakete zu reduzieren,
klicken Sie auf das Root-Paket und drücken Sie -.
Sie können dafür sowohl die Tasten der Standardtastatur als auch die des Zahlenblocks
verwenden.
So suchen Sie auf dem/den Diagrammregister(n) Modellierungselemente:
Beim Navigieren durch die Elemente in der Modell-Struktur möchten Sie eventuell sehen, wo oder
ob das Element tatsächlich in einem Modell-Diagramm vorhanden ist. Zum Suchen von
Elementen stehen zwei Methoden zur Verfügung:
1. Rechtsklicken Sie auf das Element, das Sie auf dem Register "Modell-Struktur" sehen
möchten, und wählen Sie:
Element in aktivem Diagramm anzeigen - um es auf demselben Diagrammregistertyp
zu suchen
Element in allen Diagrammen anzeigen - wenn das derzeit aktive Diagramm sich vom
ausgewählten Modellelement unterscheidet.
So generieren Sie eine Liste von Elementen, die in keinem Diagramm verwendet
werden:
© 2016 Altova GmbH
Altova UModel 2017
72
UModel Benutzeroberfläche
Modell-Struktur
1. Rechtsklicken Sie auf das gewünschte Paket.
2. Wählen Sie die Menüoption "In keinem Diagramm verwendete Elemente auflisten".
Im Meldungsfenster wird daraufhin eine Liste der nicht verwendeten Elemente angezeigt.
Die in Klammer angezeigte Liste enthält die spezifischen Elemente, die ausgewählt
wurden und in der Liste der nicht verwendeten Elemente aufscheinen sollen. Nähere
Informationen dazu finden Sie im Referenzabschnitt unter dem Register Ansicht unter
Extras | Optionen.
So suchen Sie die fehlenden Elemente in der Modell-Struktur:
Klicken Sie im Meldungsbereich auf den Elementnamen.
Bitte beachten Sie:
Die nicht verwendeten Elemente werden für das aktuelle Paket und dessen Unterpakete
angezeigt.
Pakete auf dem Register "Modell-Struktur":
Beim Start, d.h. wenn kein Projekt geladen ist, sind nur die Pakete "Root" und "Component View"
zu sehen.
Pakete können an jeder Stelle in der Modell-Struktur erstellt oder gelöscht werden
Pakete sind die Behälter für alle anderen UML-Modellierungselemente, Use CaseDiagramme usw.
Pakete/Inhalt können/kann in andere Pakete in der Modell-Struktur (und auch in gültige
Modell-Diagramme auf dem Diagrammregister) verschoben/kopiert werden
Paketen und deren Inhalt können gemäß verschiedenen Kriterien sortiert werden
Pakete können in andere Pakete platziert werden
Pakete können beim Generieren oder Synchronisieren von Code als Quell- oder
Zielelemente verwendet werden
Generieren/Zusammenführen von Code:
UModel gestattet Ihnen, Programmcode direkt von der Modell-Struktur aus zu generieren oder
zusammenzuführen. Nähere Informationen dazu siehe: Synchronisieren von Modell- und
Quellcode.
Einschränken von UML-Elementen
Es können für die meisten Modellelemente in UModel Einschränkungen definiert werden.
Beachten Sie bitte, dass diese bei der Syntaxüberprüfung nicht berücksichtigt werden, da
Einschränkungen nicht Teil der Java-Codegenerierung sind.
So schränken Sie ein Element ein (Modell-Struktur):
1. Rechtsklicken Sie auf das gewünschte Element und wählen Sie Neu | Einschränkung.
2. Geben Sie den Namen der Einschränkung ein und drücken Sie die Eingabetaste.
3. Klicken Sie auf dem Register "Eigenschaften" in das Feld "Spezifikation" und geben Sie
die Einschränkung ein, z.B. name length > 10.
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
Modell-Struktur
73
So schränken Sie ein Element in UML-Diagrammen ein:
1. Doppelklicken Sie auf das jeweilige Element, um es editieren zu können.
2. Geben Sie den Namen der Einschränkung innerhalb einer geschwungenen Klammer ein
z.B. interestRate:float #{interestRate >=0}.
So weisen Sie eine Einschränkung mehreren Modellierungselementen zu:
1. Rechtsklicken Sie auf dem Register "Eigenschaften" auf das Feld "Eingeschränkte
Elemente".
2. Wählen Sie "Element eingeschränkten Elementen hinzufügen".
Daraufhin wird das Dialogfeld "Einzuschränkendes Element auswählen" geöffnet.
3. Wählen Sie das jeweilige Element aus, dem Sie die aktuelle Einschränkung zuweisen
möchten.
Das Feld "constrained element" enthält die Namen der Modellierungselemente, denen es
zugewiesen wurde. In der obigen Abbildung wurde Constraint1 den Paketen bankview
und com zugewiesen.
© 2016 Altova GmbH
Altova UModel 2017
74
UModel Benutzeroberfläche
4.2
Diagramm-Struktur
Diagramm-Struktur
Register "Diagramm-Struktur"
Auf diesem Register werden die aktuell verfügbaren UModel-Diagramme auf zwei Arten
dargestellt:
Gruppiert nach Diagrammtyp, in alphabetischer Reihenfolge
Als alphabetische Liste aller Projektdiagramme
Bitte beachten Sie:
Diagramme können durch Rechtsklick auf das Register "Diagramm-Struktur" und
Auswahl des entsprechenden Befehls hinzugefügt oder davon gelöscht werden.
So öffnen Sie ein Diagramm auf dem Diagrammregister:
Doppelklicken Sie auf das Diagramm, das Sie auf dem Diagrammregister anzeigen
wollen.
So zeigen Sie alle Diagramme innerhalb ihrer jeweiligen Modellgruppen an:
Rechtsklicken Sie in das Fenster und aktivieren Sie die Option "Diagramme nach
Diagrammtyp gruppieren".
Diagramme werden innerhalb ihrer Gruppe in alphabetischer Reihenfolge geordnet.
So zeigen Sie alle Diagrammtypen (alphabetisch) in Form einer Liste an:
Rechtsklicken Sie in das Fenster und deaktivieren Sie die Option "Diagramme nach
Diagrammtyp gruppieren".
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
Diagramm-Struktur
75
Alle Diagramme werden in Form einer alphabetisch sortierten Liste angezeigt.
© 2016 Altova GmbH
Altova UModel 2017
76
UModel Benutzeroberfläche
4.3
Favoriten
Favoriten
Register "Favoriten"
Dieses Register dient als benutzerdefinierter Behälter oder Bibliothek für alle Arten von
benannten UML-Elementen, also Klassen, Objekte, Assoziationen usw. nicht aber für
ProfileApplication- oder Generalisierungsbeziehungen. Auf diese Art können Sie Ihre persönliche
Liste von Modellierungselementen erstellen, die zur schnellen Auswahl zur Verfügung stehen.
Der Inhalt des Registers "Favoriten" wird automatisch mit jeder Projektdatei gespeichert. Um
diese Einstellungen zu ändern, wählen Sie die Menüoption Extras | Optionen und das Register
"Datei" und deaktivieren Sie das Kontrollkästchen "Mit Projektdatei laden und speichern".
So fügen Sie ein vorhandenes Modellierungselement zum Register "Favoriten" hinzu:
1. Rechtsklicken Sie auf dem Register "Modell-Struktur" oder im Diagramm-Arbeitsbereich
auf ein Element.
2. Wählen Sie den Menüeintrag Zu Favoriten hinzufügen.
3. Klicken Sie auf das Register "Favoriten", um das Element zu sehen.
Das Element, das auf dem Register "Favoriten" zu sehen ist, ist eine Ansicht eines
existierenden Elements, d.h. es handelt sich hier nicht um eine Kopie oder einen Klon!
So fügen Sie ein NEUES Element zum Register "Favoriten" hinzu:
1. Rechtsklicken Sie auf ein zuvor hinzugefügtes Paket, zu dem Sie das Element
hinzufügen möchten.
2. Wählen Sie im Kontextmenü den Eintrag Neu | "modeling element". Beim "modeling
element" handelt es sich hierbei um eine Klasse, eine Komponente oder ein anderes
Modellierungselement aus dem Kontextmenü.
Neue Elemente werden zum selben Element/Paket im Projekt hinzugefügt und sind daher
auch auf dem Register "Modell-Struktur" zu sehen.
So ENTFERNEN Sie ein Element vom Register "Favoriten":
1. Rechtsklicken Sie auf dasselbe Element/Paket, das Sie zu Favoriten hinzugefügt haben.
2. Wählen Sie die Option Aus Favoriten entfernen.
Bitte beachten Sie:
Sie können Elemente, die Sie zum Register "Favoriten" hinzugefügt haben, sowohl über
das Register "Favoriten" als auch über das Register "Modell-Struktur" hinzufügen und
entfernen.
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
Favoriten
77
Löschen von Elementen vom Register "Favoriten":
1. Rechtsklicken Sie auf das zu löschende Element und drücken Sie die Entf-Taste.
Daraufhin wird ein Meldungsfeld angezeigt, in dem Sie informiert werden, dass das
Element aus dem Projekt gelöscht wird.
2. Klicken Sie auf OK, wenn Sie es aus dem Projekt löschen möchten.
3. Klicken Sie auf "Abbrechen", um das Element beizubehalten und gehen Sie vor, wie
oben beschrieben, um das Element aus dem Register "Favoriten" zu löschen.
© 2016 Altova GmbH
Altova UModel 2017
78
UModel Benutzeroberfläche
4.4
Eigenschaften
Eigenschaften
Register Eigenschaften
Auf dem Register "Eigenschaften" werden die UML-Eigenschaften des aktuell aktiven Elements
angezeigt.
Wenn Sie auf ein beliebiges Element in einer/auf einem der zur Verfügung stehenden
Ansichten, Registern klicken, werden seine Eigenschaften angezeigt.
Sobald die Eigenschaften angezeigt werden, können sie durch Eingabe von Daten oder
Auswahl verschiedener Optionen auf dem Register geändert oder ergänzt werden.
Ausgewählte Eigenschaften können auch auf den Diagrammregistern gesucht werden.
Wählen Sie dazu im Kontextmenü die Option "In aktivem Diagramm anzeigen" aus.
Auswählen in der Modellstruktur
Wenn Sie in einem Klassendiagramm auf ein Attribut klicken, werden seine Eigenschaften auf
dem Register "Eigenschaften" angezeigt. Um diese in der Modell-Struktur zu finden:
1. Klicken Sie mit der rechten Maustaste auf den Typ-Eintrag des Attributs auf dem
Register "Eigenschaften".
2. Wählen Sie den Eintrag "In Modell-Struktur auswählen" im Kontextmenü aus.
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
Eigenschaften
79
Die IBankAPI-Schnittstelle wird nun in der Modell-Struktur angezeigt.
© 2016 Altova GmbH
Altova UModel 2017
80
UModel Benutzeroberfläche
4.5
Stile
Stile
Das Register "Stile"
Auf dem Register "Stile" können Sie Attribute von Diagrammen oder Elementen, die in der
Diagrammansicht angezeigt werden, ansehen oder ändern.
Diese Stil-Attribute lassen sich in zwei allgemeine Gruppen einteilen:
Formatierungseinstellungen; wie z.B. Schriftgröße, -breite, Farbe usw.
Anzeigeeinstellungen/-optionen; Hintergrundfarbe anzeigen, Raster, Sichtbarkeit usw.
Das Register "Stile" ist in verschiedene Kategorien/Abschnitte unterteilt, die Sie durch Klicken auf
das Listenfeld "Stile" auswählen können. Der Inhalt des Listenfelds ist vom aktuell ausgewählten
Modellelement abhängig.
Durch Klicken auf ein Element auf einem Diagrammregister wird automatisch der Kontext
"Elementstile" ausgewählt. Bei Klicken auf ein Element auf dem Register "Modell-Struktur" wird
der Kontext "Projektstile" ausgewählt.
Die Anwendungsreihenfolge für die Stile ist von unten nach oben, d.h. Änderungen, die auf
einer spezifischeren Ebene vorgenommen wurden, setzen allgemeinere Einstellungen außer
Kraft. So setzen z.B. Änderungen (an einem Objekt) auf der Elementstilebene die aktuellen
Elementfamilie und Projektstil-Einstellungen außer Kraft. Wenn Sie jedoch ein anderes Objekt
auswählen und die Elementfamilie - Stile-Einstellungen ändern, werden alle anderen Objekte mit
Ausnahme des soeben auf der Ebene Elementstile geänderten Objekts aktualisiert.
Bitte beachten Sie:
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
Stile
81
Alle an Modellelementen vorgenommenen Stiländerungen können rückgängig gemacht
werden!
Elementstile:
Gilt für das aktuell ausgewählte Element im aktuell aktiven Diagramm. Mehrfachauswahl ist
möglich.
Stile von Elementen mit diesem Stereotyp:
Gilt für die aktuell ausgewählte Stereotypklasse im Diagramm. Nähere Informationen dazu siehe
Benutzerdefinierte Stereotypstile.
Elementfamilie Stile:
Gilt für alle Elemente desselben Typs, d.h. der ausgewählten Elementfamilie, z.B. können Sie alle
Komponentenelemente in der Farbe "Aqua" anzeigen lassen. Daraufhin werden alle Komponenten
in Komponenten- und Deployment-Diagrammen in Aqua angezeigt.
Knotenstile/Linienarten:
"Knoten" gilt für alle rechteckigen Objekte.
"Linien" gilt für alle Konnektoren: Assoziations-, Abhängigkeits-, Realisierungslinien usw. für das
gesamte Projekt.
Projektstile:
Projektstile gelten für das aktuelle UModel Projekt als Ganzes (wenn Sie z.B. die
Standardschriftart "Arial" für alle Texte in allen Diagrammen des Projekts in "Times New Roman"
ändern möchten.
Diagrammstile:
Diese Stile stehen nur zur Verfügung, wenn Sie auf einen Diagrammhintergrund klicken bzw. ihn
auswählen. Wenn Sie Einstellungen hier ändern, wird davon nur das einzelne UML-Diagramm, für
das die Einstellungen im Projekt definiert sind, betroffen.
So ändern Sie die Einstellungen für alle Diagramme eines Projekts:
1. Klicken Sie in das jeweilige Diagramm,
2. Wählen Sie im Listenfeld den Eintrag Projektstile und scrollen Sie zum unteren Rand
des Registers.
3. Wählen Sie eine der Diag.yyy-Optionen z.B. Diag.Hintergrundfarbe.
Daraufhin wird die Hintergrundfarbe aller Diagramme im aktuellen Projekt geändert.
Anzeige von Stilen bei Auswahl mehrerer Elemente:
Wenn im Diagrammfenster mehrere Elemente ausgewählt sind, werden alle unterschiedlichen
Stilwerte im entsprechenden Feld angezeigt. In der Abbildung unten wurden Class1 und Class2
ausgewählt.
Im Feld "Füllfarbe" werden die Werte für die einzelnen Elemente angezeigt, in diesem Fall
Aquamarin und Silber.
© 2016 Altova GmbH
Altova UModel 2017
82
UModel Benutzeroberfläche
Stile
Anzeige von einander überlappenden Stilen:
Wenn ein Stil durch einen Stil auf einer untergeordneten Ebene außer Kraft gesetzt wird, wird auf
dem Register "Stile" im entsprechenden Feld ein kleines rotes Dreieck angezeigt.
Wenn Sie den Mauszeiger über das Feld platzieren, wird ein Popup-Fenster angezeigt, in dem
angegeben wird, welcher Stil Vorrang hat.
Beispiel:
Für die Elemente "Enumeration", "Paket" und "Profil" sind in den Elementfamilienstileinstellungen
Standardfüllfarben definiert. Um die Füllfarben auf Projektebene zu ändern, löschen Sie den Wert
unter "Elementfamilie - Stile", indem Sie im Dropdown-Listenfeld den leeren Eintrag auswählen,
wählen Sie in der Auswahlliste "Stile" den Eintrag "Projektstile" aus und ändern Sie dort die
Füllfarbe.
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
4.6
Hierarchie
83
Hierarchie
Register "Hierarchie"
Auf dem Register "Hierarchie" werden alle Beziehungen des aktuell ausgewählten
Modellierungselements in zwei verschiedenen Ansichten angezeigt. Das Modellierungselement
kann in einem Modellierungsdiagramm, der Modell-Struktur oder auf dem Register "Favoriten"
ausgewählt werden.
Bitte beachten Sie:
Allgemeine Einstellungen für das Register "Hierarchie" werden über die Menüoption
Extras | Optionen | Ansicht in der Gruppe "Hierarchie" im unteren Bereich des
Dialogfelds vorgenommen.
Strukturansicht anzeigen
In dieser Ansicht sehen Sie mehrere Beziehungen des aktuell ausgewählten Elements z.B.
SchemaString. Wenn Sie auf die verschiedenen Schaltflächen in der Symbolleiste klicken,
können Sie alle Arten von Beziehungen anzeigen oder nur einige davon, indem Sie die jeweiligen
Schaltflächen durch Anklicken aktivieren. In der Abbildung oben sind alle Schaltfläche aktiv, daher
werden in einer Strukturansicht auch alle Beziehungen angezeigt.
Wenn Sie auf dem Register auf eines der Elementsymbole doppelklicken, werden die
Beziehungen dieses Elements angezeigt.
Graph. Ansicht anzeigen
© 2016 Altova GmbH
Altova UModel 2017
84
UModel Benutzeroberfläche
Hierarchie
In dieser Ansicht wird eine einzige Gruppe von Beziehungen in einer hierarchischen Übersicht
angezeigt. Es kann immer nur jeweils eine der Beziehungsschaltflächen aktiv sein. In der
Abbildung ist die Schaltfläche "Generalisierungen anzeigen" gerade aktiv.
Wenn Sie auf dem Register auf eines der Elementsymbole klicken, z.B. SchemaTypeNumber,
werden die Beziehungen dieses Elements angezeigt.
Das aktuell ausgewählte Element ist nun SchemaTypeNumber.
Erstellen eines neuen Diagramms anhand des Fensterinhalts:
Der aktuelle Inhalt des Fensters "Graph. Ansicht" kann in einem neuen Diagramm angezeigt
werden.
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
Hierarchie
85
1. Rechtsklicken Sie in das Fenster "Graph. Ansicht" und wählen Sie den Befehl
Diagramm als diesen Graph erstellen.
2. Bearbeiten Sie den Namen des Diagramms gegebenenfalls, wählen Sie die Stiloptionen
aus und klicken Sie auf OK.
Ein neues Diagramm wird erstellt.
© 2016 Altova GmbH
Altova UModel 2017
86
UModel Benutzeroberfläche
4.7
Übersicht - Dokumentation
Übersicht - Dokumentation
Register Übersicht
Auf dem Register "Übersicht" werden die Umrisse des aktuell aktiven Diagramms in Form einer
Übersicht angezeigt. Wenn Sie auf das rote Rechteck klicken und es ziehen, verschiebt sich der
angezeigte Bereich auf dem Diagrammregister.
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
4.8
Dokumentation
87
Dokumentation
Register Dokumentation
Über dieses Register können alle der auf dem Register "Modell-Struktur" verfügbaren Elemente
dokumentiert werden. Klicken Sie auf das gewünschte Element und geben Sie den Text auf dem
Register "Dokumentation" ein. Dabei werden auch die Tastenkombinationen für die
Standardbearbeitungsbefehle "Ausschneiden", "Kopieren" und "Einfügen" unterstützt.
Dokumentation und Code Engineering:
Beim Code Engineering wird nur die Dokumentation zu Klassen und Schnittstellen als Input bzw.
Output verwendet. Dazu gehört auch Dokumentation, die für Klassen-/Schnittstelleneigenschaften
und -operationen definiert wurde.
1. Wählen Sie Projekt | Synchronisierungseinstellungen.
2. Aktivieren Sie das Kontrollkästchen "Dokumentation als JavaDocs schreiben" um die
Ausgabe von Dokumentation zu aktivieren.
Bitte beachten Sie:
Beim Import von XML-Schemas wird nur die erste Annotation eines complex- oder simpleType im
Fenster "Dokumentation" angezeigt.
© 2016 Altova GmbH
Altova UModel 2017
88
UModel Benutzeroberfläche
4.9
Meldungen
Meldungen
Im Fenster "Meldungen" werden beim Zusammenführen von Code oder beim Überprüfen der
Projektsyntax Meldungen, Hinweise und Fehlermeldungen angezeigt.
Wenn Sie auf die Fehlermeldung klicken, wird das entsprechende Element in der Modell-Struktur
und im dazugehörigen Diagramm markiert, falls das Diagramm gerade aktiv/offen ist.
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
Diagrammfenster
89
4.10 Diagrammfenster
Alle aktuell geöffneten UModel-Diagramme werden im Diagrammfenster auf einzelnen Registern
angezeigt.
So erstellen Sie ein neues Diagramm:
1. Klicken Sie auf dem Register "Modell-Struktur" auf ein Paket.
2. Wählen Sie Neu | YYY Diagramm.
So erstellen Sie ein neues Diagramm, das den Inhalt eines bestehenden Pakets enthält:
1. Rechtsklicken Sie auf ein Paket und wählen Sie In neuem Diagramm anzeigen |
Inhalt.
So öffnen Sie ein Diagramm bzw. rufen es auf:
Doppelklicken Sie auf das Diagrammsymbol auf einem der Register der Modell-Struktur,
um das Diagramm zu öffnen.
Klicken Sie auf eines der Register im Diagrammfenster (um das Diagramm aufzurufen).
So schließen Sie alle Diagramme mit Ausnahme des aktiven:
Rechtsklicken Sie auf das Diagrammregister, das offen bleiben soll, und wählen Sie die
Option Alle bis auf die aktiven schließen.
Löschen eines Diagramms:
Klicken Sie in der Modell-Struktur auf das Diagrammsymbol und drücken Sie die EntfTaste.
Verschieben von Diagrammen in einem Projekt:
Ziehen Sie das Diagrammsymbol in ein beliebiges anderes Paket auf dem Register
"Modell-Struktur".
Unter Umständen müssen Sie die Option "Keine Sortierung" aktivieren, um das
Diagramm verschieben zu können.
Suchen (Löschen) von Klasseneigenschaften und Optionen aus der Modell-Struktur:
Eigenschaften und Optionen können auch direkt aus der Modell-Struktur gelöscht werden. Dazu
© 2016 Altova GmbH
Altova UModel 2017
90
UModel Benutzeroberfläche
Diagrammfenster
müssen Sie zuerst die richtige Eigenschaft finden. Angenommen, Sie haben "Operation1" in die
Klasse "Account" eingefügt (drücken Sie zum Einfügen F8 und anschließend die Eingabetaste):
1. Rechtsklicken Sie in der Klasse "Account" auf Operation1.
2. Wählen Sie die Option "In Modell-Struktur auswählen" oder drücken Sie F4.
Der Eintrag Operation1 erscheint nun auf dem Register "Modell-Struktur" unter Account
markiert.
3. Drücken Sie die Entf-Taste, um die Operation aus der Klasse und dem Projekt zu
löschen!
Beachten Sie, dass Sie durch Drücken von F4 beinahe jedes Modellierungselement in der
Modell-Struktur finden können.
Bitte beachten Sie:
Sie können beim Anzeigen von Attributeigenschaften auch vom Fenster "Eigenschaften"
zur Modell-Struktur navigieren. Nähere Informationen dazu finden Sie in der
Benutzerreferenz unter Eigenschaften.
Löschen von Elementen aus einem Diagramm:
Löschen von Elementen aus dem Diagramm und dem Projekt!
Wählen Sie das zu löschende Element aus und drücken Sie die Entf-Taste.
Löschen von Elementen nur aus dem Diagramm - nicht aus dem Projekt!
1. Wählen Sie das zu löschende Element aus
2. Halten Sie die Strg-Taste und drücken Sie die Entf-Taste.
Mit Hilfe einer Funktion zum automatischen Layouten können Sie definieren, wie Ihr Diagramm
visuell strukturiert werden soll. Rechtsklicken Sie auf den Diagrammhintergrund und wählen Sie
entweder:
Automatisches Layout | Zentriert oder
Automatisches Layout | Hierarchisch
Automatisches Layout | Block
Anzeigen von Beziehungen zwischen Modellelementen:
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
Diagrammfenster
91
1. Rechtsklicken Sie auf das entsprechende Element und wählen Sie den Befehl Anzeigen.
Das unten gezeigte Popup-Menü ist kontextspezifisch, d.h. es stehen nur die Optionen
zur Verfügung, die für das jeweilige Element relevant sind.
So zeigen Sie Textlabels an bzw. blenden sie aus:
Klicken Sie mit der rechten Maustaste auf eine Klasse oder einen Assoziationspfeil und
wählen Sie den Befehl Textlabels anzeigen | Alle Textlabels anzeigen
(ausblenden).
So zeigen Sie ein Klassenattribut/eine Klasseneigenschaft als Assoziation an:
1. Rechtsklicken Sie auf die Eigenschaft in der Klasse.
© 2016 Altova GmbH
Altova UModel 2017
92
UModel Benutzeroberfläche
Diagrammfenster
2. Wählen Sie die Menüoption Anzeigen | "EigenschaftXX" als Assoziation.
Daraufhin wird die referenzierte Klasse eingefügt/geöffnet und die jeweilige Assoziation
wird angezeigt.
So zeigen Sie Quellcodekommentare im Modelldiagramm an:
Klicken Sie mit der rechten Maustaste in das Diagrammfenster und wählen Sie den
Befehl Anzeigen | Anmerkende Kommentare.
Auf diese Art können Sie Quellcodekommentare zum Dokument (DocComments), die
auch im Fenster "Dokumentation" angezeigt werden, direkt im Modelldiagramm
bearbeiten.
So passen Sie die Linienstärke in einem Projekt an:
1. Klicken Sie in ein beliebiges Diagramm und klicken Sie anschließend auf das Register
"Stile".
Stellen Sie sicher, dass in der Auswahlliste der Eintrag "Projektstile" aktiv ist.
2. Scrollen Sie hinunter zum Eintrag "Linienbreite" und wählen Sie den gewünschten Wert.
Diese Änderung wirkt sich auf die Stärke aller Assoziations-, Aggregations-,
Generalisierungslinien usw. in allen Diagrammen des aktuellen UModel-Projekts aus.
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
Diagrammfenster
93
4.10.1 Diagrammeigenschaften
Konfigurieren von Diagrammeigenschaften
Klicken Sie auf den Diagrammhintergrund und wählen Sie anschließend einen der Stile aus dem
Listenfeld "Styles" aus. Nähere Informationen finden Sie unter Fensterbereich "Stile".
So vergrößern Sie ein Diagramm:
Die Größe des Diagrammregisters hängt von den Elementen und ihrer Platzierung ab.
Ziehen Sie ein Element zu einem der Ränder des Diagrammregisters, um automatisch
durch das Register zu scrollen und es zu vergrößern.
Positionieren von Modellierungselementen - das Raster
Modellierungselemente können manuell positioniert werden oder an einem sichtbaren/
unsichtbaren Raster in einem Diagramm ausgerichtet werden.
Dient zum Ein- und Ausblenden des Rasters
Dient zum Ausrichten von Elementen an einem sichtbaren / unsichtbaren Raster
Anzeigen von UML-Diagrammüberschriften
Dient zum Ein- und Ausblenden von UML-Diagrammüberschriften, d.h. des
Rahmens rund um ein Diagramm mit dem Namen in der linken oberen Ecke.
Ausrichten von Modellierungselementen
Modellierungselemente können in ihrer Größe und Position an anderen Elementen ausgerichtet
werden, z.B. zentriert, links- oder rechtsbündig ausgerichtet usw.
Bitte beachten Sie:
Wenn Sie mehrere Elemente markieren, wird für die Aktion, die Sie daran ausführen, als Vorlage
das zuletzt ausgewählte Element verwendet. Wenn Sie z.B. drei Klassenelemente auswählen und
auf die Schaltfläche "Breite angleichen" klicken, dann werden alle drei Elemente in der Breite an
die zuletzt ausgewählte Klasse angepasst.
Das gleiche gilt auch bei Markierung mehrerer Objekte mit der Marquee-Technik (Aufziehen eines
Rechtecks). Hier dient das zuletzt ausgewählte Element als Vorlage für die anderen markierten
Objekte
Schaltflächenfunktionen für die einzelnen Schaltflächengruppen:
© 2016 Altova GmbH
Altova UModel 2017
94
UModel Benutzeroberfläche
Diagrammfenster
Linksbündig, Rechtsbündig
Bündig oben, Bündig unten
Vertikal zentrieren, Horizontal zentrieren
Waagrecht anordnen, Senkrecht anordnen
Horizontal anordnen, vertikal anordnen
Breite angleichen, Höhe angleichen, Größe angleichen.
Verbessertes Autokomplettierungsfenster - Auswählen von Datentypen
Wenn Sie Datentypen für Operationen oder Eigenschaften eingeben, wird automatisch ein
Autokomplettierungsfenster angezeigt, das die folgenden Funktionen aufweist:
Bei Klick auf einen Spaltennamen wird das Fenster in aufsteigender/absteigender
Reihenfolge nach diesem Attribut sortiert.
Durch Ziehen der rechten unteren Ecke können Sie die Größe des Fensters anpassen.
Sie können den Inhalt des Fensters durch Klicken auf das entsprechende
Kategoriesymbol am unteren Rand des Fensters filtern.
Mit der Schaltfläche Einzelmodus
können Sie wechseln zwischen der Aktivierung
nur eines der Kategoriesymbole auf einmal (Einzelmodus) oder der Aktivierung mehrerer
Kategoriesymbole (Mehrfachmodus). In der Abbildung unten sehen Sie das
Autokomplettierungsfenster im Mehrfachmodus, d.h. alle Kategoriesymbole sind aktiviert.
Das Einzelmodussymbol ist deaktiviert.
Mit den Schaltflächen "Alle setzen / Zurücksetzen" können Sie alle
Kategorieeinstellungen setzen bzw. zurücksetzen.
Wenn die Autokomplettierung deaktiviert ist, drücken Sie Strg+ Leerzeichen, um das
Autokomplettierungsfenster bei Bedarf wieder anzuzeigen.
´
Filterkategorien:
Klasse, Schnittstelle, Primitivtyp, Datentyp, Enumeration, Klassenvorlage, Schnittstellen-Vorlage,
Datentyp-Vorlage.
Bitte beachten Sie:
Um die Autokomplettierung zu aktivieren/zu deaktivieren, wählen Sie Extras | Optionen |
Diagrambearbeitung (Register) und aktivieren Sie die Option "Automatische
Eingabehilfe aktivieren". Diese Einstellung hat keinen Einfluss auf die Funktion zum
Aufrufen des Autokomplettierungsfensters.
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
Diagrammfenster
95
4.10.2 Ausschneiden, Kopieren und Einfügen in UModel Diagramme
Ausschneiden, Kopieren und Einfügen von Diagrammelementen im Diagrammfenster
Alle UModel Diagrammelemente können innerhalb desselben Typs, zwischen verschiedenen
Typen und selbst verschiedenen Diagrammarten ausgeschnitten, kopiert und eingefügt werden.
Dies erfolgt mit Hilfe der Maus oder mittels Tastaturkürzel und zwar auf zwei verschiedene Arten:
Nachdem Sie ein Element kopiert haben, gibt es folgende Möglichkeiten:
Sie können es "einfügen". Dies erfolgt mit Hilfe der Tastaturkürzel Strg+V, mit dem
Kontextmenübefehl "Einfügen" oder über den Befehl "Einfügen" aus dem Menü
"Bearbeiten". Dabei wird immer ein neues Modellelement zum Diagramm und zur
Modell-Struktur hinzugefügt.
Mit dem Kontextmenübefehl "Nur in Diagramm einfügen" (aufrufbar durch Rechtsklick
auf den Diagrammhintergrund) wird ein "Link/eine Ansicht" des bestehenden Elements
zum aktuellen Diagramm, nicht aber zur Modell-Struktur, hinzugefügt.
Hier ein Beispiel aus dem Klassendiagramm:
Einfügen (Strg+V) einer kopierten Klasse:
Durch Einfügen einer kopierten Klasse in dasselbe Diagramm (oder Paket) wird eine
neue Klasse mit dem Quellklassennamen plus einer Sequenznummer eingefügt. So
lautet der Name der Quellklasse z.B. myClass. Eingefügt wird der Klassenname
myClass1. Alle Operationen und Eigenschaften werden auch in die neue Klasse kopiert.
Durch Einfügen einer kopierten Klasse in ein anderes Paket wird ebenfalls eine neue
Klasse eingefügt, doch wird der ursprüngliche Klassenname beibehalten. In beiden Fällen
wird die neue Klasse auch zur Modell-Struktur hinzugefügt.
Einfügen (Strg+V) kopierter Eigenschaften oder Operationen:
Durch Einfügen einer Eigenschaft in dieselbe Klasse wird eine neue Eigenschaft mit
dem Namen der Quelleigenschaft sowie einer Sequenznummer eingefügt, also z.B.
MyProperty1.
Durch Einfügen einer Operation in dieselbe Klasse wird eine neue Operation mit
demselben Namen der Quelloperation eingefügt.
© 2016 Altova GmbH
Altova UModel 2017
96
UModel Benutzeroberfläche
Diagrammfenster
In beiden Fällen wird eine neue Eigenschaft/Operation zur Modell-Struktur hinzugefügt.
"Nur in Diagramm einfügen":
Wenn Sie diese Kontextmenüoption verwenden, wird im Diagramm, in das Sie das Element
einfügen ein "Link" zum bzw. eine "Ansicht" des Elements erstellt. Hier ein Beispiel aus dem
Klassendiagramm:
Mit dem Befehl "Nur in Diagramm einfügen" wird eine Ansicht der Ursprungsklasse
erstellt.
Die Klasse wird in das Diagramm eingefügt und genau wie die Quellklasse angezeigt.
Es wurde keine neue Klasse zur Modell-Struktur hinzugefügt!
Es wird keine Änderung am Klassennamen oder anderen Operationen/Eigenschaften
vorgenommen.
Wenn Sie die Eigenschaften des Elements in einer der "Ansichten" ändern, werden diese
auch in der anderen automatisch geändert.
Kopieren und Einfügen von Elementen mit der Maus:
1. Klicken Sie auf das gewünschte Modellelement.
2. Verschieben Sie den Mauszeiger an die Stelle, an die Sie das neue Element platzieren
möchten.
3. Halten Sie die Strg-Taste gedrückt. Unterhalb des Mauszeigers wird ein keines
Pluszeichen angezeigt, welches anzeigt, dass es sich hier um einen Kopiervorgang
handelt.
4. Lassen Sie die Maustaste los.
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
Diagrammfenster
97
Es erscheint ein Popup-Menü, aus dem Sie einen der Befehle "Einfügen" oder "Nur in
Diagramm einfügen" auswählen können.
5. Wählen Sie die gewünschte Option aus.
Bitte beachten Sie:
Mit Hilfe der Maus und der Strg-Taste können Sie Eigenschaften und Operationen direkt
innerhalb einer Klasse kopieren oder verschieben.
© 2016 Altova GmbH
Altova UModel 2017
98
UModel Benutzeroberfläche
Hinzufügen/Einfügen von Modellelementen
4.11 Hinzufügen/Einfügen von Modellelementen
Es gibt mehrere Methoden, um Modellelemente zu erstellen und in Diagramme einzufügen:
Durch Hinzufügen der Elemente zu bestimmten Paketen in der Modell-Strukturansicht
Durch Ziehen von bestehenden Elementen vom Register "Modell-Struktur" auf das
Diagrammregister
Durch Klicken auf ein bestimmtes UML-Elementsymbol und Einfügen in das Diagramm
Durch Verwenden das Kontextmenüs, um Elemente zum Diagramm (und automatisch
zur Modell-Strukturansicht) hinzuzufügen.
Bitte beachten Sie, dass mehrere Elemente in der Modell-Strukturansicht entweder durch
Umschalt + Klick oder durch Strg + Klick ausgewählt werden können.
Hinzufügen von Elementen auf dem Register "Modell-Struktur"/"Favoriten":
Rechtsklicken Sie auf ein Paket, wählen Sie "Neu" und anschließend aus dem Menü,
das erscheint, das jeweilige Element.
Daraufhin wird das neue Element im aktuellen Projekt zum Register "Modell-Struktur"
hinzugefügt.
Einfügen von Elementen aus der Modell-Strukturansicht in ein Diagramm:
Modellelemente können einzeln eingefügt werden oder als Gruppe. Um mehrere Elemente zu
markieren, halten Sie die Strg-Taste gedrückt und klicken Sie auf die einzelnen Elemente. Zum
Einfügen der Elemente in das Diagramm stehen zwei verschiedene Methoden zur Verfügung: links
ziehen und rechts ziehen.
Links ziehen (normales Drop and Drop): Fügt Elemente direkt an der Cursorposition ein
(es werden automatisch alle Assoziationen, Abhängigkeiten, usw. die zwischen den
aktuell eingefügten und dem neuen Element bestehen, angezeigt).
Rechts ziehen (halten Sie die rechte Maustaste gedrückt und lassen Sie sie auf dem
Diagrammregister los): Öffnet ein Popup-Menü, aus dem Sie die Assoziationen,
Generalisierungen, die angezeigt werden sollen, auswählen können.
Beispiel:
Sie möchten das Diagramm "Account Hierarchy" in einem neuen Klassendiagramm replizieren.
1. Rechtsklicken Sie auf das bankview-Paket und wählen Sie Neu | Klassendiagramm.
2. Suchen Sie in der Modell-Struktur die abstrakte Klasse Account und verwenden Sie den
"Rechts ziehen"-Vorgang, um sie im neuen Diagramm zu platzieren.
Daraufhin wird das oben gezeigte Kontextmenü geöffnet.
3. Wählen Sie den Eintrag Einfügen mit Generalisierungshierarchie (spezifisch).
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
Hinzufügen/Einfügen von Modellelementen
99
4. Deaktivieren Sie die Kontrollkästchen für die Elemente, die in den Elementen angezeigt
werden sollen (in diesem Fall für Eigenschaften und Operationen).
5. Klicken Sie auf OK.
Die Klasse "Account" und ihre drei Unterklassen werden alle auf dem
Diagrammregister eingefügt. Die Generalisierungspfeile werden automatisch angezeigt.
Hinzufügen von Elementen zu einem Diagramm mittels der Symbole in der
Symbolleiste:
1. Wählen Sie das jeweilige Element, das Sie einfügen möchten aus, indem Sie in der
Symbolleiste auf das dazugehörige Symbol klicken.
2. Klicken Sie auf das Diagrammregister, um das Element einzufügen.
Bitte beachten Sie:
Wenn Sie vor dem Klicken auf das Diagrammregister die Strg-Taste gedrückt halten,
können Sie mit den einzelnen Klicks in das Diagramm mehrere Elemente desselben
Typs einfügen.
Hinzufügen von Elementen zu einem Diagramm über das Kontextmenü:
Rechtsklicken Sie auf den Diagrammhintergrund und wählen Sie Neu | element name.
Bitte beachten Sie:
Beim Hinzufügen von neuen Elementen zum Diagrammregister wird dasselbe Element
automatisch zum Register "Modell-Struktur" hinzugefügt. Das Element wird zu dem
Paket hinzugefügt, das in der Modell-Strukturansicht das UML-Diagramm enthält.
Rechtsklicken Sie auf ein Element und wählen Sie Anzeigen | xx
Wenn Sie z.B. auf die Klasse "Account" rechtsklicken und den Eintrag Anzeigen |
Generalisierungshierarchie wählen, werden die abgeleiteten Klassen ebenfalls in das
Diagramm eingefügt.
© 2016 Altova GmbH
Altova UModel 2017
100
UModel Benutzeroberfläche
Verknüpfen von Modellierungselementen
4.12 Verknüpfen von Modellierungselementen
UModel unterstützt nun das automatische und manuelle Verknüpfen von Modellierungselementen
mittels Hyperlink. Die Hyperlinks werden automatisch erstellt, wenn Sie beim Importieren von
Quellcode oder Binärdateien in ein Modell die entsprechende Option auswählen.
Die Erstellung von manuellen Hyperlinks wird zwischen den meisten Modellierungselementen
(ausgenommen Linien) und:
jedem Diagram im aktuellen ump-Projekt
jedem Element in einem Diagramm
jedem Element in der Modellstruktur
externen Dokumenten, z.B. PDF-, Excel- oder Word-Dokumenten
Webseiten
unterstützt.
Anmerkung:
Alle manuell erstellten Hyperlinks stehen bei Generierung von UML-Dokumentation auch
in der HTML-Projektdokumentation zur Verfügung.
Wenn Sie das Bank Server-Diagramm unter dem Paket "Bank Server" öffnen, wird die IBankAPISchnittstelle sowie die BankServer-Klasse angezeigt. Auch ein Enumerationselement, das die
Namen der EnumerationLiterals enthält, ist zu sehen. Wir möchten nun einen Hyperlink von
Enumeration zu Account Hierarchy-Klassendiagramm erstellen.
So erstellen Sie einen Hyperlink zu einem Diagramm:
1. Rechtsklicken Sie auf das Element und wählen Sie die Option Hyperlinks | Hyperlinks
einfügen/bearbeiten.
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
Verknüpfen von Modellierungselementen
101
Daraufhin wird das Dialogfeld "Hyperlinks bearbeiten" geöffnet. Hier werden die Hyperlinks
verwaltet.
2. Klicken Sie auf die Schaltfläche hinzufügen, und wählen Sie die Option DiagrammLink, um einen Link zu einem bestehenden Diagramm zu definieren.
3. Wählen Sie das Ziel des Hyperlinks aus, zu dem navigiert werden soll, z.B. Hierarchy of
Account diagram, und klicken Sie auf OK.
Wenn Sie in die Spalte "benutzerdefinierter Name" doppelklicken, können Sie Ihren
eigenen Link-Namen definieren.
Beachten Sie: Sie können mehrere und auch verschiedene Arten von Links von einem
einzigen Modellierungselement aus hinzufügen, z.B. können Sie über die Schaltfläche
Hinzufügen | Web Link einen Web Link zu http://altova.com/support_help.html
hinzufügen.
© 2016 Altova GmbH
Altova UModel 2017
102
UModel Benutzeroberfläche
Verknüpfen von Modellierungselementen
4. Klicken Sie auf OK, sobald Sie alle Ihre Hyperlinks definiert haben.
Links oben wurde nun ein Link-Symbol zum Enumeration-Element hinzugefügt. Wenn Sie
den Mauscursor über das Link-Symbol platzieren, erscheint ein Popup mit dem Namen
des Target-Elements.
Hyperlinks in Operationen
Hyperlinks von einer Eintrittsaktion in einem Zustandsdiagramm
So erstellen Sie einen Link zu einem bestimmten Diagrammelement (Diagrammlink):
1. Erstellen Sie den Hyperlink, wie zuvor beschrieben, klicken Sie jedoch auf das +-Zeichen,
um den Inhalt des Diagramms erweitert anzuzeigen.
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
Verknüpfen von Modellierungselementen
103
2. Wählen Sie das jeweilige Modellierungselement, zu dem Sie einen Link erstellen
möchten, und klicken Sie auf OK.
Wenn Sie auf das Link-Symbol klicken, wird das jeweilige Diagramm geöffnet, wobei das
Element sichtbar und ausgewählt ist.
So erstellen Sie einen Link zu einem Element in der Modell-Struktur (Modell-Link):
Gehen Sie vor, wie oben beschrieben. Klicken Sie aber im Dialogfeld auf den Befehl
hinzufügen | Modell-Link.
Wenn Sie auf den Link klicken, sobald er eingefügt wurde, werden Sie zum dem Element
geführt, das Sie im Dialogfeld in der Modell-Struktur ausgewählt haben.
Anmerkung: Beim Generieren von Projektdokumentation werden die Hyperlinks zu den
Modellelementen in der Modell-Struktur angepasst, sodass sie in der generierten
Dokumentation auf die richtigen Definitionen verweisen.
So erstellen Sie einen Link zu einem Dokument:
1. Klicken Sie im Dialogfeld "Hyperlinks bearbeiten" auf die Schaltfläche Hinzufügen |
Datei-Link .
2. Wählen Sie das Dokument aus, zu dem Sie einen Link erstellen möchten, z.B. *.doc,
*.xls, *.pdf, usw.
So erstellen Sie von einer Anmerkung einen Hyperlink:
1. Wählen Sie den Text in der Anmerkung aus, indem Sie auf ein Wort klicken oder es mit
der Maus ziehen.
2. Rechtsklicken Sie auf den ausgewählten Text und wählen Sie die Menüoption Hyperlinks
einfügen/bearbeiten.
3. Erstellen Sie über das Dialogfeld "Hyperlinks bearbeiten" einen Link zu einem Diagramm.
© 2016 Altova GmbH
Altova UModel 2017
104
UModel Benutzeroberfläche
Verknüpfen von Modellierungselementen
Bitte beachten Sie:
Auf dieselbe Art können Sie auch Hyperlinks von Kommentarelementen aus erstellen.
So erstellen Sie einen Link vom Register "Dokumentation":
1. Geben Sie auf dem Register "Dokumentation" den erklärenden Text ein.
2. Wählen Sie aus, welcher Text, als Link verwendet werden soll.
3. Klicken Sie auf die rechte Maustaste und wählen Sie aus, welcher Link erstellt werden
soll.
So navigieren Sie zum Ziel eines Hyperlinks:
1. Klicken Sie auf das Hyperlink-Symbol im Modellierungselement.
Wenn nur ein Ziel definiert ist, wird das Zieldiagramm, die Website usw. sofort angezeigt.
Wenn mehrere Ziele definiert wurden, erscheint ein Popup-Dialogfeld, in dem Sie eines
der verfügbaren Ziele auswählen können.
Wenn Sie auf den ersten Eintrag klicken, wird das Hierarchy of Account-Diagramm
geöffnet.
Navigieren von Hyperlinks:
Klicken Sie in der Hauptsymbolleiste auf die Symbole "Vorheriges"
"Nächstes"
und
um zur Quelle und zum Ziel zu navigieren.
So bearbeiten/ändern Sie einen Hyperlink:
1. Rechtsklicken Sie auf das Link-Symbol und wählen Sie den Eintrag Hyperlinks
einfügen, bearbeiten oder entfernen.
2. Über das Dialogfeld "Hyperlinks bearbeiten" können Sie Ihre Hyperlinks verwalten.
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
© 2016 Altova GmbH
Verknüpfen von Modellierungselementen
105
Altova UModel 2017
106
UModel Benutzeroberfläche
Bank-Beispieldateien
4.13 Bank-Beispieldateien
Der Ordner ...\UModelExamples enthält Dateien mit Beispielen zu verschiedenen Aspekten der
UML-Modellierung in UModel. Sie sind so ausgelegt, dass Modelle für die Programmiersprachen
Java und C# sowie eine Kombination beider Sprachen in einem Modellierungsprojekt zu sehen
sind.
In der Abbildung unten sehen Sie die Datei Bank_Java.ump:
das Java-Profil wurde dem Paket "Bankview" zugewiesen
die Java-Namespace Root wurde den Paketen "Banking access" und "BankView"
zugewiesen.
das Paket "Interaction View" enthält zwei Interaction-Elemente, von denen jedes ein
Sequenzdiagramm enthält.
In der Abbildung unten sehen Sie die Datei Bank_CSharp.ump:
das C#-Profil wurde dem Paket BankView zugewiesen
die C# Namespace Root wurde den Paketen "Banking access" und "BankView"
zugewiesen.
das Paket "Interaction View" enthält zwei Interaction-Elemente, von denen jedes ein
Sequenzdiagramm enthält.
Altova UModel 2017
© 2016 Altova GmbH
UModel Benutzeroberfläche
Bank-Beispieldateien
107
In der Abbildung unten sehen Sie die Datei Bank_MultiLanguage.ump:
das Java-Profil wurde dem Paket "BankView" zugewiesen
die C# Namespace Root wurde dem Paket "Bank Server" zugewiesen
die Java Namespace Root wurde dem Paket "BankView" zugewiesen.
das Paket "Interaction View" enthält zwei Interaction-Elemente, von denen jedes ein
Sequenzdiagramm enthält.
das Projekt wurde in 4 editierbare Unterprojekte, nämlich Bank Server.ump, Banking
access.ump, BankView.ump und Bank_Multilanguage_Use Case View.ump aufgeteilt.
© 2016 Altova GmbH
Altova UModel 2017
Kapitel 5
UModel Befehlszeilenschnittstelle
110
UModel Befehlszeilenschnittstelle
5
UModel Befehlszeilenschnittstelle
Zusätzlich zur grafischen Benutzeroberfläche verfügt UModel auch über eine
Befehlszeilenschnittstelle. Um die Befehlszeilenschnittstelle aufzurufen, führen Sie die Datei
UModelBatch.exe aus dem Ordner C:\Programme\Altova\UModel2017 aus. Wenn Sie die
UModel 32-Bit-Version auf einem 64-Bit-Betriebssystem ausführen, so lautet der Pfad C:
\Programme (x86)\Altova\UModel2017.
Die Befehlszeilenparametersyntax wird unten gezeigt und kann im Fenster zur Befehlseingabe
angezeigt werden, wenn Sie eingeben: umodelbatch /?
Hinweis: Wenn der Pfad oder Dateiname Leerzeichen enthält, setzen Sie den Pfad/Dateinamen
bitte in Anführungszeichen, d.h. "c:\Programme\...\Dateiname"
usage: umodelbatch [project] [options]
/? oder /help ... diese Hilfeinformationen anzeigen
Projekt
...
Optionen
/new[=Datei]...
speichern
/set
...
/gui
...
Projektdatei (*.ump) siehe auch Datei: New/Load/Saveneues Projekt erstellen/speichern/unter einem neuen Namen
Optionen permanent festlegen
UModel-Benutzeroberfläche anzeigen
Befehle (in der angeführten Reihenfolge ausgeführt):
/chk
... Projektsyntax überprüfen
/isd=Pfad
... Quellverzeichnis importieren
/isp=Datei ... Quellprojektdatei importieren
(*.project,*.xml,*.jpx,*.csproj,*.csdproj,*.vbproj,*.vbdproj,*.sln,*.bdspro
j)
/ibt=Liste ... Binärtypen importieren (Liste der Binär[Typnamen]
definieren)
(';'=Trennzeichen, '*'=alle Typen, '#' vor Assembly-Namen)
/ixd=Pfad
... XML-Schemaverzeichnis importieren
/ixs=Datei ... XML-Schemadatei importieren (*.xsd)
/m2c
... Programmcode anhand von Modell aktualisieren (exportieren/
Forward Engineering)
/c2m
... Modell anhand von Programmcode aktualisieren (importieren/
Reverse Engineering)
/ixf=Datei ... XMI-Datei importieren
/exf=Datei ... XMI-Datei exportieren
/inc=Datei ... Datei inkludieren
/mrg=Datei ... Datei zusammenführen
/doc=Datei ... Dokumentation in angegebene Datei schreiben
/lue[=cpri] ... alle Elemente auflisten, die in keinem Diagramm verwendet
werden (d.h. nicht verwendete)
/ldg
... alle Diagramme auflisten
/lcl
... alle Klassen auflisten
/lsp
... alle freigegebenen Pakete auflisten
/lip
... alle inkludierten Pakete auflisten
Optionen zum Speichern als neues Projekt:
Altova UModel 2017
© 2016 Altova GmbH
UModel Befehlszeilenschnittstelle
/npad=opt
111
... relative Dateipfade anpassen (Yes | No | MakeAbsolute)
Optionen für Import-Befehle:
/iclg[=lang ... Codesprache (Java1.4 | Java5.0 | Java6.0 | C#1.2 | C#2.0 |
C#3.0 | C#4.0 | C#5.0 | C#6.0 | VB7.1 | VB8.0 |VB9.0)
/ipsd[=0|1] ... Unterverzeichnisse verarbeiten (rekursiv)
/irpf[=0|1] ... relativ zur UModel-Projektdatei importieren
/ijdc[=0|1] ... JavaDocs als Java-Kommentare
/icdc[=0|1] ... DocComments als C#-Kommentare
/icds[=lst] ... C# definierte Symbole
/ivdc[=0|1] ... DocComments als VB-Kommentare
/ivds[=lst] ... VB-definierte Symbole (benutzerdefinierte Konstanten)
/imrg[=0|1] ... zusammengeführte synchronisieren
/iudf[=0|1] ... Verzeichnisfilter verwenden
/iflt[=lst] ... Verzeichnisfilter (Voreinstellungen /iudf)
Optionen für den Import von Binärtypen (nach /iclg):
/ibrt=vers ... Runtime Version
/ibpv=Pfad ... Variable PATH zum Durchsuchen von nativen Code-Bibliotheken
außer Kraft setzen
/ibro[=0|1] ... nur Reflection-Kontext verwenden
/ibua[=0|1] ... hinzugefügte referenzierte Typen mit Paketfilter verwenden
/ibar[=flt] ... referenzierte Typpaketfilter hinzufügen (presets /ibua)
/ibot[=0|1] ... nur Typen importieren
/ibuv[=0|1] ... Mindestsichtbarkeitsfilter verwenden
/ibmv[=key] ... Schlüsselwort der erforderlichen Mindestsichtbarkeit
(presets /ibuv)
/ibsa[=0|1] ... Attributabschnitte / Annotations-Modifier unterdrücken
/iboa[=0|1] ... nur ein Attribut pro Attributabschnitt erstellen
/ibss[=0|1] ... 'Attribute'-Suffix bei Attributtypnamen unterdrücken
Optionen für die Diagrammgenerierung:
/dgen[=0|1] ... Diagramme generieren
/dopn[=0|1] ... generierte Diagramme öffnen
/dsac[=0|1] ... Attributbereich anzeigen
/dsoc[=0|1] ... Operation-Bereich anzeigen
/dscc[=0|1] ... Bereiche für geschachtelte Classifier anzeigen
/dstv[=0|1] ... Eigenschaftswerte anzeigen
/dudp[=0|1] ... .NET-Eigenschaftsbereich verwenden
/dspd[=0|1] ... .NET-Eigenschaftsbereich anzeigen
Optionen für Export-Befehle:
/ejdc[=0|1] ... Java-Kommentare als JavaDocs
/ecdc[=0|1] ... C#-Kommentare als DocComments
/evdc[=0|1] ... VB-Kommentare als DocComments
/espl[=0|1] ... benutzerdefinierte SPL-Vorlagen verwenden
/ecod[=0|1] ... gelöschte auskommentieren
/emrg[=0|1] ... zusammengeführte synchronisieren
/egfn[=0|1] ... fehlende Dateinamen generieren
/eusc[=0|1] ... Syntaxüberprüfung verwenden
Optionen für den XMI-Export:
/exid[=0|1] ... UUIDs exportieren
© 2016 Altova GmbH
Altova UModel 2017
112
UModel Befehlszeilenschnittstelle
/exex[=0|1] ... UModel-spezifische Erweiterungen exportieren
/exdg[=0|1] ... Diagramme exportieren (presets /exex)
/exuv[=ver] ... UML-Version (UML2.0 | UML2.1.2 | UML2.2 | UML2.3 | UML2.4)
Optionen für die Dateizusammenführung:
/mcan=Datei ... gemeinsame Vorgängerdatei
Optionen für die Dokumentationsgenerierung:
/doof=fmt ... Ausgabeformat (HTML | RTF | MSWORD | PDF )
/dsps=Datei
...SPS-Designdatei
Im Abschnitt "Projekt":
Der Parameter /new definiert den Pfad und Namen der neuen Projektdatei (*.ump). Sie
können diesen Parameter auch verwenden, um ein bestehendes Projekt unter einem
anderen Namen zu speichern, z.B. UmodelBatch.exe MyFile.ump /
new=MyBackupFile.ump. Siehe auch Datei: New/Load/Save-Optionen
Der Parameter /set überschreibt die aktuellen Standardeinstellungen in der
Registrierungsdatei, wobei die Optionen/Einstellungen hier definiert werden.
Der Parameter /gui zeigt die UModel-Benutzeroberfläche bei der Batchverarbeitung an.
Beispiel 1
Der folgende Befehl importiert Quellcode und erstellt eine neue Projektdatei. Beachten Sie, dass
der Projektpfad Leerzeichen enthält und innerhalb von Anführungszeichen steht.
"C:\Program Files\Altova\UModel2017\UModelBatch.exe" /new="C:\Program Files
\Altova\UModel2017\UModelBatchOut\Fred.ump" /isd="X:TestCases\UModel\Fred" /
set /gui /iclg=Java5.0 /ipsd=1 /ijdc=1 /dgen=1 /dopn=1 /dmax=5 /chk
/new:
Gibt an, dass die neu erstellte Projektdatei den Namen "Fred.ump" erhalten und
unter C:\Program Files\Altova\U M odel2017\UModelBatchOut\ erstellt werden
soll
/isd=
Gibt an, das das Root-Verzeichnis, in das importiert werden soll "X:\TestCases
\UModel\Fred" sein soll.
/set:
Gibt an, dass alle in der Befehlszeile verwendeten Optionen in der
Registrierungsdatei gespeichert werden sollen (Wenn UModel anschließend
gestartet wird, werden diese Einstellungen die Standardeinstellungen).
/gui:
die UModel-GUI bei der Batch-Verarbeitung anzeigen
/iclg:
UModel importiert den Code als Java5.0
/ipsd=1:
alle im Parameter /isd definierten Unterverzeichnisse des Root-Verzeichnisses
rekursiv verarbeiten
/pfd=1:
für jedes importierte Verzeichnis im UModel-Projekt Pakete erstellen
/ijdc=1:
gegebenenfalls JavaDoc anhand von Kommentaren erstellen
/dgen=1:
Diagramme generieren
/dopn=1:
generierte Diagramme öffnen
Altova UModel 2017
© 2016 Altova GmbH
UModel Befehlszeilenschnittstelle
/dmax=5:
maximal fünf Diagramme öffnen
/chk:
Syntaxüberprüfung durchführen
113
Beispiel 2
Der folgende Befehl importiert Quellcode aus X:\TestCases\UModel und speichert die erzeugte
Projektdatei unter C:\Program Files\Altova\UModel2017\UModelBatchOut\finalclass.ump.
"C:\Program Files\Altova\UModel2017\UModelBatch.exe" /new="C:\Program Files
\Altova\UModel2017\UModelBatchOut\finalclass.ump" /isd="X:\TestCases\UModel
\" /iclg=Java5.0 /ipsd=1 /ijdc=1 /dgen=1 /dopn=1 /dmax=5 /dsat=1 /dsnc=1 /chk
/dsat=1
Attribute in den generierten Diagrammen unterdrücken
/dsnc=1
geschachtelte Classifier in den generierten Diagrammen unterdrücken
Beispiel 3
Der folgende Befehl synchronisiert Code mit einer vorhandenen Projektdatei ("C:\Program Files
\Altova\UModel2017\UModelBatchOut\Fred.ump").
"C:\Program Files\Altova\UModel2017\UModelBatch.exe" "C:\Program Files\Altova
\UModel2017\UModelBatchOut\Fred.ump" /m2c /ejdc=1 /ecod=1 /emrg=1 /egfn=1 /
eusc=1
/m2c
Code anhand von Modell aktualisieren
/ejdc:
Kommentare im Projektmodell sollen als JavaDoc generiert werden
/ecod=1:
gelöschten Code auskommentieren
/emrg=1
zusammengeführten Code synchronisieren
/egfn=1:
fehlende Dateinamen im Projekt generieren
/eusc=1
Syntaxüberprüfung verwenden
© 2016 Altova GmbH
Altova UModel 2017
114
UModel Befehlszeilenschnittstelle
5.1
Datei: New / Load / Save-Optionen
Datei: New / Load / Save-Optionen
Vollständiger Batch-Modus, d.h. der /gui-Parameter wird nicht verwendet.
new
UModelBatch /new=xxx.ump (options)
Erstellt ein neues Projekt, führt die Optionen aus, xxx.ump wird immer (unabhängig von
den Optionen) gespeichert
auto save
UModelBatch xxx.ump (options)
Lädt das Projekt xxx.ump, führt die Optionen aus, xxx.ump wird nur dann gespeichert,
wenn sich das Dokument geändert hat (wie /ibt)
save
UModelBatch xxx.ump (options) /new
Lädt das Projekt xxx.ump, führt die Optionen aus, xxx.ump wird immer gespeichert
(unabhängig von den Optionen)
save as
UModelBatch xxx.ump (options) /new=yyy.ump
Lädt das Projekt xxx.ump, führt die Optionen aus, speichert xxx.ump immer als yyy.ump
(unabhängig von den Optionen)
Batch-Modus, wobei die UModel-Benutzeroberfläche sichtbar bleibt, d.h. der /gui Parameter
wird verwendet.
new
UModelBatch /gui /new (options)
Erstellt ein neues Projekt, führt die Optionen aus, nichts wird gespeichert, die GUI bleibt
offen
save new
UModelBatch /gui /new=xxx.ump (options)
Erstellt ein neues Projekt, führt die Optionen aus, xxx.ump wird gespeichert, die GUI
bleibt offen
user mode
UModelBatch /gui xxx.ump (options)
Lädt das Projekt xxx.ump, führt die Optionen aus, nichts wird gespeichert, die GUI bleibt
offen
save
UModelBatch /gui xxx.ump (options) /new
Lädt das Projekt xxx.ump, führt die Optionen aus, xxx.ump wird gespeichert, die GUI
bleibt offen
save as
UModelBatch /gui xxx.ump (options) /new=yyy.ump
Lädt das Projekt xxx.ump, führt die Optionen aus, speichert xxx.ump als yyy.ump, die
GUI bleibt offen
Altova UModel 2017
© 2016 Altova GmbH
UModel Befehlszeilenschnittstelle
Datei: New / Load / Save-Optionen
115
Das Projekt wird erfolgreich gespeichert, wenn bei Ausführung der Optionen kein
schwerwiegender Fehler auftritt.
© 2016 Altova GmbH
Altova UModel 2017
Kapitel 6
Projekte und Code Engineering
118
Projekte und Code Engineering
6
Projekte und Code Engineering
Alle Java-spezifischen Konstrukte werden nun in UModel unterstützt, unter
anderem:
Java Annotationen
Attribute, Operationen und geschachtelte Qualifier für EnumerationLiterals
Enumerationen können Schnittstellen realisieren
NetBeans Projektdateien
Reverse Engineering unterstützt jetzt:
die Möglichkeit ein einziges Diagramm für alle mit Reverse Engineering generierten
Elemente zu erzeugen.
die Möglichkeit, anonyme gebundene Elemente in Diagrammen ein- und auszublenden
die Möglichkeit, während des Imports automatisch Hyperlinks von Paketen zu den
entsprechenden Paket-Inhaltsdiagrammen anzulegen.
die Möglichkeit Aliasse aufzulösen.
das Schreiben von Unicode-Zeichen in neue Quellcodedateien
das Erstellen von Assoziationen anhand von .NET-Eigenschaften
So erstellen Sie ein neues Projekt:
1. Klicken Sie in der Symbolleiste auf das Symbol Neu (oder wählen Sie den Menübefehl
Datei | Neu).
Die Root Component-Pakete werden automatisch eingefügt, wenn ein neues Projekt erstellt wird,
und auf dem Register "Modell-Struktur" angezeigt. Es wird ein neues Projekt mit dem
Standardnamen NeuesProjekt1 erstellt. Beachten Sie, dass beim Start von UModel automatisch
ein neues Projekt geöffnet wird.
Ein neu erstelltes UModel-Projekt besteht aus den folgenden Paketen:
Root-Paket und
Component View-Paket
Diese beiden Pakete sind die einzigen, die nicht umbenannt oder gelöscht werden
können.
Alle projektrelevanten Daten werden in der UModel-Projektdatei gespeichert. Diese Datei hat die
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
119
Erweiterung *.ump. Jedes Ordnersymbol auf dem Register "Modell-Struktur" stellt ein UML-Paket
dar!
UModel-Projektarbeitsablauf:
UModel zwingt Sie nicht, sich bei der Modellierung an eine bestimmte vordefinierte Reihenfolge zu
halten!
Sie können jeden Modellelementtyp zum Projekt hinzufügen: UML-Diagramm, Paket, Akteur usw.
- und zwar in jeder beliebigen Reihenfolge bzw. and jeder beliebigen Stelle; Beachten Sie, dass
alle Modellelemente direkt auf dem Register "Modell-Struktur" eingefügt, umbenannt und gelöscht
werden können, d.h. Sie müssen diese Elemente nicht unbedingt als Teil eines Diagramms
erstellen.
So fügen Sie ein neues Paket ein:
1. Rechtsklicken Sie auf das Paket, unter dem das neue Paket angezeigt werden soll, also
in einem neuen Projekt entweder "Root" oder "Component View".
2. Wählen Sie Neu | Paket.
Unterhalb des bestehenden Pakets wird ein neues Paket erstellt. Das Namensfeld wird
automatisch markiert, sodass Sie sofort den Paketnamen eingeben können.
Pakete sind die Behälter für alle anderen UML-Modellierungselemente, Use CaseDiagramme, Klassen, Instanzen usw.
Pakete können an jeder Stelle in der Modell-Struktur erstellt werden.
Pakete/Inhalt können/kann in andere Pakete in der Modell-Struktur (sowie in gültige
Modell-Diagramme auf dem Diagrammregister) verschoben/kopiert werden.
Pakete und deren Inhalt können (auf dem Register "Modell-Struktur") nach verschiedenen
Kriterien sortiert werden.
Pakete können innerhalb von anderen Paketen platziert werden.
Pakete können beim Zusammenführen oder Synchronisieren von Code als Quell- oder
Zielelemente verwendet werden.
Damit Elemente in einem UML-Diagramm angezeigt werden, müssen Sie:
1. ein neues UML-Diagramm einfügen. Rechtsklicken Sie dazu und wählen Sie Neu |
(Klassen)diagramm.
2. ein bestehendes Modellelement aus der Modell-Struktur in ein neu erstelltes Diagramm
ziehen oder
3. neue Elemente direkt über das Kontextmenü in der Diagrammansicht hinzufügen.
So speichern Sie ein Projekt:
Wählen Sie die Menüoption Datei | Speichern unter... (oder Datei | Speichern). Anmerkung:
Über Extras | Optionen | Datei (Register) können Sie festlegen, dass die *.ump-Datei beim
Speichern in einem "Pretty-Print"-Format gespeichert wird.
So öffnen Sie ein Projekt:
Wählen Sie die Menüoption Datei | Öffnen oder wählen Sie eine Datei in der Dateiliste aus.
Bitte beachten Sie:
Externe Änderungen, die an der Projektdatei oder inkludierten Dateien vorgenommen
wurden, werden automatisch erkannt und es erscheint eine entsprechende Meldung. Sie
können auswählen, ob das Projekt neu geladen werden soll oder nicht.
So verschieben Sie ein Projekt:
UModel-Projekte und generierter Code können ganz einfach in ein anderes Verzeichnis (oder auf
© 2016 Altova GmbH
Altova UModel 2017
120
Projekte und Code Engineering
einen anderen Computer) verschoben und dort erneut synchronisiert werden.
Dazu gibt es zwei Methoden:
Wählen Sie die Menüoption Datei | Speichern unter... und klicken Sie auf Ja, wenn Sie
gefragt werden, ob die Dateipfade an den neuen Projektordner angepasst werden sollen.
Kopieren Sie das UModel-Projekt (*.ump) in einen neuen Ordner und passen Sie die
Pfade der Codegenerierungspakete in der Komponentendiagrammansicht an das neue
Verzeichnis an.
z.B. bei Verwendung von BankMultilanguage.ump:
1. Öffnen Sie das Komponentendiagramm "Overview" und klicken Sie auf die Komponente
"BankView".
2. Aktualisieren Sie den Eintrag im Feld Verzeichnis, und geben Sie dort den neuen Pfad
an.
3. Synchronisieren Sie das Modell erneut mit dem Code.
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
6.1
Mini-UModel Projekt - von Grund auf neu erstellen
121
Mini-UModel Projekt - von Grund auf neu erstellen
In diesem Abschnitt werden die Schritte beschrieben, die nötig sind, um ein Projekt von Grund auf
neu zu erstellen und Code für eine einzige Klasse zu generieren. Hier wird anhand eines MiniProjekts jedoch unter Verwendung mehrerer Diagramme gezeigt, wie man Methoden hinzufügt
usw. Alle diese Aktionen könnten auch nur unter Verwendung des Registers "Modell-Struktur"
durchgeführt werden. Zur Erstellung von Klassen oder Methoden werden keine
Modellierungsdiagramme benötigt.
Erstellen eines neuen Projekts und Definieren der Namespace Root
Führen Sie im UModel-Fenster "Modell-Struktur" folgende Schritte durch:
1. Wählen Sie Datei | Neu, um ein neues Modellierungsprojekt zu erstellen.
2. Rechtsklicken Sie auf das Root-Paket und wählen Sie Neues Element | Paket. Geben
Sie dem Paket z.B. den Namen MyPackage.
3. Rechtsklicken Sie auf "MyPackage" und wählen Sie Code Engineering | Als Java
Namespace Root definieren und klicken Sie auf OK, um das UModel Java Profil auf
das Paket anzuwenden.
Daraufhin wird ein Java-Profilpaket zur Modell-Struktur hinzugefügt.
Inkludieren von Java Lang für JDK-Datentypen
1. Rechtsklicken Sie auf das Root-Paket und wählen Sie Projekt | Unterprojekt
inkludieren.
2. Klicken Sie auf das Register "Java 1.4" und wählen Sie das Paket Java Lang.ump aus.
Klicken Sie auf OK, um die Standardoption "Durch Referenz:" zu verwenden.
Daraufhin werden ein Java Lang-Paket und ein Paket "Unknown Externals" zur ModellStruktur hinzugefügt.
Erstellen der Klasseneigenschaften und Methoden
1. Rechtsklicken Sie auf MyPackage und wählen Sie die Option Neues Diagramm |
Klassendiagramm.
© 2016 Altova GmbH
Altova UModel 2017
122
Projekte und Code Engineering
Mini-UModel Projekt - von Grund auf neu erstellen
2. Rechtsklicken Sie in das Klassendiagramm und wählen Sie Neu | Klasse, um im
Diagramm eine neue Klasse zu erstellen z.B. MyClass.
3. Drücken Sie F7 und fügen Sie einige Attribute hinzu, z.B. UserName:String und
Password:String.
4. Drücken Sie F8 und fügen Sie einige Optionen hinzu, z.B. GetUserName():String und
GetPassword():String.
Erstellen einer Komponente und Definieren des Code-Verzeichnisses
1. Rechtsklicken Sie auf das Paket Component View und fügen Sie ein neues
Komponentendiagramm hinzu.
2. Ziehen Sie das Klassenelement MyFirstClass aus der Modellstruktur in das
Komponentendiagramm.
3. Fügen Sie eine neue Komponente zum Diagramm hinzu z.B. MyComponent.
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Mini-UModel Projekt - von Grund auf neu erstellen
123
4. Klicken Sie auf die Komponente im Diagramm, um sie auszuwählen, und klicken Sie
anschließend auf das Feld Verzeichnis im Fenster "Eigenschaften" und geben Sie das
Verzeichnis ein, in dem der Code gespeichert werden soll, z.B. C:\MyCode.
Realisieren der Klasse
1. Klicken Sie auf MyFirstClass und ziehen Sie den Ziehpunkt
"Komponentenrealisierung" am unteren Rand des Elements auf die neue Komponente
MyComponent.
Eine Klasse muss "realisiert" werden, bevor Code generiert werden kann. Beachten Sie,
dass Sie die Klasse auch direkt in der Modell-Struktur auf die Komponente ziehen
könnten.
Syntaxüberprüfung und Generierung von Code
1. Wählen Sie die Option Projekt | Projektsyntax überprüfen, um zu überprüfen, ob alles
in Ordnung ist.
© 2016 Altova GmbH
Altova UModel 2017
124
Projekte und Code Engineering
Mini-UModel Projekt - von Grund auf neu erstellen
Es werden null Fehler und eine Warnung generiert. Obwohl der Codename vorher nicht
definiert wurde, wird automatisch ein Standardname generiert.
2. Wählen Sie Projekt | Merge Programmcode aus UModel-Projekt um Java-Code
auszugeben/zu generieren.
Erstellen eines Namespace
Wenn Sie die Klasse innerhalb eines bestimmten Namespace erstellen möchten:
1. Fügen Sie unterhalb von myPackage ein neues Paket hinzu, z.B. altova.
2. Klicken Sie auf das Paket und aktivieren Sie das Kontrollkästchen <<namespace>> im
Fenster "Eigenschaften".
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Mini-UModel Projekt - von Grund auf neu erstellen
125
3. Verschieben Sie die Klasse "MyFirstClass" im Fenster "Modell-Struktur" in das Paket
"altova".
Die Klasse befindet sich nun bei Generierung von Code im Namespace altova.
© 2016 Altova GmbH
Altova UModel 2017
126
Projekte und Code Engineering
Importieren von Quellcode in Projekte
6.2
Importieren von Quellcode in Projekte
Quellcode kann als Quellprojekt oder als Quellverzeichnis importiert werden. Ein Beispiel dazu
finden Sie im Tutorial unter Round-Trip Engineering (Code - Modell - Code).
JBuilder .jpx, Eclipse .project Projektdateien sowie NetBeans (project.xml) werden
derzeit unterstützt..
C#-Projekte / Visual Basic-Projekte (Visual Studio- sln, csproj, csdprj..., vbproj, vbp
sowie Borland .bdsproj Projektdateien)
So importieren Sie bestehenden Code in UModel:
1. Wählen Sie Projekt | Quellprojekt importieren.
2. Klicken Sie auf das Durchsuchen-Symbol
im Dialogfeld "Quellprojekt importieren".
3. Wählen Sie den Projektdateityp aus, z.B. .jpx und klicken Sie auf "Öffnen". Sie finden
die diese JBuilder-Projektdatei in der Datei OrgChart.zip im Ordner ...\UModelExamples.
Beachten Sie, dass die Option zum Importieren des Projekts relativ zur UModelProjektdatei aktiv ist. Damit UModel Klassen- und Paketdiagramme generiert, aktivieren
Sie das Kontrollkästchen "Diagrammgenerierung aktivieren" und klicken Sie
anschließend auf "Weiter".
4. Aktivieren Sie das Kontrollkästchen "In neues Paket importieren" (oder klicken Sie im
Fester "Importziel" auf das entsprechende Paket).
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Importieren von Quellcode in Projekte
127
5. Wenn Sie dazu aufgefordert werden, aktivieren Sie die Optionen Einzelnes Diagramm
generieren und/oder Diagramm pro Paket generieren. Die Stile für das Diagramm
können gegebenenfalls später geändert werden.
6. Klicken Sie zum Fortfahren auf "Weiter".
In diesem Dialogfeld können Sie die Einstellungen für die Generierung von
Paketabhängigkeiten definieren.
© 2016 Altova GmbH
Altova UModel 2017
128
Projekte und Code Engineering
Importieren von Quellcode in Projekte
7. Klicken Sie auf "Fertig stellen", um die Standardeinstellungen zu verwenden. Das Projekt
wird geparst und das UModel-Modell wird generiert.
Bitte beachten Sie:
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Importieren von Quellcode in Projekte
129
Beim Import in ein bestehendes Projekt werden Sie gefragt, in welches Paket es
importiert werden soll. Wenn Sie ein neues Projekt verwenden, wird der Ordner
"OrgChart" automatisch erstellt.
Auflösen von Aliassen:
Beim Reverse Engineering von Code, der Namespace- oder Klassenaliasse enthält, können Sie
nun auswählen, ob der Alias aufgelöst werden soll (Kontrollkästchen "Aliasse auflösen" im
Dialogfeld "Quellprojekt/Verzeichnis importieren").
Wenn Code aktualisiert wird, d.h. wenn Code anhand des Modells aktualisiert wird, werden AliasDefinitionen im Code unverändert beibehalten. Der Geltungsbereich der Aliasdefinitionen sind die
Dateien, in denen diese vorkommen.
z.B.
using Q = System.Collections.Generic.Queue<String>;
Q myQueue;
Alle Aliasse, bei denen es zu einem Konflikt kommen könnte, werden zu den "unbekannten
externen Elementen" hinzugefügt, wenn ihre Verwendung nicht eindeutig ist.
Anmerkung:
Die Einstellung "Aliasnamen auflösen" kann jederzeit im Dialogfeld "Projekteinstellungen"
geändert werden.
Definierte Symbole
In C#- oder Visual Basic-Code können Sie eine Liste von "definierten Symbolen" in das
gleichnamige Feld eingeben. Mit Hilfe dieser Anweisungen können Sie Codeabschnitte bei
Zutreffen bestimmter Bedingungen kompilieren. Geben Sie diese Anweisungen in Form einer
durch Semikola getrennten Liste ein. Code, der nicht in diese Anweisungen eingeschlossen ist,
wird auskommentiert.
UModel gibt alle im Quellcode verwendeten Symbole im Fenster "Meldungen" aus, sobald das
Reverse Engineering abgeschlossen ist.
Z.B. #If DEBUG Then
Dim i = 10
#Else
dim a = 20
#End If
Ausnahmeereignisse
Wenn Sie in einer der Klassen auf eine Operation klicken und anschließend auf das
Dropdown-Listenfeld Exception werden die Informationen zum Ausnahmeereignis
angezeigt, das eine Operation auslösen kann.
© 2016 Altova GmbH
Altova UModel 2017
130
Projekte und Code Engineering
Altova UModel 2017
Importieren von Quellcode in Projekte
© 2016 Altova GmbH
Projekte und Code Engineering
6.3
Importieren von Java-, C#- und VB-Binärdateien
131
Importieren von Java-, C#- und VB-Binärdateien
UModel unterstützt den Import von C#-, Java- und VB-Binärdateien. Diese Funktion erweist sich
vor allem beim Arbeiten mit Binärdateien aus externen Quellen oder, wenn der Quellcode nicht
mehr zur Verfügung steht, als besonders nützlich.
Um Java-Binärdateien zu importieren, müssen Java Runtime Environment (JRE) oder Development
Kit (JDK) Version 1.4, 1.5, 1.6, 1.7, 1.8 installiert sein. Der Import von Typen wird für Class
Archives unterstützt, die für diese Umgebungen vorgesehen sind, d.h. die den Java Virtual
Machine Spezifikationen entsprechen.
Um C#- oder VB-Binärdateien zu importieren, muss das .NET Framework installiert sein. Der
Import von Typen wird für Assemblies unterstützt, die für folgende Umgebungen vorgesehen
sind: .NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.6 sowie .NET Compact Framework v1.0, v2.0,
v3.5 (für PocketPC, Smartphone, WindowsCE).
Diese Anforderungen gelten nur für den Import von Java-, C#- oder VB.NET-Binärdateien.
Andernfalls wird die Java Runtime-Umgebung oder das .NET Framework nicht benötigt.
Der Import von Binärdateien, die mit Hilfe eines Obfuscators unleserlich gemacht wurden, wird
nicht unterstützt.
So importieren Sie Binärdateien:
1. Wählen Sie die Menüoption Projekt | Binärtypen importieren.
© 2016 Altova GmbH
Altova UModel 2017
132
Projekte und Code Engineering
Importieren von Java-, C#- und VB-Binärdateien
2. Wählen Sie die Sprache und die Runtime Version aus.
3. Damit UModel Klassen- und Paketdiagramme anhand des Quellcodes generiert,
aktivieren Sie das Kontrollkästchen "Diagrammgenerierung aktivieren".
4. Klicken Sie auf "Weiter". Daraufhin wird das Dialogfeld "Ausgewählte Binärtypen
importieren" geöffnet.
5. Klicken Sie auf Hinzufügen und wählen in im Kontextmenü das Class Archive aus (in
diesem Beispiel Class Archives von Java Runtime).
6. Wählen Sie eine Binärdatei aus (in diesem Beispiel rt.jar).
4. Klicken Sie auf das "+" Erweiterungssymbol, um die Liste der Binärdateien zu erweitern
und aktivieren Sie das/die Kontrollkästchen jener Datei(en), die Sie importieren möchten.
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Importieren von Java-, C#- und VB-Binärdateien
133
8. Klicken Sie auf "Weiter". Daraufhin wird das Dialogfeld Optionen für den Import von
Binärdateien.
© 2016 Altova GmbH
Altova UModel 2017
134
Projekte und Code Engineering
Importieren von Java-, C#- und VB-Binärdateien
9. Klicken Sie auf "Weiter".
10. Wählen Sie, wenn Sie dazu aufgefordert werden, das Importziel aus oder aktivieren Sie
das Kontrollkästchen In neues Paket importieren und klicken Sie zum Fortfahren auf
"Weiter".
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Importieren von Java-, C#- und VB-Binärdateien
135
11. Wählen Sie im Dialogfeld die Eigenschaften für die Generierung eines Inhaltsdiagramms
aus und klicken Sie zum Fortfahren auf "Weiter".
Sie können für jedes Paket ein Diagramm generieren, haben aber auch die Möglichkeit,
ein Übersichtsdiagramm zu erzeugen.
© 2016 Altova GmbH
Altova UModel 2017
136
Projekte und Code Engineering
Importieren von Java-, C#- und VB-Binärdateien
12. Wählen Sie die gewünschten Paketabhängigkeitsoptionen aus und klicken Sie auf "Fertig
stellen", um den Importvorgang fertig zu stellen. In der Abbildung unten sehen Sie das
Diagramm, das die Paketabhängigkeiten der Java-Binärdateien enthält.
Anmerkung: Wenn Sie auf das Link-Symbol eines Ordners klicken, wird das referenzierte
Diagramm automatisch geöffnet.
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
6.4
Synchronisieren von Modell und Quellcode
137
Synchronisieren von Modell und Quellcode
Sie können Modell und Code in beiden Richtungen und auf unterschiedlichen Ebenen (z.B.
Projekt, Paket oder Klasse) synchronisieren.
Wenn UModel (Enterprise oder Professional) als Eclipse- oder Visual Studio Plug-in
ausgeführt wird, erfolgt die Synchronisierung zwischen Modell und Code
automatisch. Eine manuelle Synchronisierung ist auf Projektebene möglich; die
Option zum Aktualisieren einzelner Klassen oder Pakete steht nicht zur Verfügung.
Bei Rechtsklick auf ein Element in der Modellstruktur (z.B. eine Klasse) werden im Kontextmenü
unter dem Eintrag Code Engineering die Befehle zur Synchronisierung oder zum
Zusammenführen von Code angezeigt:
Merge Programmcode von UModel Projekt ***
Merge UModel Projekt von Programmcode ***
*** ist je nach aktueller Auswahl ein Projekt, Paket, eine Komponente oder eine
Klasse usw.
Je nachdem, welche Einstellungen Sie unter Projekt | Synchronisierungseinstellungen
definiert haben, können die Namen dieser beiden Befehle auch folgendermaßen lauten:
Überschreibe Programmcode von UModel Projekt ***
Überschreibe UModel Projekt von Programmcode ***
Um das gesamte Projekt (nicht aber Klassen, Pakete oder andere lokale Elemente) zu
aktualisieren, können Sie auch die beiden folgenden Befehle aus dem Projekt-Menü von UModel
verwenden:
Merge (oder Überschreibe) Programmcode aus UModel Projekt
Merge (oder Überschreibe) UModel Projekt aus Programmcode
Aus Gründen der Einfachheit werden die oben aufgelisteten Befehle in diesem Kapitel allgemein
als Codesynchronisierungsbefehle bezeichnet.
Wählen Sie eine der folgenden Methoden, um eine Synchronisierung auf Projekt- oder
Root-Paketebene durchzuführen:
Klicken Sie mit der rechten Maustaste auf das Root-Paket in der Modell-Struktur und
wählen Sie den gewünschten Codesynchronisierungsbefehl aus.
Klicken Sie im Menü Projekt auf den gewünschten Codesynchronisierungsbefehl.
So führen Sie eine Synchronisierung auf Paketebene durch:
1. Drücken Sie Umschalt + Klick oder Strg + Klick, um das/die gewünschte(n) Paket(e)
auszuwählen
2. Klicken Sie mit der rechten Maustaste auf die Auswahl und wählen Sie den gewünschten
© 2016 Altova GmbH
Altova UModel 2017
138
Projekte und Code Engineering
Synchronisieren von Modell und Quellcode
Codesynchronisierungsbefehl aus.
So führen Sie eine Synchronisierung auf Klassenebene durch:
1. Drücken Sie Umschalt + Klick oder Strg + Klick, um die gewünschte(n) Klasse(n)
auszuwählen
2. Klicken Sie mit der rechten Maustaste auf die Auswahl und wählen Sie den gewünschten
Codesynchronisierungsbefehl aus.
Um beim Synchronisieren von Modell und Code unerwünschte Ergebnisse zu vermeiden,
betrachten Sie bitte die folgenden Szenarien:
Auswahl des Befehls Überschreibe
UModel Projekt aus
Programmcode im Menü Projekt
Dabei werden alle Verzeichnisse (Projektdateien)
aller verschiedenen von Ihnen in Ihrem Projekt
definierten Codesprachen überprüft.
Neue Dateien werden ermittelt und zum Projekt
hinzugefügt.
In Ihrem Meldungsfenster erscheint der Eintrag
"Quelldateien werden in 'C:\UMTest' gesammelt".
Rechtsklick auf eine Klasse oder
Schnittstelle in der Modell-Struktur und
Auswahl von Code Engineering |
Überschreibe UModel Klasse von
Programmcode
Daraufhin wird nur die ausgewählte Klasse
(Schnittstelle,...) Ihres Projekts aktualisiert.
Wenn der Quellcode jedoch neue oder seit der
letzten Synchronisierung geänderte Klassen
enthält, werden diese Änderungen nicht zum Modell
hinzugefügt.
Rechtsklick auf eine Komponente in
der Modell-Struktur (im Component
View-Paket) und Auswahl von Code
Engineering | Überschreibe UModel
Komponente von Programmcode
Daraufhin wird nur das entsprechende Verzeichnis
(bzw. die entsprechende Projektdatei) aktualisiert.
Neue Dateien im Verzeichnis (in der Projektdatei)
werden ermittelt und zum Projekt hinzugefügt.
In Ihrem Meldungsfenster erscheint der Eintrag
"Quelldateien werden in 'C:\UMTest' gesammelt".
Anmerkung:
Unter Umständen wird beim Synchronisieren von Code ein Dialogfeld angezeigt, in dem
Sie aufgefordert werden, Ihr UModel-Projekt vor dem Synchronisieren zu aktualisieren.
Dies kommt nur bei UModel-Projekten vor, die mit einer Vorversion der letzten Release
erstellt wurden. Klicken Sie bitte auf JA um Ihr Projekt zu aktualisieren und Ihre
Projektdatei zu speichern. Anschließend wird diese Aufforderung nicht mehr angezeigt.
Synchronisierungseinstellungen
Sie können die Synchronisierungsoptionen über den Menübefehl Projekt |
Synchronisierungsoptionen ändern.
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Synchronisieren von Modell und Quellcode
139
SPL-Vorlagen
SPL-Vorlagen werden bei der Generierung von Java-, C#- und VB.NET-Code verwendet. SPLVorlagen werden nur verwendet/aufgerufen, wenn neuer Code generiert wird, d.h. wenn neuer
Code generiert wird, d.h. wenn Klassen, Operationen usw. zum Modell hinzugefügt wurden.
Bestehender Code ruft die SPL-Vorlagen nicht auf bzw. greift nicht darauf zu.
So ändern Sie die vorgegebenen SPL-Vorlagen:
1. Suchen Sie die vordefinierten SPL-Vorlagen im UModel-Installationsverzeichnis:
("Programme" ...\UModel2017\UModelSPL\Java\Default\. (oder ...\C#\Default, ...\VB
\Default.)
2. Kopieren Sie die SPL-Dateien, die Sie ändern möchten, in das übergeordnete
Verzeichnis, d.h. in ...\UModel2017\UModelSPL\Java\.
3. Nehmen Sie die gewünschten Änderungen vor und speichern Sie sie.
So verwenden Sie die benutzerdefinierten SPL-Vorlagen:
1. Wählen Sie die Menüoption Projekt | Synchronisierungseinstellungen.
2. Aktivieren Sie das Kontrollkästchen "Benutzerdefinierte setzt Standardvorlage außer
Kraft" in der Gruppe "SPL-Vorlagen".
© 2016 Altova GmbH
Altova UModel 2017
140
Projekte und Code Engineering
6.4.1
Tipps zur Synchronisierung
Synchronisieren von Modell und Quellcode
Umbenennen von Classifiern und Reverse Engineering
Der unten beschriebenen Vorgang beim Reverse Engineering oder der automatischen
Synchronisierung bezieht sich sowohl auf die Standalone-Applikation als auch auf die Plug-InVersionen (Visual Studio oder Eclipse).
Wenn Sie einen Classifier im Code-Fenster Ihrer Programmierapplikation umbenennen, wird er
gelöscht und als neuer Classifier in die Modell-Struktur eingefügt.
Der neue Classifier wird nur in diejenigen Modellierungsdiagramme eingefügt, die beim Reverse
Engineering automatisch erstellt werden, oder wenn ein Diagramm mit dem Befehl In neuem
Diagramm anzeigen | Inhalt erstellt wird. Der neue Classifier wird an der Standardposition im
Diagramm eingefügt. Diese ist wahrscheinlich nicht mit der vorherigen Position identisch.
Siehe auch Refactoring und Synchronisierung von Code.
Automatische Generierung von Komponentenrealisierungen
UModel kann in Rahmen der Codegenerierung automatisch Komponentenrealisierungen
generieren. Komponentenrealisierungen werden nur generiert, wenn es absolut klar ist, welcher
Komponente eine Klasse zugewiesen werden soll:
Es ist nur eine Visual Studio-Projektdatei im .ump-Projekt vorhanden.
Es gibt mehrere Visual Studio-Projekte, doch deren Klassen sind im Modell streng
getrennt.
So aktivieren Sie die automatische Generierung von Komponentenrealisierungen:
1. Wählen Sie den Menübefehl Extras | Optionen.
2. Klicken Sie auf das Register Code Engineering und aktivieren Sie die Option Fehlende
Komponentenrealisierungen generieren.
Automatische Komponentenrealisierungen werden für einen Classifier generiert, dem eine (und
nur eine) Komponente zugewiesen werden kann.
ohne Komponentenrealisierung oder
eine im Namespace einer Codesprache enthaltene Komponente
Die Art, wie die Komponente gesucht wird, ist in den beiden Fällen unterschiedlich:
Komponente, die eine Code-Projektdatei repräsentiert (Eigenschaft "projectfile" ist aktiviert)
wenn es EINE Komponente gibt, die Classifier im Paket, das sie enthält, hat/realisiert
wenn es EINE Komponente gibt, die Classifier in einem Unterpaket, des Pakets, das sie
enthält, hat/realisiert (von oben nach unten)
wenn es EINE Komponente gibt, die Classifier in einem der übergeordneten Pakete hat/
realisiert (von unten nach oben)
wenn es EINE Komponente gibt, die Classifier in einem Unterpaket eines der
übergeordneten Paket hat/realisiert (von oben nach unten)
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Synchronisieren von Modell und Quellcode
141
Komponente, die ein Verzeichnis repräsentiert (Eigenschaft "directory" ist aktiviert)
wenn es EINE Komponente gibt, die Classifier im Paket, das sie enthält, hat/realisiert
wenn es EINE Komponente gibt, die Classifier in einem der übergeordneten Pakete hat/
realisiert (von unten nach oben)
Anmerkungen:
Die Option "Code Engineering | Fehlende Komponentenrealisierungen
generierten" muss aktiviert sein.
Sobald bei einem der obigen Schritte EINE verwendbare Komponente gefunden wird, wird
diese Komponente verwendet und die restlichen Schritte werden ignoriert!
Fehler/Warnungen:
Wenn keine verwendbare Komponente gefunden wird, wird eine Warnmeldung generiert
(Meldungsprotokoll)
Wenn mehrere verwendbare Komponenten gefunden werden, wird eine Fehlermeldung
generiert (Meldungsprotokoll)
© 2016 Altova GmbH
Altova UModel 2017
142
Projekte und Code Engineering
6.4.2
Refactoring und Synchronisierung von Code
Synchronisieren von Modell und Quellcode
Beim Refactoring von Code müssen oft Klassennamen geändert/aktualisiert werden. In Versionen
vor UModel 2009 wurden bei der Synchronisierung von Code die "alten" Klassen gelöscht und
neue eingefügt.
Falls in UModel ab Version 2009 beim Reverse Engineering festgestellt wird, dass neue Typen
hinzugekommen/umbenannt worden sind, wird nun ein Dialogfeld geöffnet. Die neuen Typen
werden in der Spalte "Name im Code" geöffnet, während der vom Programm als ursprünglicher
Typname angenommene Name in der Spalte "Name im Modell" aufgelistet wird. UModel ermittelt
den Originalnamen anhand vonn Namespace, Klasseninhalt, Basisklassen und anderen Daten.
Wenn eine Klasse umbenannt wurde, wählen Sie den früheren Klassennamen über die
Auswahlliste in der Spalte "Name im Modell" aus, z.B. C1. Damit stellen Sie sicher, dass alle
damit in Zusammenhang stehenden Daten beibehalten werden und das Code Engineering korrekt
erfolgt.
Ändern von Klassennamen im Modell und Neugenerierung von Code
Wenn Sie ein Modell erstellt haben und anhand dieses Modells Code generiert haben, möchten
Sie unter Umständen nochmals Änderungen am Modell vornehmen, bevor Sie die
Synchronisierung vornehmen.
Beispiel: Sie haben beschlossen, Klassennamen zu ändern, bevor Sie Code zum zweiten Mal
generieren. Da Sie jeder Klasse zuvor einen Dateinamen zugewiesen haben, würde der neue
Name der Klasse und der Datei nun im Fenster "Eigenschaften" im Feld "Codedateiname" nicht
mehr übereinstimmen.
UModel fragt Sie, ob der Name der Codedatei an den neuen Namen der Klasse angepasst werden
soll, bevor Sie die Synchronisierung starten. Beachten Sie, dass Sie auch die Möglichkeit haben,
auch die Klassenkonstruktoren zu ändern.
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Synchronisieren von Modell und Quellcode
143
Round-Trip Engineering und Beziehungen zwischen Modellelementen:
Beim Aktualisieren des Modells anhand von Code werden Assoziationen zwischen
Modellelementen automatisch angezeigt, wenn die Option Bearbeiten | Assoziationen
automatisch erstellen im Dialogfeld Extras | Optionen aktiviert wurde. Assoziationen werden für
jene Elemente angezeigt, bei denen der Attributtyp definiert ist und bei denen sich das
referenzierte "Typ"-Modellelement im selben Diagramm befindet.
Die Schnittstellenrealisierungen sowie die Generalisierungen werden beim Aktualisieren des
Modells anhand von Code automatisch angezeigt.
© 2016 Altova GmbH
Altova UModel 2017
144
Projekte und Code Engineering
Voraussetzungen für Forward Engineering
6.5
Voraussetzungen für Forward Engineering
Mindestvoraussetzungen für das Erzeugen von Code für das Forward Engineering:
Eine Komponente muss durch eine oder mehrere Klassen oder Schnittstellen
realisiert werden.
Die Komponente muss einen physischen Pfad haben, d.h. es muss ihr ein Verzeichnis
zugewiesen sein. Der generierte Code wird anschließend in diesem Verzeichnis
abgelegt.
Komponenten müssen einzeln in den Code Engineering-Vorgang inkludiert werden.
Das Java-, C#- oder VB-Namespace-Root-Paket muss definiert werden.
So erstellen Sie eine Komponentenrealisierung:
1. Ziehen Sie die Klasse bzw. Schnittstelle auf die jeweilige Komponente in der ModellStrukturansicht.
Sie können auch über das Symbol "Realisierung" in einem Komponentendiagramm eine
Realisierung erstellen.
So weisen Sie einen physischen Ordner zu:
1. Wählen Sie die Komponente in der Modell-Struktur oder im Diagramm aus.
2. Klicken Sie auf die Durchsuchen-Schaltfläche
der Eigenschaft Verzeichnis und
wählen Sie ein Verzeichnis aus (oder geben Sie es direkt ein).
So inkludieren Sie Komponenten in den Code Engineering-Vorgang:
1. Wählen Sie die Komponente in der Modell-Struktur oder im Diagramm aus.
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Voraussetzungen für Forward Engineering
145
2. Aktivieren Sie das Kontrollkästchen "use for code engineering".
So definieren Sie die Java Namespace Root:
1. Durch Rechtsklick auf ein Paket und Auswahl der Option "Als Java Namespace Root
definieren" wird die Java Namespace Root definiert.
Diese bedeutet, dass dieses Paket und alle Unterpakete während des Code EngineeringVorgangs aktiviert sind. Die Java Namespace Root im Modell-Strukturbereich ist durch
ein
Symbol gekennzeichnet.
Wenn Sie den Befehl nochmals auswählen, wird der Java Namespace aus diesem Paket
entfernt.
© 2016 Altova GmbH
Altova UModel 2017
146
Projekte und Code Engineering
Generieren von Java-Code aus UModel-Elementen und umgekehrt
6.6
Generieren von Java-Code aus UModel-Elementen und
umgekehrt
In der nachstehenden Tabelle sehen Sie die Eins-zu-Eins-Entsprechungen zwischen:
UModel-Elementen und Java-Code-Elementen bei Ausgabe eines Modells in Code
Java-Code-Elementen und UModel-Modellelementen bei Eingabe von Code aus dem
Modell
In der Abbildung sehen Sie nur einen kleinen Abschnitt der Tabelle. Klicken Sie bitte HIER um die
HTML-Version der Tabelle in Ihrem Browser zu öffnen.
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
6.7
Generieren von C#-Code aus UModel Elementen und umgekehrt
147
Generieren von C#-Code aus UModel Elementen und
umgekehrt
In der nachstehenden Tabelle sehen Sie die Eins-zu-Eins-Entsprechungen zwischen:
UModel-Elementen und C#-Code-Elementen bei Ausgabe eines Modells in Code
C#-Code-Elementen und UModel -Modellelementen bei Eingabe von Code in das Modell
In der Abbildung sehen Sie nur einen kleinen Abschnitt der Tabelle. Klicken Sie bitte HIER um die
HTML-Version der Tabelle in Ihrem Browser zu öffnen.
© 2016 Altova GmbH
Altova UModel 2017
148
Projekte und Code Engineering
XML Schema von/zu UModel Elementen
6.8
XML Schema von/zu UModel Elementen
In der unten stehenden Tabelle sehen Sie die Eins-zu-Eins-Entsprechungen zwischen:
UModel Elementen und XML-Schema-Elementen bei der Ausgabe des Modells in Code
XML-Schema-Elemente und UModel Modellelemente, bei der Eingabe von Code ins
Modell
In der Abbildung sehen Sie nur einen kleinen Abschnitt der Tabelle. Klicken Sie bitte HIER um die
HTML-Version der Tabelle in Ihrem Browser zu öffnen.
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
6.9
Konvertierung VB.NET-Code - UModel-Elemente
149
Konvertierung VB.NET-Code - UModel-Elemente
In der unten stehenden Tabelle sehen Sie die 1:1-Entsprechungen zwischen:
UModel -Elementen und VB.NET-Codeelementen bei der Ausgabe von Modell in Code
VB.NET-Code-Elementen und UModel-Modellelementen bei der Eingabe von Code in das
Modell
In der Abbildung sehen Sie nur einen kleinen Abschnitt der Tabelle. Klicken Sie bitte HIER um die
HTML-Version der Tabelle in Ihrem Browser zu öffnen.
© 2016 Altova GmbH
Altova UModel 2017
150
Projekte und Code Engineering
Konvertierung Datenbanken - UModel-Elemente
6.10 Konvertierung Datenbanken - UModel-Elemente
In der unten stehenden Tabelle sehen Sie die 1:1-Entsprechungen zwischen:
UModel -Elementen und Datenbankelementen bei der Ausgabe von Modell in Code
Datenbankelementen und UModel-Modellelementen bei der Eingabe von Code in das
Modell
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Inkludieren anderer UModel-Projekte
151
6.11 Inkludieren anderer UModel-Projekte
Um ein UModel-Projekt als Unterprojekt eines anderen UModel-Projekts zu inkludieren, wählen
Sie den Menbefehl Projekt | Unterprojekt inkludieren.
Dialogfeld "Unterproj ekt inkludieren"
Die Register und UModel-Projekte im Dialogfeld "Unterprojekt inkludieren" sind konfigurierbar.
UModel liest diese Informationen aus dem folgenden Pfad (relativ zum Ordner "Programme" Ihres
Betriebssystems): \Altova\UModel2017\UModelInclude. Beachten Sie, dass sich die
Projektdateien auf dem Register Basic direkt unterhalb des Ordners UModelInclude befinden,
während sich die Projekte auf den verschiedenen Java-, VB- und C#-Registern in Unterordnern des
Ordners UModelInclude befinden.
Standardmäßig bietet UModel mehrere Projektprofile (.ump-Dateien) für Ihr UModel Projekt. So
befinden sich etwas Java Lang-Klassen, -Schnittstellen und -Pakete auf den nach Java-Version
geordneten Java-Registern. Auf die gleiche Weise stehen auch die .ump-Dateien für die Microsoft
C#- und VB-Typen auf separaten nach Version geordneten Registern zur Verfügung.
So zeigen Sie alle derzeit importierten Projekte an:
Wählen Sie die Menüoption Projekt | Unterprojekt separat öffnen.
Das Menü, das erscheint, enthält die aktuell inkludierten Unterprojekte.
© 2016 Altova GmbH
Altova UModel 2017
152
Projekte und Code Engineering
Inkludieren anderer UModel-Projekte
So erstellen Sie im Dialogfeld "Unterprojekt inkludieren" ein benutzerdefiniertes
Register:
Navigieren Sie zum Ordner \Altova\UModel2017\UModelInclude (relativ zu Ihrem
Ordner "Programme") und erstellen Sie Ihren benutzerdefinierten Ordner unterhalb, z.B.
\UModelInclude\myfolder. Als Name des Registers im Dialogfeld "Unterrprojekt
inkludieren" wird der Name, den Sie dem Ordner geben, angezeigt.
Kopieren Sie alle .ump-Dateien, die Sie auf dem entsprechenden Register zur Verfügung
stellen möchten, in Ihren benutzerdefinierten Ordner.
So erstellen Sie beschreibenden Text zu jeder UModel Projektdatei:
Erstellen Sie eine Textdatei mit demselben Namen wie die *.ump-Datei und platzieren Sie
sie in denselben Ordner. So wird z.B. für die Datei MyModel.ump eine beschreibende
Datei names MyModel.txt benötigt. Stellen Sie bitte sicher, dass die Codierung dieser
Textdatei UTF-8 ist.
So entfernen Sie ein inkludiertes Projekt:
1. Klicken Sie in der Modell-Strukturansicht auf das inkludierte Paket und drücken Sie die
Entf-Taste.
2. Sie werden gefragt, ob Sie mit dem Löschen fortfahren wollen.
3. Klicken Sie auf OK, um die inkludierte Datei aus dem Projekt zu löschen.
So löschen oder entfernen Sie ein Projekt aus dem Dialogfeld "Unterprojekt
inkludieren":
Löschen oder entfernen Sie die .ump-Datei (MyModel.ump) aus dem entsprechenden
Ordner.
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Zusammenführen von UModel-Projekten
153
6.12 Zusammenführen von UModel-Projekten
UModel unterstützt nun 2-Weg- und 3-Weg-Projektzusammenführungen. In beiden Fällen werden
unterschiedliche UModel-Projektdateien zu einem gemeinsamen UModel *.ump Modell
zusammengeführt.
Dies ist hilfreich, wenn mehrere Personen gleichzeitig am selben Projekt arbeiten oder wenn Sie
Ihre Arbeit einfach in einem einzigen Modell zusammenführen möchten.
Nähere Informationen dazu finden Sie unter:
2-Weg-Projektzusammenführung
3-Weg-Projektzusammenführung
© 2016 Altova GmbH
Altova UModel 2017
154
Projekte und Code Engineering
Zusammenführen von UModel-Projekten
6.12.1 2-Weg-Projektzusammenführung
So führen Sie zwei UML-Projekte zusammen:
1. Öffnen Sie die UML-Datei, in die das zweite Modell überführt werden soll.
2. Wählen Sie die Menüoption Projekt | Projekt zusammenführen....
3. Wählen Sie das zweite UML-Projekt aus, also das Projekt, das in die erste Datei
überführt werden soll.
Im Meldungsfenster sehen Sie Meldungen über den Ablauf der Zusammenführung und die
relevanten Einzelheiten werden protokolliert.
Bitte beachten Sie:
Wenn Sie auf einen der Einträge im Meldungsfenster klicken, wird das entsprechende
Modellierungselement in der Modell-Struktur angezeigt.
Ergebnisse der Zusammenführung:
Neue Modellierungselemente, d.h. Elemente, die in der Quelle nicht vorhanden sind,
werden zum Projekt hinzugefügt.
Unterschiede in denselben Modellierungselementen; die Elemente aus dem zweiten
Modell haben Vorrang. So kann es z.B. nur einen Standardwert für ein Attribut geben. Es
wird der Standardwert aus der zweiten Datei verwendet.
Diagrammunterschiede: UModel überprüft zuerst, ob es Unterschiede zwischen den
Diagrammen der beiden Modelle gibt.
Wenn ja, so wird das neue/unterschiedliche Diagramm zum Modell hinzugefügt (und eine
fortlaufende Nummerierung wird an den Namen des Diagramms angehängt, z.B: activity1
usw.) und das ursprüngliche Diagramm wird beibehalten.
Falls keine Unterschiede vorhanden sind, werden identische Diagramme ignoriert und es
werden keine Änderungen vorgenommen.
Sie können anschließend entscheiden, welches der Diagramme Sie beibehalten oder
löschen möchten. Natürlich können Sie auch beide Diagramme beibehalten, wenn Sie
möchten.
Die gesamte Zusammenführung kann Schritt für Schritt rückgängig gemacht werden.
Klicken Sie dazu in der Symbolleiste auf das Symbol "Rückgängig" oder drücken Sie
Strg + Z.
Wenn Sie im Meldungsfenster auf einen Eintrag klicken, wird das entsprechende Element
in der Modell-Struktur angezeigt.
Der Dateiname der zusammengeführten Datei, also der ersten Datei, die Sie geöffnet
haben, wird beibehalten!
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Zusammenführen von UModel-Projekten
155
6.12.2 3-Weg-Projektzusammenführung
UModel unterstützt nun die Zusammenführung mehrerer UModel-Projekte, die gleichzeitig von
mehreren Entwicklern bearbeitet wurden, in einer 3-Weg-Projektzusammenführung.
Projektzusammenführung
Die 3-Weg-Projektzusammenführung funktioniert bei UModel-Projekten der obersten Ebene, d.h.
Projekten die auch Unterprojekte enthalten können. Nicht unterstützt wird die Zusammenführung
einzelner Dateien, wenn diese Dateien nicht aufgelöste Referenzen auf andere Dateien enthalten.
Bei der Zusammenführung von Hauptprojekten werden auch alle editierbaren Unterprojekte
automatisch zusammengeführt. Die Unterprojekte müssen nicht separat zusammengeführt
werden.
Ein einfaches Beispiel finden Sie unter Beispiel einer manuellen 3-Weg-Projektzusammenführung.
Die gesamte Projektzusammenführung kann durch Klicken auf die "Rückgängig"Schaltfläche in der Symbolleiste oder Drücken von Strg+Z Schritt für Schritt rückgängig
gemacht werden.
Wenn Sie im Fenster "Meldungen" auf einen Eintrag klicken, wird dieses Element in der
Modell-Struktur angezeigt.
Der Dateiname der zusammengeführten Datei, also der ersten Datei, die Sie geöffnet
haben, wird beibehalten.
Ergebnisse der Zusammenführung:
Anmerkung: Mit Quelle wird im Folgenden die Anfangsprojektdatei bezeichnet, also die Datei, die
Sie geöffnet haben, bevor Sie mit der Zusammenführung begonnen haben.
Neue Modellierungselemente in der zweiten Datei, also Elemente, die in der Quelle nicht
vorhanden sind, werden zum zusammengeführten Modell hinzugefügt.
Neue Modellierungselemente in der Quelldatei, also Elemente, die in der zweiten Datei
nicht vorhanden sind, bleiben im zusammengeführten Modell erhalten.
Gelöschte Modellierungselemente aus der zweiten Datei, also Elemente, die in der
Quelle noch immer vorhanden sind, werden aus dem zusammengeführten Modell entfernt.
Gelöschte Modellierungselemente aus der Quelldatei, also Elemente, die in der zweiten
Datei noch vorhanden sind, bleiben im zusammengeführten Modell gelöscht.
Unterschiede im selben Modellierungselement:
Wenn eine Eigenschaft (z.B. die Sichtbarkeit einer Klasse) in der Quelldatei oder der
zweiten Datei geändert wurde, so wird im zusammengeführten Modell der aktualisierte
Wert verwendet
Wenn eine Eigenschaft (z.B. die Sichtbarkeit einer Klasse) sowohl in der Quelle als
auch in der zweiten Datei geändert wurde, so wird der Wert aus der zweiten Datei
verwendet (und im Meldungsfenster unterhalb wird eine Warnmeldung angezeigt)
Verschobene Elemente:
Wenn ein Element in der Quelle oder der zweiten Datei verschoben wurde, so wird das
Element im zusammengeführten Modell ebenfalls verschoben
Wenn ein Element sowohl in der Quelle als auch in der zweiten Datei (in
© 2016 Altova GmbH
Altova UModel 2017
156
Projekte und Code Engineering
Zusammenführen von UModel-Projekten
unterschiedliche Parent-Elemente) verschoben wird, so erscheint eine Meldung, in der
Sie aufgefordert werden, das Parent-Element im zusammengeführten Modell manuell
auszuwählen.
Diagrammunterschiede:
UModel überprüft zuerst, ob zwischen den Diagrammen der beiden Modelle Unterschiede
bestehen.
Falls dies der Fall ist, so wird das neue/geänderte Diagramm zum zusammengeführten
Modell (mit einer fortlaufenden Nummer, wie activity1 usw.) hinzugefügt und das Original
wird beibehalten.
Wenn es keine Unterschiede gibt, so werden identische Diagramme ignoriert, d.h. es gibt
keine Änderungen.
Sie können später entscheiden, welches der Diagramme beibehalten oder gelöscht
werden soll. Natürlich können Sie auch beide Diagramme beibehalten.
Versionskontrollunterstützung für 3-Weg-Zusammenführungen
Beim Ein-/Auschecken von Projektdateien generiert UModel automatisch "gemeinsame
Vorgängerdateien" (oder Schnappschussdateien), anhand derer anschließend die 3-WegProjektzusammenführung durchgeführt wird. Dies ermöglicht viel genauere
Zusammenführungsresultate als die normale 2-Weg-Zusammenführung.
Es hängt vom jeweiligen Versionskontrollsystem, das Sie verwenden, ab, ob UModel die
automatische 3-Weg-Zusammenführung über die Schnappschussdatei unterstützt. Eine manuelle
3-Weg-Zusammenführung ist jedoch immer möglich.
Versionskontrollsysteme, die die Dateizusammenführung durchführen, ohne dass der
Benutzer darauf Einfluss nehmen kann, werden eine automatische 3-WegZusammenführung wahrscheinlich nicht unterstützen.
Versionskontrollsysteme, in denen Sie bei einem geänderten Projekt zwischen Ersetzen
und Zusammenführen wählen können, unterstützen eine 3-Weg-Zusammenführung im
Allgemeinen. Nachdem das Versionskontroll-Plugin die Datei ersetzt hat, wird bei
Auswahl des Befehls "Ersetzen" eine UModel-Dateiwarnung aktiviert, die Ihnen dann
gestattet, eine 3-Weg-Zusammenführung durchzuführen. Das Ein- und Auschecken muss
über UModel erfolgen.
Haupt- und Unterprojekte können unter Versionskontrolle gestellt werden. Wenn Daten in
einem Unterprojekt geändert wurden, werden Sie automatisch gefragt, ob das/die
Unterprojekte ausgecheckt werden sollen.
Bei jedem Ein-/Auscheckvorgang wird eine gemeinsame Vorgänger- oder
Schnappschussdatei erstellt, die dann für die 3-Weg-Projektzusammenführung verwendet
wird.
Bitte beachten Sie:
Schnappschussdateien werden nur mit den Standalone-Versionen von UModel
automatisch erstellt und verwendet, d.h. diese Funktionen stehen in der Eclipse- und der
Visual Studio-Plugin-Version nicht zur Verfügung.
Beispiel
Benutzer A bearbeitet eine UModel-Projektdatei und ändert den Namen einer Klasse im
BankView-Hauptdiagramm. Benutzer B öffnet dieselbe Projektdatei und ändert die Sichtbarkeit
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Zusammenführen von UModel-Projekten
157
derselben Klasse.
Anhand der Schnappschussdateien, die für die einzelnen Benutzer erstellt wurden, wird ein
Bearbeitungsverlauf erstellt, der eine Zusammenführung der einzelnen Änderungen im Projekt
ermöglicht. Sowohl die Änderungen am Namen als auch an der Sichtbarkeit werden bei der 3Weg-Zusammenführung in der Projektdatei zusammengeführt.
© 2016 Altova GmbH
Altova UModel 2017
158
Projekte und Code Engineering
Zusammenführen von UModel-Projekten
6.12.3 Beispiel: Manuelle 3-Weg-Projektzusammenführung
In diesem einfachen Beispiel wird die Datei Bank_CSharp.ump aus dem Ordner ...
\UModelExamples verwendet. Zwei weitere Instanzen desselben Projekts werden in
untergeordnete Verzeichnisse unterhalb des Verzeichnisses UModelExamples kopiert, also.
\C#_1 und \C#_2.
User1 öffnet die Projektdatei Bank_CSharp.ump im Ordner C#_1 und nimmt die Änderungen an
der BankView Klasse vor.
Änderungen an der BankView-Klasse:
1. Die Operation CollectAccountInfos():bool wird aus der BankView-Klasse gelöscht.
2. Die Sichtbarkeit (visibility) der Operation CollectBankAddressInfos():bool wird von
"protected" in "public" geändert.
3. Anschließend wird das Projekt gespeichert.
User2 öffnet die Projektdatei Bank_CSharp.ump im Ordner C#_2 und nimmt Änderungen an der
Bank-Klasse vor.
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Zusammenführen von UModel-Projekten
159
Änderungen an der Bank-Klasse:
1. Die Operationen CollectAccountInfos... und GetBalanceOfAccounts... werden beiden
von "public" in "protected" geändert.
2. Anschließend wird das Projekt gespeichert.
User2 startet nun eine 3-Weg-Projektzusammenführung:
1. Wählen Sie Projekt | Projekt zusammenführen (3-Weg).
Daraufhin wird das Dialogfeld "Datei öffnen" angezeigt.
2. Wählen Sie die von User1 geänderte Projektdatei im Ordner ...\C#_1 aus.
© 2016 Altova GmbH
Altova UModel 2017
160
Projekte und Code Engineering
Zusammenführen von UModel-Projekten
Sie werden nun aufgefordert, die gemeinsame Vorgängerdatei zu öffnen. Dabei handelt
es sich um die Originalprojektdatei im Ordner ...\UModelExamples.
Die 3-Weg-Zusammenführung wird gestartet und sie kehren zur Projektdatei, von der aus
Sie die 3-Weg-Zusammenführung gestartet haben, also zur Projektdatei im Ordner C#_2,
zurück.
Im Fenster "Meldungen" wird die Zusammenführung im Detail angezeigt.
Die am Projekt im Ordner C#_1 vorgenommenen Änderungen werden in der Projektdatei
C#_2 repliziert.
Die am Projekt im Ordner C#_2 vorgenommenen Änderungen werden in der Projektdatei
beibehalten.
Bei 3-Weg-Zusammenführungen zwischen den Projektdateien in den Ordnern C#_1 und
C#_2 sollte nun in Zukunft die Projektdatei im Ordner C#_2 sollte als gemeinsame
Vorgängerdatei verwendet werden.
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Freigeben von Paketen und Diagrammen
161
6.13 Freigeben von Paketen und Diagrammen
UModel gestattet Ihnen, Pakete und eventuell darin enthaltene UML-Diagramme freizugeben und
in mehreren Projekten zu verwenden. Pakete können mittels Referenz oder in Form einer Kopie in
andere UModel-Projekte inkludiert werden.
Beachten Sie bitte außerdem, dass Unterprojektdateien jederzeit von einem Haupt- oder
Unterprojekt abgeteilt werden können. Die Unterprojektdateien können vom Hauptprojekt aus als
editierbare oder als schreibgeschützte Projekte inkludiert werden; die einzelnen Pakete werden
freigegeben und als Unterprojektdatei gespeichert und können zu einem Versionskontrollsystem
hinzugefügt werden. Nähere Informationen dazu finden Sie unter Unterstützung für die Arbeit im
Team an UModel-Projekten.
Voraussetzungen für freigegebene Pakete:
Objektbeziehungen zu anderen Paketen außerhalb des freigegebenen Bereichs sind nicht
zulässig.
Anmerkung:
Wenn Sie UModel-Projektdateien erstellen, verwenden Sie nicht eine einzige Projektdatei
als "Vorlage/Kopie" für eine andere Projektdatei, in der Sie ein Paket freigeben möchten.
Dies kann zu Konflikten führen, da jedes Element global nur einmal vorhanden sein sollte
(siehe uuid). Dies wäre dann nicht der Fall, da zwei Projekte dann Elemente mit
identischen uuids hätten.
So verwenden Sie ein Paket in mehreren Projekten:
1. Rechtsklicken Sie auf dem Register "Modell-Struktur" auf ein Paket und wählen Sie
Unterprojekt | Paket freigeben.
In der Modell-Struktur wird unterhalb des freigegebenen Pakets ein "freigegeben"-Symbol
angezeigt. Dieses Paket kann nun in jedes beliebige andere UModel-Projekt inkludiert
werden.
So inkludieren/importieren Sie einen freigegebenen Ordner in ein Projekt:
1. Öffnen Sie das Projekt, das das freigegebene Paket enthalten soll (in diesem Beispiel ein
leeres Projekt).
2. Wählen Sie den Menüeintrag Projekt | Unterprojekt inkludieren...
3. Klicken Sie auf die Durchsuchen-Schaltfläche, wählen Sie das Projekt, das das
freigegebene Paket enthält, aus und klicken Sie auf "Öffnen".
© 2016 Altova GmbH
Altova UModel 2017
162
Projekte und Code Engineering
Freigeben von Paketen und Diagrammen
Im Dialogfeld "Inkludieren" können Sie das Paket/Projekt in Form einer Referenz oder als
Kopie inkludieren.
4. Wählen Sie die gewünschte Option ("Durch Referenz") und klicken Sie auf OK.
Im neuen Paket ist nun das Paket "Deployment View" zu sehen. Das Quellprojekt des
Pakets wird in Klammern angezeigt (BankView-start.ump).
Freigegebene Ordner, die in Form einer Referenz inkludiert wurden, können jederzeit
durch Auswahl von Unterprojekt | Als Kopie inkludieren in "als Kopie" geändert
werden.
Bitte beachten Sie:
Alle inkludierten Projekte des Quellprojekts wurden ebenfalls inkludiert: Java Lang,
Unknown Externals und Java Profile.
Freigegebene Pakete - Objektbeziehungen zu externen Elementen:
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Freigeben von Paketen und Diagrammen
163
Wenn Sie versuchen, ein Paket freizugeben, das Objektbeziehungen zu externen Elementen
enthält, erscheint eine entsprechende Meldung, z.B. dass Sie versuchen, das Paket "BankView"
freizugeben.
Wenn Sie auf "Ja" klicken, werden die externen Objektbeziehungen aufgelöst, bevor Sie das
Projekt speichern können.
Im Meldungsfenster werden Informationen zu den einzelnen externen Objektbeziehungen
angezeigt.
Wenn Sie im Meldungsfenster auf eine Fehlermeldung klicken, wird das entsprechende Element
auf dem Register "Modell-Struktur" angezeigt.
© 2016 Altova GmbH
Altova UModel 2017
164
Projekte und Code Engineering
Altova UModel 2017
Freigeben von Paketen und Diagrammen
© 2016 Altova GmbH
Projekte und Code Engineering
UML-Vorlagen
165
6.14 UML-Vorlagen
UModel unterstützt die Verwendung von UML-Vorlagen (Templates) und das Mappen dieser
Vorlagen auf oder von Java-, C#- und Visual Basic Generics.
Vorlagen (Templates) sind "potentielle" Modellelemente mit nicht gebundenen formalen
Parametern.
Diese parametrisierten Modellelemente beschreiben eine Gruppe von Modellelementen
eines bestimmten Typs: Classifier oder Operationen.
Vorlagen können nicht direkt als Typen verwendet werden. Die Parameter müssen
gebunden sein.
Instantiieren bedeutet, die Vorlagenparameter an aktuelle Werte zu binden.
Aktuelle Werte für Parameter sind Ausdrücke.
Durch die Bindung zwischen einer Vorlage und einem Modellelement wird ein neues
Modellelement (ein gebundenes Element) auf Basis der Vorlage erzeugt.
Bei Vorhandensein mehrerer einschränkender Classifier in C# können die
Vorlagenparameter direkt auf dem Register "Eigenschaften" bearbeitet werden, wenn der
Vorlagenparameter ausgewählt ist.
Anzeige der Vorlagensignatur in UModel:
Klassenvorlage mit dem Namen MyVector mit dem formalen Vorlagenparameter "T", der
in einem gestrichelten Rechteck angezeigt wird.
Formale Parameter ohne Typinfo (T ) sind implizit Classifier: Class, Datatype,
Enumeration, PrimitiveType, Interface. Alle anderen Parametertypen müssen explizit
angezeigt werden z.B. Integer.
Eigenschaft myArray mit einer unbeschränkten Anzahl an Elementen vom Typ T.
Wenn Sie mit der rechten Maustaste auf die Vorlage klicken und den Eintrag Anzeigen |
Gebundene Elemente auswählen, werden die gebundenen Elemente angezeigt.
Anzeige der Vorlagenverwendung:
eine gebundene benannte Vorlage intvector
Vorlage vom Typ MyVector, wobei
der Parameter T durch int ersetzt wird
"Ersetzt durch" wird angezeigt durch - >.
Verwendung von Vorlagen in Eigenschaften/Operationen:
Eine anonyme Vorlagenverwendung:
Eigenschaft MyFloatVector vom Typ MyVector<T->float>
© 2016 Altova GmbH
Altova UModel 2017
166
Projekte und Code Engineering
UML-Vorlagen
Vorlagen können auch beim Definieren von Eigenschaften oder Operationen definiert werden. Die
Autokomplettierungsfunktion hilft Ihnen, die Syntaxvorgaben einzuhalten.
Operation1 gibt einen Vektor von floats zurück.
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
UML-Vorlagen
167
6.14.1 Vorlagensignaturen
Eine Vorlagensignatur ist ein String, der die formalen Vorlagenparameter definiert. Eine Vorlage
(Template) ist ein parametrisiertes Element, das zum Generieren neuer Modellelemente
verwendet wird, indem die formalen Parameter durch tatsächliche Parameter (Werte) ersetzt
werden bzw. daran gebunden werden.
Formaler Vorlagenparameter
T
Vorlage mit einem einzigen formalen Parameter, ohne Typenkonzept
(speichert Elemente vom Typ T)
Multiple formale Vorlagenparameter
KeyType:DateType, ValueType
Parameterersetzung
T>aBaseClass
Die Parametersubstitution muss vom Typ "aBaseClass" oder davon abgeleitet sein.
Standardwerte für Vorlagenparameter
T=aDefaultValue
Ersetzen von Classifiern
T>{contract}aBaseClass
allowsSubstitutable is true
Der Parameter muss ein Classifier sein, der an die Stelle des Classifiers gesetzt werden
kann, der durch den Classifier-Namen definiert ist.
Einschränken von Vorlagenparametern
T:Interface>anInterface
Wenn Sie Parameter auf etwas anderes als eine Klasse einschränken wollen
(Schnittstelle, Datentyp), wird die Einschränkung nach dem ":"-Zeichen angezeigt. So
wird T z.B. an eine Schnittstelle gebunden (T:Interface) die vom Typ
"anInterface" (>anInterface) sein muss.
Verwendung von Platzhalterzeichen in Vorlagensignaturen
T>vector<T->?<aBaseClass>
Der Vorlagenparameter T muss vom Typ "vector" sein, der Objekte enthält, die ein
übergeordneter Typ von aBaseClass sind.
Erweitern von Vorlagenparametern
T>Comparable<T->T>
© 2016 Altova GmbH
Altova UModel 2017
168
Projekte und Code Engineering
UML-Vorlagen
6.14.2 Vorlagenverwendung
Bei der Vorlagenverwendung werden die formalen Parameter durch tatsächliche Werte ersetzt,
d.h. die Vorlage wird instantiiert. UModel generiert in diesem Fall automatisch anonym gebundene
Klassen. Vorlagenverwendungen können wie unten gezeigt im Klassennamen-Feld definiert
werden.
Ersetzen/Binden von formalen Parametern
Vektor <T->int>
Erstellen von Vorlagenverwendungen über den Klassennamen
a_float_vector:vector<T->float>
Binden von mehreren Vorlagen gleichzeitig
Class5:vector<T->int, map<KeyType->int, ValueType<T->int>
Verwendung von Platzhalterzeichen ? als Parameter (Java 5.0)
vector<T->?>
Einschränken von Platzhalterzeichen - upper bounds (UModel Erweiterung)
vector<T->?>aBaseClass>
Einschränken von Platzhalterzeichen - lower bounds (UModel Erweiterung)
vector<T->?<aDerivedClass>
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
UML-Vorlagen
169
6.14.3 Vorlagenverwendung in Operationen und Eigenschaften
Operation, die eine gebundene Vorlage zurückgibt
Class1
Operation1():vector<T->int>
Der Parameter T ist an "int" gebunden. Operation1 gibt einen Vektor von ints zurück.
Klasse, die eine Vorlagenoperation enthält
Class1
Operation1<T>(in T):T
Verwenden von Platzhalterzeichen
Class1
Property1:vector<T->?>
Diese Klasse enthält einen generischen Vektor eines nicht spezifizierten Typs (? ist das
Platzhalterzeichen).
Typisierte Eigenschaften können als Assoziationen angezeigt werden:
Rechtsklicken Sie auf eine Eigenschaft und wählen Sie Anzeigen | PropertyX als
Assoziation oder
Ziehen Sie eine Eigenschaft auf den Diagrammhintergrund.
© 2016 Altova GmbH
Altova UModel 2017
170
Projekte und Code Engineering
Projekteinstellungen
6.15 Projekteinstellungen
Über diese Option können Sie die globale Projekteinstellungen definieren.
Wählen Sie den Menüeintrag Extras | Optionen, um Ihre lokalen Einstellungen zu definieren.
Nähere Informationen dazu finden Sie im Referenzteil unter Extras | Optionen.
Altova UModel 2017
© 2016 Altova GmbH
Projekte und Code Engineering
Verbesserung der Performance
171
6.16 Verbesserung der Performance
Da Modellierungsprojekte manchmal relativ groß werden können, gibt es Möglichkeiten, die
Performance beim Modellieren zu verbessern:
Stellen Sie sicher, dass Sie die neuesten Treiber für Ihre jeweilige Grafikkarte verwenden
(tun Sie dies, bevor Sie die folgenden Tipps befolgen)
Deaktivieren Sie die Syntaxfärbung - Register "Stile" | Syntaxfarben verwenden =
false.
Deaktivieren Sie "gradient" als Hintergrundfarbe für Diagramme, verwenden Sie eine
einheitliche Farbe. z.B: Register "Stile" | Diag. Hintergrundfarbe | Weiß.
Die automatisch aktivierte Autokomplettierung kann über Extras | Optionen |
Diagrambearbeitung und Deaktivieren des Kontrollkästchens "Automatische
Eingabehilfe aktivieren" deaktiviert werden.
© 2016 Altova GmbH
Altova UModel 2017
Kapitel 7
Erstellen von Modellbeziehungen
174
Erstellen von Modellbeziehungen
7
Erstellen von Modellbeziehungen
Modellbeziehungen können auf verschiedene Arten erstellt und in Diagramme eingefügt werden:
Mit Hilfe der Verbindungsziehpunkte. Ein Beispiel dazu finden Sie unter Use Cases.
Durch Klicken auf das entsprechende Symbol in der Symbolleiste und Ziehen der
Verbindungen zwischen den Elementen mittels Drag-and-Drop.
Assoziationssymbol
Aggregation
Komposition
Enthältbeziehung
Nachdem eine Assoziation erstellt wurde, wird automatisch ein neues Attribut in die
Ursprungsklasse (A:name) eingefügt, z.B. Property1:Class2 im unten stehenden Beispiel.
Nachdem die Assoziation erstellt wurde, ist sie aktiv und auf dem Register "Eigenschaften"
werden ihre Eigenschaften angezeigt. In einem Textlabel wird der Standardname des Member
End der Assoziation, also Property1 angezeigt. Beachten Sie: Über den Kontextmenübefehl
Textlabel... können Sie Textlabel ein- und ausblenden.
Wenn Sie auf eine Assoziationslinie klicken, werden die Eigenschaften der Assoziation auf dem
Register "Eigenschaften" angezeigt. A:Name und B:Name geben die Rolle der jeweiligen Klasse
in der anderen an.
Altova UModel 2017
© 2016 Altova GmbH
Erstellen von Modellbeziehungen
175
Je nach der Eigenschaft "memberEndKind" - (von A:name "Property1"):
gehört das Attribut entweder zur:
Klasse - d.h. A:memberEndKind = memberEnd, (Das Attribut wird in class1 angezeigt)
oder
Assoziation - d.h. B:memberEndKind = ownedEnd (Das Attribut wird in class2 nicht
angezeigt).
Wenn beide Attribute zur Assoziation gehören, d.h. wenn beide Enden als "ownedEnd"
definiert sind, wird diese Assoziation bidirektional und der Navigationspfeil verschwindet.
Beide Enden der Assoziation sind "ownedEnd".
Wenn "memberEndKind" einer der Assoziationen auf "navigableOwnedEnd gesetzt ist, ist das
Attribut weiterhin Teil der Assoziation, doch wird der Navigierbarkeitspfeil wieder angezeigt, je
nachdem an welchem Ende (A:name oder B:name) es gesetzt wurde.
So definieren Sie den Assoziationstyp (Assoziation, Aggregation oder Komposition)
1. Klicken Sie auf den Assoziationspfeil.
2. Scrollen Sie auf dem Register "Eigenschaften" hinunter zum Eintrag Aggregation.
3. Wählen Sie: none, shared oder composite.
none:
eine Standardassoziation
shared:
eine Aggregationsassoziation
composite: eine Kompositionsassoziation
Bitte beachten Sie:
Assoziationen können mit derselben Klasse als Quelle und Ziel erstellt werden. Dabei
handelt es sich um ein so genanntes "self link". Dies beschreibt die Fähigkeit eines
Objekts, bei rekursiven Aufrufen eine Nachricht an sich selbst zu senden.
Klicken Sie auf das Beziehungssymbol und ziehen Sie es anschließend vom Element an
eine andere Stelle desselben Elements. Daraufhin wird eine Objektbeziehung auf sich
selbst angezeigt.
Automatische Anzeige von Assoziationen in Diagrammen
© 2016 Altova GmbH
Altova UModel 2017
176
Erstellen von Modellbeziehungen
Beim Einfügen von Diagrammelementen in ein Diagramm können bestehende Assoziationen
zwischen Modellelementen mit Hilfe der Option "Assoziationen automatisch erstellen" von dem
Register Extras | Optionen | Bearbeiten automatisch im aktuellen Diagramm erstellt/angezeigt
werden. Dies geschieht, wenn der Typ des Attributs definiert ist und das referenzierte
Modellelement dieses Typs im aktuellen Diagramm vorhanden ist.
Löschen von Beziehungen/Assoziationen:
1. Klicken Sie auf dem Diagrammregister oder in der Modell-Struktur auf die Beziehung.
2. Drücken Sie die Entf-Taste.
Die Abhängigkeit wird aus dem Diagramm und dem Projekt gelöscht.
Löschen von Klassenassoziationen:
Beim Löschen einer Klassenassoziation wird das/die automatisch generierte Attribut/
Eigenschaft nicht aus der Klasse gelöscht!
1. Rechtsklicken Sie in der Klasse auf das Attribut/die Eigenschaft.
2. Wählen Sie die Option "PropertyX von ClassX löschen" um sie zu löschen.
Erstellen von Assoziationsqualifiern:
1. Nachdem Sie eine Assoziation zwischen zwei Klassen definiert haben
2. Rechtsklicken Sie auf die Linie der Assoziation und wählen Sie den Befehl Neu |
Qualifier.
Beachten Sie bitte: Qualifier sind Attribute einer Assoziation.
Erstellen einer Enthältbeziehungsassoziation:
Mit Hilfe einer Enthältbeziehungsassoziation werden Beziehungen zwischen über- und
untergeordneten Elementen dargestellt.
1. Klicken Sie in der Titelleiste auf die Schaltfläche "Enthältbeziehung"
.
2. Ziehen Sie die Linie mit der Maus von der Klasse, die enthalten sein soll, auf die
enthaltende Klasse.
Beachten Sie, dass die enthaltene Klasse - in diesen Fall Class 2 - jetzt in einem
Bereich von Class1 zu sehen ist. Dadurch wird die enthaltene Klasse im Allgemeinen in
denselben Namespace platziert wie die enthaltende Klasse.
Altova UModel 2017
© 2016 Altova GmbH
Erstellen von Modellbeziehungen
7.1
Anzeigen von Modellbeziehungen
177
Anzeigen von Modellbeziehungen
Anzeigen von Beziehungen zwischen Modellelementen:
1. Rechtsklicken Sie auf das entsprechende Element und wählen Sie den Befehl Anzeigen.
Das unten gezeigte Popup-Menü ist kontextspezifisch, d.h. es stehen nur die Optionen
zur Verfügung, die für das jeweilige Element relevant sind.
So zeigen Sie Textlabels an bzw. blenden sie aus:
Klicken Sie mit der rechten Maustaste auf eine Klasse oder einen Assoziationspfeil und
wählen Sie den Befehl Textlabels anzeigen | Alle Textlabels anzeigen
(ausblenden).
So zeigen Sie ein Klassenattribut/eine Klasseneigenschaft als Assoziation an:
1. Rechtsklicken Sie auf die Eigenschaft in der Klasse.
© 2016 Altova GmbH
Altova UModel 2017
178
Erstellen von Modellbeziehungen
Anzeigen von Modellbeziehungen
2. Wählen Sie die Menüoption Anzeigen | "EigenschaftXX" als Assoziation.
Daraufhin wird die referenzierte Klasse eingefügt/geöffnet und die jeweilige Assoziation
wird angezeigt.
Altova UModel 2017
© 2016 Altova GmbH
Erstellen von Modellbeziehungen
7.2
Assoziationen, Realisierungen und Abhängigkeiten
179
Assoziationen, Realisierungen und Abhängigkeiten
Erstellen von Beziehungen mit Hilfe von Verbindungsziehpunkten:
1. Angenommen, Sie haben zwei Klassen in einem Klassendiagramm,
2. Klicken Sie auf die erste Klasse, um sie zur aktiven zu machen.
Daraufhin werden an drei Seiten Verbindungsziehpunkte angezeigt.
3. Platzieren Sie den Mauszeiger über den oberen Ziehpunkt am rechten Rand der Klasse.
Daraufhin wird ein Tooltip mit Informationen über die Art der Beziehung, die mit diesem
Ziehpunkt erstellt wird, angezeigt - in diesem Fall "Assoziation".
4. Ziehen Sie, um eine Verbindungslinie zu erstellen, die Linie auf die zweite Klasse. Die
Zielklasse erscheint markiert, wenn diese Art von Assoziation zulässig ist.
Zwischen diesen beiden Klassen besteht nun eine Assoziation.
Beachten Sie, dass mit dem unteren Ziehpunkt des Klassenelements eine CollectionAssoziation erstellt wird.
Für die Elemente in den verschiedenen Modelldiagrammen stehen verschiedene
Verbindungsziehpunkte zur Verfügung.
So stehen z.B. bei einer Klasse in einem Klassendiagramm Ziehpunkte für die folgenden
Beziehungen zur Verfügung (im Uhrzeigersinn):
Schnittstellenrealisierung
Generalisierung
Assoziation
Ein Artefakt in der Deployment-Ansicht hat die folgenden Ziehpunkte:
Manifestation
Assoziation
Verteilung
Erstellen von Beziehungen mit Hilfe der Symbole der Symbolleiste:
Angenommen, Sie haben zwei Elemente in einem Modellierungsdiagramm,
1. Klicken Sie auf das Symbol, das die Beziehung darstellt, die Sie erzeugen möchten, z.B.
Assoziation, Aggregation, oder Komposition.
2. Ziehen Sie es von einem Objekt auf das andere und lassen Sie die Maustaste los, wenn
das Zielelement markiert erscheint.
© 2016 Altova GmbH
Altova UModel 2017
180
Erstellen von Modellbeziehungen
Assoziationen, Realisierungen und Abhängigkeiten
Beim Erstellen einer neuen Assoziation wird in die Ursprungsklasse (A:name)
automatisch ein neues Attribut eingefügt (Property1:Class2) - siehe Beispiel unten.
In UModel werden immer alle Attribute einer Klasse angezeigt!
Bitte beachten Sie:
In den Abbildungen in diesem Handbuch wird die Assoziation Ownership dot nicht
gezeigt.
Um diese zu aktivieren, setzen Sie Show Assoc. Ownership auf dem Register "Stile"
auf "true".
Löschen von Beziehungen/Assoziationen:
1. Klicken Sie auf dem Diagrammregister oder in der Modell-Struktur auf die Beziehung.
2. Drücken Sie die Entf-Taste.
Die Abhängigkeit wird aus dem Diagramm und dem Projekt gelöscht.
Löschen von Klassenassoziationen:
Beim Löschen einer Klassenassoziation wird das/die automatisch generierte Attribut/
Eigenschaft nicht aus der Klasse gelöscht!
1. Rechtsklicken Sie in der Klasse auf das Attribut/die Eigenschaft.
2. Wählen Sie die Option "PropertyX von ClassX löschen", um das Attribut/die Eigenschaft
zu löschen.
Collection-Assoziationen
In UModel gibt es eine spezielle Art, Collection-Assoziationen anzuzeigen.
Collection-Assoziationen sind spezielle Assoziationen für Collection-Vorlagen. Eine
Klasseneigenschaft (z.B. Schnittstelle) kann im Allgemeinen als Assoziation zum "Typ" der
Eigenschaft angezeigt werden. UModel bietet zusätzlich dazu eine alternative Methode, um diese
Art von Assoziation anzuzeigen.
Klicken Sie auf den unteren der beiden Klassenziehpunkte auf der rechten Seite der Klasse und
ziehen Sie den Konnektor anschließend auf die Zielklasse.
Altova UModel 2017
© 2016 Altova GmbH
Erstellen von Modellbeziehungen
Assoziationen, Realisierungen und Abhängigkeiten
181
Wählen Sie den Collection-Typ im Popup-Menü aus.
Es wird eine andere Art von Assoziationspfeil erstellt.
Beispiel:
Wenn Assoziationen automatisch während des Reverse Engineering erstellt werden, sehen Sie
sie als Collection-Assoziationen, wenn die Einstellungen auf dem Register zur
Diagrammbearbeitung auf "Collections auflösen" gesetzt wurden und auch im Dialogfeld
"Collection-Vorlagen" zur Verfügung stehen.
Der Doppelpfeil zeigt an, dass der "Typ" von myColors nicht nur Color sondern eine "Collection
von" Colors ist.
Die Assoziation wird nicht als List<E->Color> angezeigt, sondern verweist direkt auf die
Enumeration "Color", wodurch die Information, dass Color in einem Template Binding verwendet
wird, nicht sichtbar ist.
Der konkrete Collection-Typ von "myColors" wird immer noch im myColorsContainer, nicht aber in
der Assoziation angezeigt.
Über das Register "Diagrammbearbeitung" des Dialogfelds Extras | Optionen können Sie die
Vorlagen definieren, in denen dieses Verhalten angewendet werden soll und ob die Collections
aufgelöst werden sollen.
© 2016 Altova GmbH
Altova UModel 2017
Kapitel 8
Generieren von UML-Dokumentation
184
Generieren von UML-Dokumentation
8
Generieren von UML-Dokumentation
Altova Website:
UML-Projektdokumentation
Mit dem Befehl Dokumentation generieren wird detaillierte Dokumentation zu Ihrem UMLProjekt in den Formaten HTML, MS Word, RTF oder PDF generiert. Mit diesem Befehl generierte
Dokumentation kann beliebig geändert und verwendet werden; Sie benötigen dazu keine
Genehmigung von Altova.
Die Dokumentation wird für die Modellierungselemente generiert, die Sie im Dialogfeld
"Dokumentation generieren" ausgewählt haben. Sie können entweder das vordefinierte Design
verwenden oder ein StyleVision SPS für das Design verwenden. Bei Verwendung eines
StyleVision SPS können Sie die Ausgabe der generierten Dokumentation anpassen. Eine
Anleitung dazu finden Sie im Abschnitt Benutzerdefinierte Stylesheets.
Anmerkung: Bei Generierung von Dokumentation mit Hilfe eines SPS müssen Sie StyleVision
auf Ihrem Rechner installiert haben. Miteinander in Beziehung stehende Elemente sind in
der Bildschirmausgabe normalerweise durch einen Link verbunden, um die Navigation von
einer Komponente zur anderen zu erleichtern.
Um Dokumentation im Format MS Word zu generieren, muss MS Word (Version 2000
oder höher) installiert sein.
Wenn Sie ein UML-Projekt, z.B. Bank_Multilanguage.ump geöffnet haben:
1. Wählen Sie die Menüoption Projekt | Dokumentation generieren.
Daraufhin wird das Dialogfeld "Dokumentation generieren" geöffnet. In der Abbildung unten
sehen Sie die Standardeinstellungen des Dialogfelds.
Altova UModel 2017
© 2016 Altova GmbH
Generieren von UML-Dokumentation
185
Beachten Sie: Sie können auch einzelne Teile eines Projekts dokumentieren. Rechtsklicken
Sie dazu in der Modellstruktur auf ein Element (bzw. mit Strg + Klick auf mehrere Elemente) und
wählen Sie den Befehl "Dokumentation generieren". Beim Element kann es sich um einen Ordner,
eine Klasse, eine Schnittstelle usw. handeln. Die Dokumentationsoptionen sind in beiden Fällen
dieselben.
Miteinander in Beziehung stehende Elemente werden in der Ausgabe auf dem Bildschirm durch
Hyperlinks miteinander verbunden, sodass Sie von Komponente zu Komponente navigieren
können. In der Dokumentation sind auch alle manuell erstellten Hyperlinks enthalten.
Beachten Sie außerdem, dass Dokumentation auch für inkludierte C#-, Java- und/oder VBUnterprojekte (Profile) generiert wird, wenn diese Optionen auf dem Register "Inkludieren"
ausgewählt ist.
Register "Hauptbereich":
Dokumentationserstellung
Wählen Sie die Option "Festgelegtes Design ...verwenden" um die vordefinierte
Dokumentationsvorlage zu verwenden.
Wählen Sie die Option "Für ein benutzerdefiniertes Design..." um ein vordefiniertes, in
StyleVision erstelltes StyleVision Power Stylesheet zu verwenden. Die SPS-Dateien
finden Sie im Ordner ...\My Documents\Altova\UModel2017\Documentation\UModel\
.
Klicken Sie auf Durchsuchen um zu einer vordefinierten SPS-Datei zu navigieren.
Klicken Sie auf Bearbeiten, um StyleVision zu starten und das ausgewählte SPS in
einem StyleVision-Fenster zu öffnen.
Ausgabeformat:
Hier wird das Ausgabeformat definiert: entweder HTML, Microsoft Word, RTF oder PDF.
Microsoft Word-Dokumente werden mit der Dateierweiterung .doc angelegt, wenn sie
anhand eines festgelegten Designs erstellt werden, und mit der Dateierweiterung .docx,
wenn sie anhand eines StyleVision SPS generiert werden.
Das Ausgabeformat PDF steht nur zur Verfügung, wenn Sie die Dokumentation anhand
eines StyleVision SPS generieren.
Mit der Option Ausgabe auf mehrere Dateien aufteilen wird für jedes
Modellierungselement, das bei Generierung einer einzigen Ausgabedatei in der
Inhaltsverzeichnisübersicht zu sehen ist, eine Ausgabedatei erstellt. Z.B. gibt es eine
Klasse C1 mit einer geschachtelten Klasse CNest; C1.html enthält alle Informationen zu
C1 und CNest sowie alle ihre Attribute und Eigenschaften usw.
Mit der Option CSS in HTML einbetten können Sie eine vorhandene (referenzierte) CSSDatei in die HTML-Dokumentation einbetten. Wenn Sie die Option deaktivieren, wird die
Referenz zur CSS-Datei beibehalten und die Datei selbst bleibt extern.
Die Option Diagramme einbetten ist für die Ausgabeoptionen MS Word und RTF
aktiviert. Wenn diese Option ausgewählt ist, werden Diagramm in die generierte Datei
eingebettet. Diagramme werden als PNG-Dateien (für HTML) oder PNG/EMF-Dateien (für
MS Word und RTF) erstellt und über Objektlinks in der Ergebnisdatei angezeigt.
© 2016 Altova GmbH
Altova UModel 2017
186
Generieren von UML-Dokumentation
Mit der Option Ordner für Diagramme erstellen wird unterhalb des ausgewählten
Ausgabeordners ein Unterordner erstellt, der bei Ausgabe der Dokumentation alle
Diagramme enthält.
´
Die Option Ergebnisdatei...anzeigen ist für alle Ausgabeoptionen aktiviert. Wenn die
Option aktiv ist, werden die Ergebnisdateien in der Browser-Ansicht (HTML-Ausgabe), MS
Word (MS Word-Ausgabe) und der Standardapplikation für .rtf-Dateien (RTF-Ausgabe)
angezeigt.
Über die Option Links zu lokalen Dateien generieren können Sie festlegen, ob die
generierten Links absolute oder relative Links zur Ausgabedatei sein sollen.
Register "Inkludieren"
Auf dem Register Inkludieren können Sie auswählen, welche Diagramme und
Modellierungselemente in der Dokumentation aufscheinen sollen.
Beachten Sie, dass die Dokumentation von Unterprojekten durch Auswahl des Kontrollkästchens
"Inkludierte Unterprojekte" deaktiviert werden kann.
Register "Details"
Auf dem Register Details können Sie die Elementdetails auswählen, die in der Dokumentation
aufscheinen sollen.
Wenn Sie den Text von XML-Tags in Ihre Dokumentation importieren möchten,
deaktivieren Sie bitte unter der Dokumentationsoption die Option "als HTML".
In den Feldern "Nach oben" / "Nach unten" können Sie die Verschachtelungstiefe
festlegen, die im Hierarchiediagramm oberhalb / unterhalb der aktuellen Klasse angezeigt
werden soll.
Mit der Option "Jedes Element nur einmal erweitern" wird nur immer jeweils ein Classifier
Altova UModel 2017
© 2016 Altova GmbH
Generieren von UML-Dokumentation
187
im selben Bild/Diagramm erweitert.
Register "Schriftarten"
Auf dem Register "Schriftarten" können Sie die Schriftarteinstellungen für die verschiedenen
Überschriften und Textinhalte anpassen.
© 2016 Altova GmbH
Altova UModel 2017
188
Generieren von UML-Dokumentation
In den folgenden Abbildungen sehen Sie die mit dem festgelegten Design generierte
Dokumentation für die Datei Bank_MultiLanguage.ump aus dem Verzeichnis ...
\UModelExamples.
In der Abbildung oben sehen Sie die generierte Dokumentation mit den Diagramm- und
Elementindexlinks in oberen Bereich der HTML-Datei.
Altova UModel 2017
© 2016 Altova GmbH
Generieren von UML-Dokumentation
189
In der Abbildung unten sehen Sie die näheren Informationen zur Klasse "Account" sowie ihre
Beziehung zu anderen Klassen.
Beachten Sie, dass die einzelnen Attribute und Eigenschaften in den Klassendiagrammen
ebenfalls mittels Hyperlinks mit ihren Definitionen verknüpft sind. Wenn Sie auf eine Eigenschaft
klicken, gelangen Sie zu ihrer Definition. Die einzelnen Hierarchieklassen sowie der gesamte
unterstrichene Text sind durch Hyperlinks verbunden.
© 2016 Altova GmbH
Altova UModel 2017
190
Generieren von UML-Dokumentation
8.1
Vordefiniertes SPS-Stylesheet
Vordefiniertes SPS-Stylesheet
So generieren Sie Dokumentation auf Basis der vordefinierten SPS-Datei:
1. Wählen Sie die Menüoption Projekt | Dokumentation generieren.
2. Aktivieren Sie das Optionsfeld "Für ein benutzerdefiniertes Design...".
3. Wählen Sie im Dialogfeld "Dokumentation generieren" das Stylesheet
UModelDocumentation.sps aus.
Sie werden nun aufgefordert, die Datei zu speichern.
4. Geben Sie den Dateinamen ein und wählen Sie den gewünschten Speicherpfad aus.
Wenn Sie in der generierten Dokumentation auf einen Link klicken, gelangen Sie zum
entsprechenden Modellierungselement im Browser.
Altova UModel 2017
© 2016 Altova GmbH
Generieren von UML-Dokumentation
8.2
Benutzerdefinierte Stylesheets
191
Benutzerdefinierte Stylesheets
Anstatt das festgelegte Design zu verwenden, können Sie auch ein benutzerdefiniertes Design für
die UModel-Dokumentation erstellen. Das benutzerdefinierte Design wird in einem StyleVision
SPS erstellt. Beachten Sie, dass das vordefinierte SPS Stylesheet bereits im Lieferumfang von
UModel inkludiert ist.
Definition des SPS für die Verwendung für die UModel-Dokumentation
Das SPS, das für die Generierung der Dokumentation verwendet werden soll, wird im Dialogfeld
"Dokumentation generieren" (Aufruf mit dem Befehl Projekt | Dokumentation generieren)
definiert. Aktivieren Sie das Optionsfeld "Benutzerdefiniertes Design verwenden...".
Standardmäßig ist UModelDocumentation.sps ausgewählt.
Die vordefinierte SPS-Datei befindet sich im Ordner ...\Documentation\UModel.
Bitte beachten Sie:
Damit Sie ein SPS für die Dokumentationsgenerierung verwenden können, muss
StyleVision auf Ihrem Rechner installiert sein.
Erstellung des SPS
Ein StyleVision Power Stylesheet (oder SPS) wird mit dem Altova-Produkt StyleVision generiert.
Ein SPS zum Generieren von UModel-Dokumentation muss auf dem XML-Schema basieren, das
die Struktur des XML-Dokuments definiert, das die UModel-Dokumentation enthält.
Dieses Schema hat den Namen UModelDocumentation.xsd und ist in Ihrem UModelInstallationspaket enthalten. Es befindet sich im Ordner ...\My Documents\Altova\UModel2017
\Documentation\UModel.
Bei Erstellung des SPS-Designs in StyleVision werden Nodes aus dem Schema
UModelDocumentation.xsd in das Design gezogen und diese Nodes erhalten Stile und
Eigenschaften zugewiesen. Beachten Sie, dass UModelDocumentation.xsd die Datei
Documentation.xsd aus dem übergeordneten Ordner enthält.
Des Weiteren können zusätzliche Komponenten wie z.B. Links und Bilder ebenfalls zum SPSDesign hinzugefügt werden. Eine Anleitung zur Erstellung eines SPS Designs in StyleVision
finden Sie im Benutzerhandbuch zu StyleVision.
Der Vorteil bei der Generierung der Dokumentation anhand eines SPS ist, dass Sie völlig freie
Hand bei der Gestaltung der Dokumentation haben. Beachten Sie außerdem, dass die PDFAusgabe der Dokumentation nur bei Verwendung eines SPS zur Verfügung steht; bei Verwendung
des festgelegten Designs steht die PDF-Ausgabe nicht zur Verfügung.
© 2016 Altova GmbH
Altova UModel 2017
Kapitel 9
UML-Diagramme
194
UML-Diagramme
9
UML-Diagramme
UML-Diagramme werden in zwei große Gruppen eingeteilt: Strukturdiagramme, in denen eine
statische Ansicht des Modells zu sehen ist, und Verhaltensdiagramme, in denen die dynamische
Ansicht dargestellt wird. UModel unterstützt alle vierzehn Diagramme der UML 2.4-Spezifikation
sowie XML-Schema- und Business Modeling Notation-Diagramme.
Zu den Verhaltensdiagrammen gehören Aktivitäts-, Zustands-, Protokoll-Zustands- und Use CaseDiagramme sowie Interaktionsdiagramme Kommunikations-, Interaktionsübersichtsdiagramme,
Sequenzdiagramme und Zeitverlaufsdiagramme.
Zu den Strukturdiagrammen gehören: Klassen-, Kompositionsstruktur-, Komponenten-,
Deployment-, Objekt- und Paketdiagramme.
Zusätzliche Diagramme: XML-Schema-Diagramme.
Bitte beachten Sie:
Mit Strg+Eingabetaste können Sie mehrzeilige Beschriftungen für die meisten
Modellierungsdiagramme erstellt werden, z.B. Lebenslinienbeschriftungen in
Sequenzdiagrammen, Zeitverlaufsdiagrammen; Guard-Bedingungen, Zustandsnamen,
Aktivitätsnamen usw.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
9.1
Verhaltensdiagramme
195
Verhaltensdiagramme
In diesen Diagrammen werden Verhaltensaspekte eines Systems oder Geschäftsvorgangs
beschrieben. Sie enthalten eine Untergruppe von Diagrammen zur Darstellung der
Wechselbeziehungen zwischen Objekten.
Verhaltensdiagramme
Aktivitätsdiagramm
Zustandsdiagramm
Protokoll-Zustandsdiagramm
Use Case-Diagramm
Eine Untergruppe der Verhaltensdiagramme bilden jene zur Darstellung von Wechselwirkungen
zwischen Objekten:
Kommunikationsdiagramm
Interaktionsübersichtsdiagramm
Sequenzdiagramm
Zeitverlaufsdiagramm
© 2016 Altova GmbH
Altova UModel 2017
196
UML-Diagramme
9.1.1
Aktivitätsdiagramm
Altova Website:
Verhaltensdiagramme
UML-Aktivitätsdiagramm
Aktivitätsdiagramme eignen sich, um reale Arbeitsabläufe von Geschäftsprozessen zu modellieren
und um anzuzeigen, welche Aktionen dabei erforderlich sind und welche Abhängigkeiten diese
haben. Im Aktivitätsdiagramm wird die Reihenfolge von Aktivitäten beschrieben. Es wird sowohl
bedingte als auch parallele Verarbeitung unterstützt. Das Aktivitätsdiagramm ist eine Variante des
Zustandsdiagramms, wobei die Zustände hier Aktivitäten sind.
Bitte beachten Sie, dass das im folgenden Abschnitt gezeigte Aktivitätsdiagramm im UModelOrdner ...\UModelExamples im Beispiel Bank_MultiLanguage.ump zur Verfügung steht.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
197
Einfügen von Aktivitätsdiagrammelementen
Verwendung der Symbolleistenschaltflächen:
1. Klicken Sie in der Aktivitätsdiagrammsymbolleiste auf das gewünschte
Aktivitätsdiagramm-Symbol.
2. Klicken Sie in das Aktivitätsdiagramm, um das Element einzufügen. Um mehrere
Elemente des ausgewählten Typs einzufügen, halten Sie die Strg-Taste gedrückt und
klicken Sie in das Diagrammfenster.
Ziehen bestehender Elemente in das Aktivitätsdiagramm:
Die meisten Elemente, die in anderen Aktivitätsdiagrammen vorkommen, können in ein
bestehendes Aktivitätsdiagramm eingefügt werden.
1. Suchen Sie das gewünschte Element auf dem Register "Modell-Struktur" (Sie können
das Element über das Suchfunktionstextfeld oder mit Hilfe von Strg + F suchen).
2. Ziehen Sie das/die Element(e) in das Aktivitätsdiagramm.
Einfügen einer Aktion (Aufrufverhalten):
1. Klicken Sie in der Symbolleiste auf das Symbol Aktion (Aufrufverhalten)
und
anschließend in das Aktivitätsdiagramm, um es einzufügen.
2. Geben Sie den Namen der Aktion ein, z.B. "Validate References" (=Referenzen
validieren) und drücken Sie zur Bestätigung die Eingabetaste.
Anmerkung: Durch Drücken von Strg+Eingabetaste können Sie einen mehrzeiligen
Namen erstellen.
Einfügen einer Aktion (Aufrufoperation) und Auswählen einer bestimmten Operation:
1. Klicken Sie in der Symbolleiste auf das Symbol "Aktion (Aufrufoperation)"
und
anschließend in das Aktivitätsdiagramm um es einzufügen.
2. Geben Sie den Namen der Aktion ein, z.B. collectAccountInfo und drücken Sie zur
Bestätigung die Eingabetaste.
3. Klicken Sie auf dem Register "Eigenschaften" auf die Durchsuchen-Schaltfläche rechts
vom Feld "Operation".
© 2016 Altova GmbH
Altova UModel 2017
198
UML-Diagramme
Verhaltensdiagramme
Daraufhin wird das Dialogfeld "Operation auswählen" geöffnet. Hier können Sie die
gewünschte Operation auswählen.
4. Navigieren Sie zur gewünschten Operation und bestätigen Sie die Auswahl mit OK.
In diesem Beispiel befindet sich die Operation "collectAccountInfos" in der Klasse
"BankView".
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
199
Erstellen von Verzweigungen und Merges
Erstellen einer Verzweigung (alternativer Fluss)
Eine Verzweigung hat einen einzigen eingehenden Fluss und mehrere mit "Guards" versehene
ausgehende Flüsse. Es kann nur einer der ausgehenden Flüsse ausgewählt werden, daher sollten
die Guards einander gegenseitig ausschließen.
In diesem Beispiel müssen die (BankView) Referenzen validiert werden.
branch1 (Verzweigung1) hat den Guard "reference missing" (=Referenz fehlt). Diese
Transition endet im Abbruch der Aktivität.
branch2 hat den Guard "valid" (= gültig). Diese Transition führt zur Aktivität
collectAccountInfos (Kontoinformationen abrufen).
1. Klicken Sie in der Symbolleiste auf das Symbol Verzweigungsknoten
Sie das Element im Aktivitätsdiagramm ein.
und fügen
2. Klicken Sie auf das Symbol "Aktivitätsendknoten"
, welches für die Aktivität
"Abbruch" steht und fügen Sie es in das Aktivitätsdiagramm ein.
3. Klicken Sie auf die Aktivität "Validate References", um sie auszuwählen, anschließend
auf den rechten Ziehpunkt Kontrollfluss und ziehen Sie den Konnektor, der angezeigt
wird, auf das Verzweigungsknoten-Element.
Sobald das Element markiert angezeigt wird, können Sie die Maustaste loslassen.
4. Klicken Sie auf das Verzweigungsknoten-Element, klicken Sie auf den rechten
Konnektor Kontrollfluss und ziehen Sie ihn auf die Aktion "collectAccountInfos". Nähere
Informationen dazu finden Sie unter "Einfügen einer Aktion (Aufrufoperation)".
© 2016 Altova GmbH
Altova UModel 2017
200
UML-Diagramme
Verhaltensdiagramme
5. Geben Sie auf dem Register "Eigenschaften" die Guard-Bedingung "valid" ein.
6. Klicken Sie auf das Verzweigungsknotenelement und ziehen Sie den rechten
Ziehpunkt Kontrollfluss auf das Element "Aktivitätsendknoten".
Die Guard-Bedingung zu dieser Transition wird automatisch als "else" definiert.
Doppelklicken Sie im Diagramm auf die Guard-Bedingung und ändern Sie diese z.B. in
"reference missing".
Bitte beachten Sie, dass UModel die Anzahl der Kontroll- / Objektflüsse in einem Diagramm nicht
validiert oder überprüft.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
201
Erstellen eines Merge:
1. Klicken Sie in der Symbolleiste auf das Verbindungsknotensymbol
anschließend in das Aktivitätsdiagramm, um es einzufügen.
und
2. Klicken Sie auf die Kontrollfluss (Objektfluss)-Ziehpunkte der zu vereinigenden Aktionen
und ziehen Sie die Pfeile auf das Verbindungsknotensymbol.
Aktivitätsdiagramm-Elemente
Aktion (Aufrufverhalten)
Fügt das Aktionselement Aufrufverhalten ein, welches ein bestimmtes Verhalten direkt aufruft.
Wenn Sie über die Auswahlliste Verhalten ein vorhandenes Verhalten auswählen, z.B.
HandleDisplayException, wird innerhalb des Elements das Symbol eines Rechens angezeigt.
Aktion (Aufrufoperation)
Fügt die Aktion "Aufrufverhalten" ein, welche ein bestimmtes Verhalten als Methode direkt aufruft.
Nähere Informationen finden Sie unter "Einfügen einer Aktion (Aufrufoperation)".
Aktion (OpaqueAction)
Eine Art von Aktion, mit der Implementierungsinformationen definiert werden. Kann als Platzhalter
© 2016 Altova GmbH
Altova UModel 2017
202
UML-Diagramme
Verhaltensdiagramme
verwendet werden, bis fest steht, welche spezifische Aktion verwendet werden soll.
Aktion (ValueSpecificationAction)
Eine Art von Aktion zum Auswerten (/Generieren)
Ereignisannahmeaktion
Fügt die Ereignisannahmeaktion ein, welche auf das Eintreten eines Ereignisses wartet, das
bestimmte Bedingungen erfüllt.
Ereignisannahmeaktion (Zeitereignis)
Fügt eine Ereignisannahmeaktion ein, die durch ein Zeitereignis ausgelöst wird, welches ein
Zeitintervall - z.B. 1 sec since last update - mit einem Ausdruck definiert.
Signalsendeaktion
Fügt die Signalsendeaktion ein. Dabei wird ein Signal von den Inputs erstellt. Dieses Signal wird
an das Zielobjekt übertragen, wo es die Ausführung einer Aktivität auslösen kann.
Verzweigungsknoten
Fügt einen Verzweigungsknoten ein, welcher eine einzige eingehende Transition hat und mehrere
ausgehende mit Guards versehene Transitionen. Nähere Informationen dazu finden Sie unter
"Erstellen einer Verzweigung".
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
203
Verbindungsknoten
Fügt einen Verbindungsknoten ein, der mehrere durch einen Verzweigungsknoten definierte
alternative Transitionen zusammenführt. Die gleichzeitig ablaufenden Prozesse werden dabei nicht
synchronisiert, sondern es wird einer der Prozesse ausgewählt.
Startknoten
Der Anfang der Aktivität. Eine Aktivität kann mehrere Startknoten haben.
Aktivitätsendknoten
Das Ende der Aktivität. Eine Aktivität kann mehrere Endknoten haben. Alle Flüsse in der Aktivität
werden beendet, wenn der "erste" Endknoten erreicht wird.
Endknoten für Kontrollflüsse
Fügt den Endknoten für Kontrollflüsse ein, d.h. ein Fluss wird dadurch beendet. Diese Beendung
hat keinen Einfluss auf andere Flüsse in der Aktivität.
Parallelisierungsknoten
Fügt einen vertikalen Parallelisierungsknoten ein.
Dient zum Aufteilen von Flüssen in mehrere gleichzeitige Flüsse.
Parallelisierungsknoten (horizontal)
Fügt einen horizontalen Parallelisierungsknoten ein.
Dient zum Aufteilen von Flüssen in mehrere gleichzeitige Flüsse.
Synchronisationsknoten
Fügt einen vertikalen Parallelisierungsknoten ein.
Ein Synchronisationsknoten synchronisiert mehrere durch einen Parallelisierungsknoten definierte
Flüsse.
Synchronisationsknoten (horizontal)
Fügt einen horizontalen Parallelisierungsknoten ein.
© 2016 Altova GmbH
Altova UModel 2017
204
UML-Diagramme
Verhaltensdiagramme
Ein Synchronisationsknoten synchronisiert mehrere durch einen Parallelisierungsknoten definierte
Flüsse.
InputPin
Fügt einen Input Pin in ein Aufrufverhalten oder eine Aufrufoperation ein. Input Pins liefern
Eingabewerte, die von einer Aktion verwendet werden. Ein Input Pin erhält automatisch den
Standardnamen "argument".
Das Input Pin-Symbol kann nur auf jene Aktivitätselemente platziert werden, bei denen der
Mauszeiger sich in das Symbol einer Hand verwandelt
. Wenn Sie das Symbol mit der Maus
ziehen, wird es am Rand des Elements neu positioniert.
OutputPin
Fügt eine Output Pin-Aktion ein. Output Pins enthalten Werte, die von einer Aktion erzeugt
werden. Dem Output Pin wird automatisch ein Name zugewiesen, der der UML-Eigenschaft dieser
Aktion - z.B. "result" - entspricht.
Das Output Pin-Symbol kann nur auf jene Aktivitätselemente platziert werden, bei denen der
Mauszeiger sich in eine Hand verwandelt
. Wenn Sie das Symbol mit der Maus ziehen, wird
es am Rand des Elements neu positioniert.
Ausnahmepin
Ein Output Pin kann durch Klicken auf den Pin und Auswahl der Option "isExceptionPin" im
Fenster "Eigenschaften" in einen Ausnahmepin umgewandelt werden.
Wertpin
Fügt einen Wertpin ein. Dabei handelt es sich um einen Input Pin, der für eine Aktion einen Wert
bereitstellt, der nicht aus einem eingehenden Objektfluss stammt. Er wird als ein Input PinSymbol dargestellt und hat dieselben Eigenschaften wie ein Input Pin.
Objektknoten
Fügt einen Objektknoten ein. Ein Objektknoten ist ein abstrakter Aktivitätsknoten, der den
Objektfluss in einer Aktivität definiert. Objektknoten können nur Werte zur Laufzeit enthalten, die
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
205
dem Typ des Objektknotens entsprechen.
Pufferknoten
Fügt einen Pufferknoten ein, der als Puffer für mehrere eingehende und ausgehende Flüsse von
anderen Objektknoten dient.
Datenspeicherknoten
Fügt einen Datenspeicherknoten ein. Dabei handelt es sich um einen speziellen Pufferknoten, der
zum Speichern dauerhafter (d.h. nicht temporärer) Daten dient.
Aktivitätsbereich (horizontal)
Fügt einen horizontalen Aktivitätsbereich ein. Dabei handelt es sich um eine Art von
Aktivitätsgruppe, die zum Kennzeichnen von Aktionen dient, die einige Eigenschaften gemeinsam
haben. Dies entspricht oft Organisationseinheiten in einem Geschäftsmodell.
Wenn Sie auf eine Beschriftung doppelklicken, lässt sich diese direkt editieren; bei Drücken der
Eingabetaste wird der Text korrekt ausgerichtet.
Bitte beachten Sie, dass Aktivitätsbereiche in UML 2.0 neu eingeführt wurden und die "swimlane"
Funktion früherer UML-Versionen ersetzen.
Elemente, die innerhalb einer ActivityPartition platziert werden, werden Teil davon, sobald die
Umrandung markiert erscheint.
Objekte innerhalb einer ActivityPartition können mit Hilfe von Strg+Klick oder durch
Aufziehen eines Rechtecks in der Umrandung einzeln ausgewählt werden.
Klicken Sie auf die Umrandung oder den titel der ActivityPartition und ziehen Sie sie/ihn,
um diese an eine andere Stelle zu verschieben.
Aktivitätsbereich (vertikal)
Fügt einen vertikalen Aktivitätsbereich ein. Dabei handelt es sich um eine Art von
Aktivitätsgruppe, die zum Kennzeichnen von Aktionen dient, die einige Eigenschaften gemeinsam
haben. Dies entspricht oft Organisationseinheiten in einem Geschäftsmodell.
© 2016 Altova GmbH
Altova UModel 2017
206
UML-Diagramme
Verhaltensdiagramme
Aktivitätsbereich (2 Dimensionen)
Fügt einen zweidimensionalen Aktivitätsbereich ein. Dabei handelt es sich um eine Art von
Aktivitätsgruppe, die zum Kennzeichnen von Aktionen dient, die einige Eigenschaften gemeinsam
haben. Beide Achsen haben editierbare Beschriftungen.
So entfernen Sie die Dim1, Dim2-Beschriftungen:
1. Klicken Sie auf die Dimensionsbezeichnung, die Sie entfernen möchten z.B. Dim1
2. Doppelklicken Sie auf dem Register "Eigenschaften" auf den Eintrag Dim1, löschen Sie
ihn und bestätigen Sie den Vorgang mit der Eingabetaste.
Beachten Sie, dass Aktivitätsbereiche geschachtelt sein können:
1. Rechtsklicken Sie auf die Beschriftung, wo Sie einen neuen Bereich einfügen möchten.
2. Wählen Sie Neu | Aktivitätsbereich.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
207
Kontrollfluss
Ein Kontrollfluss ist eine Kante, d.h. ein Pfeil, der zwei Aktivitäten/Verhalten verbindet und eine
Aktivität startet, nachdem die vorherige zu Ende geführt wurde.
Objektfluss
Ein Objektfluss ist eine Kante, d.h. ein Pfeil, der zwei Aktionen/Objektknoten verbindet und eine
Aktivität startet, sobald die vorherige zu Ende geführt worden ist. Entlang eines Objektflusses
können Objekte oder Daten übergeben werden.
Ausnahme-Handler
Ein Ausnahme-Handler ist ein Element, das festlegt, welche Aktion ausgeführt werden soll, wenn
während der Ausführung des geschützten Knotens ein bestimmtes Ausnahmeereignis auftritt.
© 2016 Altova GmbH
Altova UModel 2017
208
UML-Diagramme
Verhaltensdiagramme
Ein Ausnahme-Handler kann nur auf einen Inputpin einer Aktion gezogen werden.
Aktivität
Fügt eine Aktivität in das Aktivitätsdiagramm ein.
Aktivitätsparameterknoten
Fügt einen Aktivitätsparameterknoten in eine Aktivität ein. Wenn Sie an eine beliebige Stelle in
der Aktivität klicken, wird der Parameterknoten auf den Rand der Aktivität platziert.
StrukturierterAktivitätsknoten
Fügt einen strukturierten Aktivitätsknoten ein. Dabei handelt es sich um einen strukturierten Teil
der Aktivität, der mit keinem anderen strukturierten Knoten geteilt wird.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
209
Mengenverarbeitungsbereich
Ein Mengenverarbeitungsbereich ist ein Bereich einer Aktivität mit expliziten Inputs und Outputs
(über Erweiterungsknoten). Jeder Input ist eine Sammlung von Werten.
Der Mengenverarbeitungsbereichsknoten wird als Schlüsselwort angezeigt und kann durch
Klicken auf die Auswahlliste "Modus" auf dem Register "Eigenschaften" geändert werden. Zur
Auswahl stehen die Einstellungen: parallel, iterative oder stream.
Erweiterungsknoten
Fügt einen Erweiterungsknoten in einen Mengenverarbeitungsbereich ein. Erweiterungsknoten
sind Eingabe- und Ausgabeknoten für den Mengenverarbeitungsbereich, wobei jeder Input/Output
eine Sammlung von Werten ist. Die Pfeile, die in den Mengenverarbeitungsbereich hinein oder
daraus heraus weisen , legen die jeweilige Art des Erweiterungsknotens fest.
Unterbrechungsbereich
© 2016 Altova GmbH
Altova UModel 2017
210
UML-Diagramme
Verhaltensdiagramme
Ein Unterbrechungsbereich enthält Aktivitätsknoten. Wenn ein Kontrollfluss einen
Unterbrechungsbereich verlässt, werden alle Flüsse und Verhalten im Bereich beendet.
So fügen Sie eine InterruptingEdge hinzu:
Stellen Sie sicher dass:
der Unterbrechungsbereich ein Aktionselement sowie einen ausgehenden Kontrollfluss zu
einer anderen Aktion enthält:
1. Rechtsklicken Sie auf den Kontrollflusspfeil und wählen Sie Neu | InterruptingEdge.
Bitte beachten Sie:
Sie können eine InterrupingEdge auch durch Klicken auf den Unterbrechungsbereich,
Rechtsklick in das Fenster "Eigenschaften" und Auswahl des Popup-Menübefehls
"InterruptingEdge hinzufügen" hinzufügen.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
9.1.2
Verhaltensdiagramme
211
Zustandsdiagramm
Altova Website:
UML-Zustandsdiagramme
Im Zustandsdiagramm wird das Verhalten eines Systems modelliert, indem die Zustände, in
denen sich ein Objekt befinden kann und die Übergänge zwischen diesen Zuständen, beschrieben
werden. Im Allgemeinen dienen diese Diagramme dazu, das Verhalten eines Objekts in
verschiedenen Anwendungsfällen (Use Cases) zu beschreiben. Ein Zustandsautomat kann in
UModel beliebig viele Zustandsdiagramme haben.
Dies kann in Form von zwei Arten von Prozessen erfolgen:
Aktionen, die mit Transitionen verknüpft sind, sind kurzfristige Prozesse, die nicht unterbrochen
werden können, z.B. eine Start-Transition, ein interner Fehler / Admin benachrichtigen.
Zustandsaktivitäten (Verhalten), welche mit Zuständen verknüpft sind, sind länger andauernde
Prozesse, die durch andere Ereignisse unterbrochen werden können, z.B. das Warten auf
Verbindungsaufbauanfragen.
Beachten Sie, dass die in den folgenden Abschnitten gezeigten Zustandsdiagramme im UModel
Ordner ...\UModelExamples im Beispiel Bank_MultiLanguage zur Verfügung stehen.
© 2016 Altova GmbH
Altova UModel 2017
212
UML-Diagramme
Verhaltensdiagramme
Einfügen von Zustandsdiagrammelementen
Einfügen über die Symbole der Symbolleiste:
1. Klicken Sie in der Zustandsdiagramm-Symbolleiste auf das entsprechende
Zustandsdiagramm-Symbol.
2. Klicken Sie in das Zustandsdiagramm, um das Element einzufügen. Um mehrere
Elemente des ausgewählten Typs einzufügen, halten Sie die Strg-Taste gedrückt und
klicken Sie in das Diagrammfenster.
Ziehen von bestehenden Elementen in das Zustandsdiagramm:
Die meisten Elemente, die in anderen Zustandsdiagrammen vorkommen, können in ein
bestehendes Zustandsdiagramm eingefügt werden.
1. Suchen Sie das gewünschte Element auf dem Register Modell-Struktur (Sie können dazu
das Suchfunktionstextfeld verwenden oder Strg + F drücken, um nach einem beliebigen
Element zu suchen).
2. Ziehen Sie das/die Element(e) in das Zustandsdiagramm.
Erstellen von Zuständen, Aktivitäten und Transitionen
So fügen Sie einen einfachen Zustand hinzu:
1. Klicken Sie in der Symbolleiste auf das Symbol Zustand (
) und anschließend in das
Diagramm.
2. Geben Sie den Namen des Zustands ein und drücken Sie zur Bestätigung die
Eingabetaste.
So fügen Sie eine Aktivität zu einem Zustand hinzu:
Rechtsklicken Sie auf das Element "Zustand", wählen Sie "Neu" und anschließend einen
der Einträge aus dem Kontextmenü.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
213
Die Aktivitäten Eintritt, Austritt und Do sind mit einem der folgenden möglichen Verhalten
verknüpft: "Aktivität", "Interaktion" und "Zustandsautomat". Daher stehen im Kontextmenü die
folgenden Optionen zur Verfügung:
Austritt: Aktivität
Austritt: Interaktion
Austritt: Zustandsautomat
Do: Aktivität
Do: Interaktion
Do: Zustandsautomat
Eintritt: Aktivität
Eintritt: Interaktion
Eintritt: Zustandsautomat
Diese Optionen stammen aus der UML-Spezifikation. Bei jeder dieser internen Aktionen handelt
es sich um ein Verhalten und in der UML-Spezifikation sind drei Klassen von der Klasse
"Behavior" (Verhalten) abgeleitet: Activity (Aktivität), StateMachine (Zustandsautomat) und
Interaction (Interaktion). Es macht im generierten Code keinen Unterschied, welches spezifische
Verhalten (Aktivität, Zustandsautomat oder Interaktion) ausgewählt wurde.
Sie haben die Wahl zwischen Aktionen aus der Kategorie: Eintritts, Austritt und Do. Aktivitäten
werden im Zustandselement in ihren eigenen Bereich - wenn auch nicht in eine separate Region platziert. Die Art der ausgewählten Aktivität wird als Präfix für die Aktivität verwendet z.B: entry /
store current time (=Eintritt / aktuelle Zeit speichern).
© 2016 Altova GmbH
Altova UModel 2017
214
UML-Diagramme
Verhaltensdiagramme
So löschen Sie eine Aktivität:
Klicken Sie auf die entsprechende Aktivität im Zustandselement und drücken Sie die
Entf-Taste.
So erstellen Sie eine Transition zwischen zwei Zuständen:
1. Klicken Sie auf den Transition-Ziehpunkt des Ausgangszustands (auf der rechten Seite
des Elements).
2. Ziehen Sie den Transition-Pfeil mit der Maus auf den Ziel-Zustand.
Die Eigenschaften der Transition werden nun auf dem Register "Eigenschaften"
angezeigt. Wenn Sie auf die Auswahlliste "Art" klicken, können Sie den Typ der
Transition definieren: extern, intern oder lokal.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
215
Transitionen können einen Event Trigger, eine Guard-Bedingung und eine Aktion in der
Form eventTrigger [Guard-Bedingung] /Aktivität haben.
So erstellen Sie automatisch Operationen von Transitionen aus
Wenn Sie die Schaltfläche "Automatische Erstellung von Operationen in der Zielkomponente
durch Eingabe von Operationsnamen ein-/ausschalten"
aktivieren, wird die entsprechende
Operation in der referenzierten Klasse automatisch erstellt, wenn Sie eine Transition erstellen und
einen Namen,z. B. myOperation() eingeben.
Anmerkung: Operationen können nur dann automatisch erstellt werden, wenn sich der
Zustandsautomat innerhalb einer Klasse oder Schnittstelle befindet.
So erstellen Sie automatisch Operationen von Aktivitäten aus:
1. Klicken Sie mit der rechten Maustaste auf den Zustand und wählen Sie die
entsprechende Aktion/Aktivität aus, z.B. Neu | Eintritt:Aktivität.
2. Geben Sie den Namen der Aktivität ein und stellen Sie sicher, dass Sie am Schluss das
"Klammer auf" und "Klammer zu"-Zeichen "()", also z.B. Eintritt / OnEntryCooler()
eingeben.
© 2016 Altova GmbH
Altova UModel 2017
216
UML-Diagramme
Verhaltensdiagramme
Das neue Element wird auch in der Modell-Struktur angezeigt.
Wenn Sie einen Bildlauf nach unten durch die Modell-Struktur durchführen, sehen Sie,
dass die Operation OnEntryCooler zur übergeordneten Klasse AirConditionController
hinzugefügt wurde.
Bitte beachten Sie:
Operationen werden automatisch für: Do:Aktivität, Eintritt:Aktivität, Austritt:Aktivität sowie
als Guard-Bedingungsaktivitäten und Auswirkungen (in Transitionen) hinzugefügt.
So erstellen Sie einen Transition Trigger:
1. Rechtsklicken Sie auf eine zuvor erstelle Transition (Pfeil).
2. Wählen Sie Neu | Trigger.
Über dem Transition-Pfeil wird in der Transition-Bezeichnung der Buchstabe "a"
angezeigt, falls es sich um den ersten Trigger im Zustandsdiagramm handelt. Den
Triggern werden Standardwerte in der Form: Buchstabe des Alphabets, Ausgangszustand
-> Zielzustand zugewiesen.
3. Doppelklicken Sie auf den neuen Buchstaben und geben Sie die Eigenschaften der
Transition in der Form eventTrigger [Guard-Bedingung] /Aktivität ein.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
217
Syntax der Eigenschaft der Transition: Der Text vor der eckigen Klammer ist der Trigger,
innerhalb der eckigen Klammer befindet sich die Guard-Bedingung und hinter dem
Schrägstrich folgt die Aktivität. Bei Bearbeitung des Strings werden automatisch die
entsprechenden Elemente in der Modell-Struktur erstellt bzw. gelöscht.
Bitte beachten Sie:
Um die Eigenschaften der einzelnen Transition zu sehen, rechtsklicken Sie auf die
Transition (also auf den Pfeil) und wählen Sie die Option "In Modell-Struktur auswählen".
Das Ereignis, die Aktivität und die Einschränkungselemente werden alle unterhalb der
ausgewählten Transition angezeigt.
Hinzufügen eines Aktivitätsdiagramms zu einer Transition:
UModel bietet die einzigartige Möglichkeit, zur näheren Beschreibung der Transition ein
Aktivitätsdiagramm zu einer Transition hinzuzufügen.
1. Rechtsklicken Sie auf einen Transitionspfeil im Diagramm und wählen Sie Neu |
Aktivitätsdiagramm.
Daraufhin wird an der Position des Transitionspfeils ein Aktivitätsdiagrammfenster in das
Diagramm eingefügt.
2. Klicken Sie auf das eingefügte Fenster, um es aktiv zu machen. Über die Bildlaufleisten
können Sie durch das Fenster scrollen.
3. Doppelklicken Sie auf das Aktionsfenster um in das Aktivitätsdiagramm zu wechseln und
die Transition näher zu definieren, z.B. um den Namen der Aktion in "Database logon" zu
ändern.
© 2016 Altova GmbH
Altova UModel 2017
218
UML-Diagramme
Verhaltensdiagramme
Beachten Sie, dass ein neues Aktivitätsdiagrammregister zum Projekt hinzugefügt wurde.
Sie können jedes beliebige Aktivitätsdiagramm-Modellelement zum Diagramm
hinzufügen. Nähere Informationen dazu finden Sie unter "Aktivitätsdiagramm".
4. Klicken Sie auf das Zustandsdiagrammregister um zurückzuwechseln und die
aktualisierte Transition zu sehen.
5. Ziehen Sie gegebenenfalls das Aktivitätsfenster an die gewünschte Stelle im Diagramm
und klicken Sie auf den Ziehpunkt zur Größenanpassung.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
219
Wenn Sie das Aktivitätsfenster zwischen die beiden Zustände ziehen, wird die Transition
in die Aktivität und aus der Aktivität heraus angezeigt.
Zusammengesetzte Zustände
Zusammengesetzter Zustand
Diese Art von Zustand enthält einen zweiten Bereich bestehend aus einer einzigen Region.
Innerhalb dieser Region können beliebig viele Zustände platziert werden.
So fügen Sie eine Region zu einem zusammengesetzten Zustand hinzu:
1. Rechtsklicken Sie auf den zusammengesetzten Zustand und wählen Sie im Kontextmenü
den Befehl Neu | Region.
Daraufhin wird eine neue Region zum Zustand hinzugefügt. Regionen werden durch
strichlierte Linien voneinander getrennt.
So löschen Sie eine Region:
1. Klicken Sie auf die gewünschte Region im zusammengesetzten Zustand und drücken Sie
die Entf-Taste.
Wenn Sie eine Region eines orthogonalen Zustands löschen, so wird dieser wieder zu
einem zusammengesetzten Zustand; sobald die letzte Region eines zusammengesetzten
Zustands gelöscht wurde, wird dieser wieder zu einem einfachen Zustand.
© 2016 Altova GmbH
Altova UModel 2017
220
UML-Diagramme
Verhaltensdiagramme
So platzieren Sie einen Zustand in einen zusammengesetzten Zustand:
1. Klicken Sie auf das gewünschte Zustandselement (z.B. Logging in User) und ziehen Sie
es in den Regionsbereich des zusammengesetzten Zustands.
Der Regionsbereich erscheint markiert, sobald Sie die Maustaste loslassen können. Das
eingefügte Element ist nun Teil der Region und wird im Fenster "Modell-Struktur" als
Child-Element der Region angezeigt.
Wenn Sie den zusammengesetzten Zustand verschieben, werden alle darin enthaltenen
Zustände mitverschoben.
Orthogonaler Zustand
Diese Art von Zustand enthält einen zweiten Bereich bestehend aus zwei oder mehr Regionen,
wobei die einzelnen Regionen auf Gleichzeitigkeit hinweisen.
Wenn Sie mit der rechten Maustaste auf einen Zustand klicken und Neu | Region auswählen,
können Sie neue Regionen hinzufügen.
So blenden Sie Regionsnamen ein/aus:
Klicken Sie auf das Register "Stile", scrollen Sie zum Eintrag "Regionsnamen in
Zustandselementen anzeigen" und wählen Sie true/false aus.
Unterautomatenzustand
Dieser Zustand dient zum Ausblenden der Einzelheiten eines Zustandsautomaten. Dieser Zustand
hat keine Regionen, sondern ist mit einem separaten Zustandsautomaten verknüpft.
So definieren Sie einen Unterautomatenzustand:
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
221
1. Wählen Sie zuerst einen Zustand aus und klicken Sie auf dem Register "Eigenschaften"
auf die Auswahlliste Unterautomatenzustand.
Es erscheint eine Liste mit den derzeit definierten Zustandsautomaten.
2. Wählen Sie den Zustandsautomaten aus, den dieser Unterautomat referenzieren soll.
Beachten Sie bitte: Im Unterautomat wird automatisch ein Hyperlink angezeigt. Wenn Sie
darauf klicken, wird der referenzierte Zustandsautomat, in diesem Fall BankServer,
geöffnet.
So fügen Sie Eintritts- / Austrittspunkte zu einem Unterautomatenzustand hinzu:
Der Zustand, mit dem der Punkt verbunden ist, muss selbst einen Unterautomatenzustand
(sichtbar auf dem Register "Eigenschaften") referenzieren.
Dieser Unterautomat muss einen oder mehrere Eintritts- und Austrittspunkte enthalten
1. Klicken Sie in der Titelleiste auf das Symbol Verbindungspunktreferenz
und
klicken Sie anschließend auf den Unterautomatenzustand, zu dem Sie den Eintritts- /
Austrittspunkt hinzufügen möchten.
2. Rechtsklicken Sie auf das Register "Eigenschaften" und wählen Sie den Befehl "Eintritt
hinzufügen". Bitte beachten Sie, dass es an einer anderen Stelle im Diagramm einen
weiteren Eintritts- oder Austrittspunkt geben muss, damit dieses Popup-Menü aktiviert
wird.
© 2016 Altova GmbH
Altova UModel 2017
222
UML-Diagramme
Verhaltensdiagramme
Daraufhin wird eine Eintrittspunktzeile zum Register "Eigenschaften" hinzugefügt und das
Aussehen des Verbindungspunktreferenz-Elements ändert sich.
3. Fügen Sie auf dieselbe Weise einen Austrittspunkt hinzu. Wählen Sie dazu im
Kontextmenü den Befehl "Austritt hinzufügen".
Codegenerierung anhand von Zustandsdiagrammen
Sie können in UModel nun ausführbaren Code (Java, VB.NET oder C#) anhand von
Zustandsdiagrammen generieren. Es werden beinahe alle Zustandsdiagrammelemente und funktionen unterstützt:
Zustand
Zusammengesetzter Zustand, mit jeder hierarchischen Ebene
Orthogonaler Zustand, mit beliebig vielen Regionen
Region
Anfangszustand
Endzustand
Transition
Guard
Trigger
Aufrufereignis
Gabelung
Vereinigung
Entscheidung
Kreuzung
DeepHistory
ShallowHistory
Eintritts-/Austritts-/Do-Aktion
Effekt
Die Generierung von Zustandsautomatencode ist in das normale Round Trip Engineering integriert,
d.h. der Zustandsautomatencode kann bei jedem Forward Engineering automatisch aktualisiert
werden.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
223
In der Abbildung oben sehen Sie das Zustandsdiagramm AirCondition aus dem Verzeichnis ..
\StateMachineCodeGeneration unter...\UModelExamples. Für jede der Sprachen, in der in
UModel Code generiert werden kann, gibt es ein eigenes Verzeichnis, d.h.C#, Java und VB.
Jedes Verzeichnis enthält jeweils einen Ordner AirCondition und einen Ordner Complex, die
jeweils das entsprechende UModel-Projekt, die Programmiersprachen-Projektdateien sowie die
generierten Quelldateien enthalten. Die Projektdatei Complex.ump enthält beinahe alle der von
UModel beim Generieren von Zustandsdiagrammcode unterstützten Modellierungselemente und
Funktionalitäten.
Außerdem enthält jedes Verzeichnis eine Testapplikation, z.B. TestSTMAirCondition.sln für C#,
sodass Sie mit den generierten Quellcodedateien sofort arbeiten können.
© 2016 Altova GmbH
Altova UModel 2017
224
UML-Diagramme
Verhaltensdiagramme
So generieren Sie anhand eines Zustandsdiagramms Code:
Klicken Sie mit der rechten Maustaste in das Zustandsdiagramm und wählen Sie den
Befehl "Zustandsautomatencode generieren" oder
Wählen Sie die Menüoption Projekt | Zustandsautomatencode generieren.
In der Abbildung oben sehen Sie die Standardeinstellungen. Klicken Sie zur
Codegenerierung auf OK.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
225
Der Zustandsautomatencode wird automatisch aktualisiert, wenn Sie das Forward Engineering
starten. Sie können diese Einstellung allerdings ändern, indem Sie auf den Hintergrund des
Zustandsdiagramms klicken und das Kontrollkästchen "Code automatisch aktualisieren"
deaktivieren.
Am generierten Code sollten keine manuellen Änderungen vorgenommen werden, da diese
Änderungen beim Reverse Engineering nicht im Zustandsdiagramm übernommen werden.
Wenn Sie neben dem Feld "Code automatisch aktualisieren" auf das Symbol
Dialogfeld "Zustandsautomatencode generieren" geöffnet, wo Sie die
Codegenerierungseinstellungen ändern können.
klicken, wird das
Bitte beachten Sie:
Um in einem Zustandsdiagramm eine Syntaxüberprüfung durchzuführen, klicken Sie mit
der rechten Maustaste auf das Diagramm und wählen Sie den Befehl
Zustandsautomatensyntax überprüfen.
Arbeiten mit Zustandsdiagrammcode
Die übergeordnete Klasse des Zustandsdiagramms (d.h. die "Controller-Klasse" oder
"Kontextklasse") bildet die einzige Schnittstelle zwischen dem Benutzer des Zustandsdiagramms
und der Zustandsdiagrammimplementierung.
Die Controller-Klasse bietet Methoden, mit Hilfe derer die Zustandsdiagramme von "außen" her
geändert werden können (z.B. nachdem externe Ereignisse eingetreten sind).
Bei der Implementierung des Zustandsdiagramms werden dagegen Controller-Klassenmethoden
("Callbacks") aufgerufen, um den Benutzer des Zustandsdiagramms über Zustandsänderungen
(OnEntry, OnExit, ...), Transitionseffekte und die Möglichkeit Methoden für Bedingungen (Guards)
außer Kraft zu setzen und zu implementieren, zu informieren.
UModel kann einfache Operationen (ohne Parameter) für Entry/Exit/Do-Verhalten,
Transitionseffekte, ...automatisch erstellen, wenn die entsprechende Option aktiviert ist. (siehe
auch Erstellen von Zuständen, Aktivitäten und Transitionen). Diese Methoden können in UModel
beliebig (durch Hinzufügen von Parametern, Definieren der Parameter als abstrakt, usw.) geändert
werden.
Ein Zustandsdiagramm (d.h. seine Controller-Klasse) kann mehrmals instantiiert werden. Alle
Instanzen sind unabhängig voneinander.
Die Ausführung des UML-Zustandsdiagramms ist für das Modell: Bis zur Fertigstellungen
ausführen" konzipiert.
UML-Zustandsautomaten gehen davon aus, dass jedes Ereignis abgeschlossen ist, bevor
© 2016 Altova GmbH
Altova UModel 2017
226
UML-Diagramme
Verhaltensdiagramme
das nächste verarbeitet wird.
Dies bedeutet auch, dass keine Entry/Exit/Do-Aktion oder kein Transitionseffekt eine
neue Transition/eine Zustandsänderung direkt auslösen darf.
Initialisierung
Jede Region eines Zustandsdiagramms muss einen Anfangszustand haben.
Der von UModel generierte Code initialisiert alle Regionen des Zustandsdiagramms
automatisch (oder bei Aufruf der Initialize()-Methode der Controller-Klasse).
Wenn OnEntry-Ereignisse bei der Initialisierung nicht erwünscht sind, können Sie die
Initialize()-Methode manuell aufrufen und OnEntry-Ereignisse beim Start ignorieren.
Abrufen des/der aktuellen Zustands/Zustände
UModel unterstützt sowohl zusammengesetzte Zustände als auch orthogonale Zustände, d.h. es
gibt nicht nur einen aktuellen Zustand, sondern jede Region (auf jeder hierarchischen Ebene) kann
einen aktuellen Zustand haben.
Im Beispiel "AirCondition" wird gezeigt, wie die Regionen des aktuellen Zustands / der aktuellen
Zustände durchlaufen werden.
TreeNode rootNode = m_CurrentStateTree.Nodes.Add(m_STM.getRootState().getName());
UpdateCurrentStateTree(m_STM.getRootState(), rootNode);
private void UpdateCurrentStateTree(AirCondition.AirConditionController.IState
state, TreeNode node)
{
foreach (AirCondition.AirConditionController.IRegion r in state.getRegions())
{
TreeNode childNode = node.Nodes.Add(r.getName() + " : " +
r.getCurrentState().getName());
UpdateCurrentStateTree(r.getCurrentState(), childNode);
}
}
Beispiel 1 - eine einfache Transition
Die entsprechende Operation wird in UModel automatisch generiert.
Generierte Methode im Code:
private class CTestStateMachine : IState
{
…
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
}
Verhaltensdiagramme
227
public bool MyEvent1()
{
…
}
Der Benutzer des Zustandsdiagramms sollte die generierte Methode "MyEvent1" aufrufen,
wenn das entsprechende Ereignis (außerhalb des Zustandsautomaten) eintritt.
Der Rückgabeparameter dieser Ereignismethoden liefert Informationen, ob das Ereignis
eine Zustandsänderung verursacht hat (d.h. ob es eine Auswirkung auf das
Zustandsdiagramm hat) oder nicht. Wenn sich der Automat z.B. im "State1" befindet und
"MyEvent1()" eintritt, so ändert sich der aktuelle Status in "State2" und "MyEvent1()" gibt
"true" zurück. Wenn "State2" aktiv ist und "MyEvent1()" eintritt, ändert sich nichts am
Zustandsdiagramm und MyEvent1() gibt "false" zurück.
Beispiel 2 - eine einfache Transition mit einem Effekt
Die entsprechende Operation wird in UModel automatisch generiert.
Generierte Methode im Code:
private class CTestStateMachine : IState
{
…
// Override to handle entry/exit/do actions, transition effects,...:
public virtual void OnState1State2Effect() {}
}
"OnState1State2Effect()" wird immer dann von der Zustandsdiagrammimplementierung
aufgerufen, wenn die Transition zwischen "State1" und "State2" ausgelöst wird.
Als Reaktion auf diesen Effekt sollte "OnState1State2Effect()" in einer abgeleiteten
Klasse von "CTestStateMachine" außer Kraft gesetzt werden.
"CTestStateMachine:: OnState1State2Effect()" kann auch auf "abstract" gesetzt werden
und Sie erhalten Kompilierfehler bis die Methode außer Kraft gesetzt wird.
Wenn "OnState1State2Effect()" nicht "abstract" ist und die Option "Debug-Meldungen
generieren" aktiv ist, generiert UModel die folgende Debug-Ausgabe:
© 2016 Altova GmbH
Altova UModel 2017
228
UML-Diagramme
Verhaltensdiagramme
// Override to handle entry/exit/do actions, transition
effects,...:
public virtual void OnState1State2Effect()
{OnDebugMessage("ACTION: OnState1State2Effect");}
Beispiel 3 - eine einfache Transition mit einem Effekt-Parameter
Die entsprechende Operation wird in UModel automatisch generiert.
Generierte Methode im Code:
private class CTestStateMachine : IState
{
…
// Additional defined operations of the controller class:
public virtual void OnState1State2Effect(String text)
{
}
}
Zur Durchführung von (automatisch mit UModel erzeugten) Operationen können
Parameter manuell hinzugefügt werden (UModel kann nicht wissen, welcher Typ benötigt
wird).
In diesem Beispiel wurde der Parameter "text:String" zur Effekt-Methode in TestController
hinzugefügt. Beim Aufruf dieser Methode muss ein ordnungsgemäßes Argument definiert
werden (hier: "1 => 2").
Eine andere Möglichkeit wäre z.B. die folgende: Aufruf von statischen Methoden
("MyStatic.OnState1State2Effect("1 => 2")") oder Methoden von Singletons
("getSingleton().OnState1State2Effect("1 => 2")").
Beispiel 4 - entry/exit/do-Aktionen:
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
229
Die entsprechenden Operationen werden in UModel automatisch generiert.
Generierte Methode im Code:
private class CTestStateMachine : IState
{
…
// Override to handle entry/exit/do actions, transition effects,...:
public virtual void OnExitState3() {}
public virtual void OnEntryState4() {}
public virtual void OnDoState4() {}
}
Zustände können entry/exit/do-Verhalten aufweisen. UModel generiert automatisch die
entsprechenden Operationen zu deren Behandlung.
Wenn im Beispiel oben "MyEvent2()" eintritt, ruft die Zustandsdiagrammimplementierung
"OnExitState3()" auf. Wenn "MyEvent2" einen Effekt hätte, würde dieser in der Folge
aufgerufen werden. Anschließend würden "OnEntryState4" und "OnDoState4" aufgerufen
werden.
Normalerweise sollten diese Methoden außer Kraft gesetzt werden. Wenn sie nicht
abstrakt sind und die Option "Debug-Meldungen generieren" aktiv ist, liefert UModel eine
Standard-Debug-Ausgabe, wie in Beispiel 2 beschrieben.
Diese Methoden können auch Parameter haben, wie in Beispiel 3 gezeigt.
Beispiel 5 - Guards
Transitionen können Guards (Wächterausdrücke) haben, die ermitteln, ob die Transition wirklich
ausgelöst werden kann.
© 2016 Altova GmbH
Altova UModel 2017
230
UML-Diagramme
Verhaltensdiagramme
Die entsprechende Operation wird in UModel automatisch generiert.
Generierte Methode im Code:
private class CTestStateMachine : IState
{
…
// Additional defined operations of the controller class:
public virtual bool CanGoState6()
{
return true; // Override!
}
}
Wenn "State5" der aktive Zustand ist und "MyEvent2" eintritt, so ruft die
Zustandsdiagrammimplementierung "CanGoState6" auf und je nach Ergebnis wird die
Transition ausgelöst oder nicht.
Normalerweise sollten diese Methoden außer Kraft gesetzt werden. Wenn sie nicht
abstrakt sind und die Option "Debug-Meldungen generieren" aktiv ist, liefert UModel eine
Standard-Debug-Ausgabe, wie in Beispiel 2 beschrieben.
Diese Methoden können auch Parameter haben, wie in Beispiel 3 gezeigt.
Es sind mehrere Transitionen mit demselben Ereignis aber unterschiedlichen Guards
möglich. Die Reihenfolge, in der die verschiedenen Guards abgefragt werden, ist nicht
definiert. Wenn eine Transition keinen Guard hat oder der Guard "else" ist, wird sie als
der letzte Guard betrachtet (d.h. dieser Guard wird nur dann ausgelöst, wenn alle anderen
Transitions-Guards "false" zurückgeben). So ist z.B. im Diagramm unten nicht definiert,
ob CanGoState6() oder CanGoState7() zuerst aufgerufen wird. Die dritte Transition wird
nur ausgelöst, wenn CanGoState6() und CanGoState7() false zurückgeben.
Weitere Konstrukte und Funktionalitäten finden Sie in den Beispielen AirCondition.ump und
Complex.ump.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
231
Zustandsdiagramm-Elemente
Startzustand (Pseudozustand)
Der Beginn eines Prozesses.
Endzustand
Das Ende der Abfolge von Prozessen.
Eintrittspunkt (Pseudozustand)
Der Eintrittspunkt eines Zustandsautomaten oder eines zusammengesetzten Zustands.
Austrittspunkt (Pseudozustand)
Der Austrittspunkt eines Zustandsautomaten oder eines zusammengesetzten Zustands.
Entscheidung
Dieses Element stellt eine dynamische bedingte Verzweigung dar, wobei einander gegenseitig
ausschließende Guard Trigger ausgewertet werden (OR Operation).
Kreuzung (Pseudozustand)
Dieses Element stellt das Ende der OR-Operation dar, die durch das Element "Entscheidung"
definiert ist.
Beendung (Pseudozustand)
Das Anhalten der Ausführung des Zustandsautomaten.
Gabelung (Pseudozustand)
Fügt eine vertikale Gabelungsleiste ein.
Dient zum Aufteilen von Sequenzen in nebenläufige Untersequenzen.
Gabelung horizontal (Pseudozustand)
Fügt eine horizontale Gabelungsleiste ein.
Dient zum Aufteilen von Sequenzen in nebenläufige Untersequenzen.
Vereinigung (Pseudozustand)
Vereinigt/führt zuvor definierte Untersequenzen zusammen. Alle Aktivitäten müssen
abgeschlossen sein, bevor Sie fortfahren können.
Vereinigung, horizontal (Pseudozustand)
Vereinigt/führt zuvor definierte Untersequenzen zusammen. Alle Aktivitäten müssen
abgeschlossen sein, bevor Sie fortfahren können.
DeepHistory
Ein Pseudozustand, der den zuvor aktiven Zustand in einem zusammengesetzten Zustand
© 2016 Altova GmbH
Altova UModel 2017
232
UML-Diagramme
Verhaltensdiagramme
wiederherstellt.
ShallowHistory
Ein Pseudozustand, der den Ausgangszustand eines zusammengesetzten Zustands
wiederherstellt.
Alle Pseudozustandselemente können in einen anderen "Typ" geändert werden, indem Sie auf
dem Register "Eigenschaften" den Eintrag in der Auswahlliste "Art" ändern.
Verbindungspunktreferenz
Eine Verbindungspunktreferenz stellt eine Verwendung (als Teil eines Unterautomatenzustands)
eines Eintritts-/Austrittspunkts dar, der in der Zustandsautomatenreferenz durch den
Unterautomatenzustand definiert ist.
So fügen Sie Eintritts- oder Austrittspunkte zu einer Verbindungspunktreferenz hinzu:
Der Zustand, mit dem der Punkt verbunden ist, muss selbst einen
Unterautomatenzustand referenzieren. (sichtbar auf dem Register "Eigenschaften").
Dieser Unterautomat muss einen oder mehrere Eintritts- oder Austrittspunkte enthalten.
Transition
Eine direkte Beziehung zwischen zwei Zuständen. Ein Objekt im ersten Zustand führt eine oder
mehrere Aktionen durch und tritt anschließend abhängig von einem Ereignis und der Erfüllung
etwaiger Guard-Bedingungen in den zweiten Zustand ein.
Transitionen haben einen Event-Trigger, (eine) Guard-Bedingung(en), eine Aktion (Verhalten) und
einen Zielzustand.
Unterstützte Ereignisunterelemente sind:
ReceiveSignalEvent, SignalEvent, SendSignalEvent, ReceiveOperationEvent,
SendOperationEvent und ChangeEvent.
Automatische Erstellung von Operationen in der Zielkomponente durch Eingabe von
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
233
Operationsnamen ein-/ausschalten
Wenn Sie die Schaltfläche "Automatische Erstellung von Operationen in der Zielkomponente
durch Eingabe von Operationsnamen ein-/ausschalten" aktivieren, wird die entsprechende
Operation in der referenzierten Klasse automatisch erstellt, wenn Sie eine Transition erstellen und
einen Namen myOperation() eingeben.
Anmerkung: Operationen können nur dann automatisch erstellt werden, wenn sich der
Zustandsautomat innerhalb einer Klasse oder Schnittstelle befindet.
© 2016 Altova GmbH
Altova UModel 2017
234
UML-Diagramme
9.1.3
Protokoll-Zustandsautomat
Altova Website:
Verhaltensdiagramme
UML-Protokoll-Zustandsdiagramme
Mit Hilfe von Protokoll-Zustandsautomaten wird eine Sequenz von Ereignissen dargestellt, auf die
ein Objekt reagiert, ohne dass das spezifische Verhalten dargestellt werden muss. In diesem
Diagramm werden die benötigte Ereignissequenz und die resultierenden Änderungen am Zustand
des Objekts modelliert.
Meist dienen Protokoll-Zustandsautomaten zur Beschreibung komplexer Protokolle, z.B. zur
Beschreibung des Datenbankzugriffs über eine bestimmte Schnittstelle oder von
Kommunikationsprotokollen wie TCP/IP.
Protokoll-Zustandsautomaten werden auf dieselbe Weise wie Zustandsdiagramme erstellt, haben
aber weniger Modellierungselemente. Die Protokoll-Übergänge zwischen Zuständen können Vorund Nachbedingungen haben, die definieren, was zutreffen, also "true" sein muss, damit der
Übergang in einen anderen Zustand erfolgen kann, oder was der resultierende Zustand nach dem
Übergang sein muss.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
235
Einfügen von Protokoll-Zustandsdiagramm-Elementen
Einfügen über die Symbole der Symbolleiste:
1. Klicken Sie in der Symbolleiste auf das Symbol "Protokoll-Zustandsautomat".
2. Klicken Sie in das Protokoll-Zustandsdiagramm, um das Element einzufügen. Um
mehrere Elemente des ausgewählten Typs einzufügen, halten Sie die Strg-Taste
gedrückt und klicken Sie in das Diagrammfenster.
Ziehen von bestehenden Elementen in das Protokoll-Zustandsdiagramm:
Die meisten Elemente, die in anderen Protokoll-Zustandsdiagrammen vorkommen, können in ein
bestehendes Diagramm eingefügt werden.
1. Suchen Sie das gewünschte Element auf dem Register Modell-Struktur (Sie können dazu
das Suchfunktionstextfeld verwenden oder Strg + F drücken, um nach einem beliebigen
Element zu suchen).
2. Ziehen Sie das/die Element(e) in das Protokoll-Zustandsdiagramm.
So fügen Sie einen einfachen Zustand ein:
1. Klicken Sie in der Symbolleiste auf das Zustandssymbol
und anschließend in das
Protokoll-Zustandsdiagramm, um es einzufügen.
2. Geben Sie den Namen des Zustands ein und drücken Sie zur Bestätigung die
Eingabetaste.
Einfache Zustände haben keine Regionen oder andere Arten von Substrukturen.
So erstellen Sie eine Protokoll-Transition zwischen zwei Zuständen:
1. Klicken Sie auf den Transition-Ziehpunkt des Ausgangszustands (auf der rechten Seite
des Elements) oder klicken Sie in der Symbolleiste auf die Schaltfläche "Protocol
Transition".
2. Ziehen Sie den Transition-Pfeil mit der Maus auf den Ziel-Zustand.
Der Textcursor ist automatisch so eingestellt, dass Sie die Vor- und/oder Nachbedingung
eingeben können. Verwenden Sie unbedingt die eckigen Klammern [] und den
Schrägstrich, wenn Sie die Bedingungen direkt eingeben.
Wenn Sie die Vor-/Nachbedingung im Fenster "Eigenschaften" eingeben, werden die
eckigen Klammern und der Schrägstrich automatisch in das Diagramm eingefügt.
© 2016 Altova GmbH
Altova UModel 2017
236
UML-Diagramme
Verhaltensdiagramme
So erstellen Sie Elemente zusammengesetzter Zustände und Unterautomatenzustände
bzw. fügen diese ein:
Siehe Zusammengesetzte Zustände
Protokoll-Zustandsdiagramm-Elemente
Zustand
Ein einfaches Zustandselement mit nur einem Bereich.
Zusammengesetzter Zustand
Diese Art von Zustand enthält einen zweiten Bereich bestehend aus einer einzigen Region.
Innerhalb dieser Region können beliebig viele Zustände platziert werden.
Orthogonaler Zustand
Diese Art von Zustand enthält einen zweiten Bereich bestehend aus zwei oder mehreren
Regionen, wobei separate Regionen Gleichzeitigkeit kennzeichnen.
Wenn Sie mit der rechten Maustaste auf einen Zustand klicken und den Befehl Neu | Region
auswählen, können Sie neue Regionen hinzufügen.
Unterautomatenzustand
Mit Hilfe dieses Zustands können Sie die Einzelheiten eines Zustandsautomaten ausblenden.
Dieser Zustand hat keine Regionen, ist aber mit einem separaten Zustandsautomaten verknüpft.
Startzustand (Pseudozustand)
Der Beginn eines Prozesses.
Endzustand
Das Ende der Abfolge von Prozessen.
Eintrittspunkt (Pseudozustand)
Der Eintrittspunkt eines Zustandsautomaten oder eines zusammengesetzten Zustands.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
237
Austrittspunkt (Pseudozustand)
Der Austrittspunkt eines Zustandsautomaten oder eines zusammengesetzten Zustands.
Entscheidung
Dieses Element stellt eine dynamische bedingte Verzweigung dar, wobei einander gegenseitig
ausschließende Guard Trigger ausgewertet werden (OR Operation).
Kreuzung (Pseudozustand)
Dieses Element stellt das Ende der OR-Operation dar, die durch das Element "Entscheidung"
definiert ist.
Beendung (Pseudozustand)
Das Anhalten der Ausführung des Zustandsautomaten.
Gabelung (Pseudozustand)
Fügt eine vertikale Gabelungsleiste ein.
Dient zum Aufteilen von Sequenzen in nebenläufige Untersequenzen.
Gabelung horizontal (Pseudozustand)
Fügt eine horizontale Gabelungsleiste ein.
Dient zum Aufteilen von Sequenzen in nebenläufige Untersequenzen
Vereinigung (Pseudozustand)
Vereinigt/führt zuvor definierte Untersequenzen zusammen. Alle Aktivitäten müssen
abgeschlossen sein, bevor Sie fortfahren können.
Vereinigung, horizontal (Pseudozustand)
Vereinigt/führt zuvor definierte Untersequenzen zusammen. Alle Aktivitäten müssen
abgeschlossen sein, bevor Sie fortfahren können.
Verbindungspunktreferenz
Eine Verbindungspunktreferenz stellt eine Verwendung (als Teil eines Unterautomatenzustands)
eines Eintritts-/Austrittspunkts dar, der in der Zustandsautomatenreferenz durch den
Unterautomatenzustand definiert ist.
So fügen Sie Eintritts- oder Austrittspunkte zu einer Verbindungspunktreferenz hinzu:
Der Zustand, mit dem der Punkt verbunden ist, muss selbst einen
Unterautomatenzustand referenzieren. (sichtbar auf dem Register "Eigenschaften").
Dieser Unterautomat muss einen oder mehrere Eintritts- oder Austrittspunkte enthalten.
Protocol Transition
Eine direkte Beziehung zwischen zwei Zuständen. Ein Objekt im ersten Zustand führt eine oder
© 2016 Altova GmbH
Altova UModel 2017
238
UML-Diagramme
Verhaltensdiagramme
mehrere Aktionen durch und tritt anschließend abhängig von einem Ereignis und der Erfüllung
etwaiger Vor- oder Nachbedingungen in den zweiten Zustand ein.
Nähere Informationen dazu finden Sie unter Einfügen von Protokoll-Zustandselementen.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
9.1.4
Verhaltensdiagramme
239
Use Case-Diagramm
Eine Anleitung zum Hinzufügen von Klassen zum Diagramm finden Sie im Tutorial im Abschnitt
Use Cases.
© 2016 Altova GmbH
Altova UModel 2017
240
UML-Diagramme
9.1.5
Kommunikationsdiagramm
Altova Website:
Verhaltensdiagramme
UML-Kommunikationsdiagramme
In Kommunikationsdiagrammen werden Interaktionen d.h. Nachrichtenflüsse zwischen Objekten
zur Laufzeit und die Beziehungen zwischen den miteinander in Wechselbeziehung stehenden
Objekten dargestellt. Im Grunde dienen diese Diagramme zum Modellieren des dynamischen
Verhaltens von Anwendungsfällen (Use Cases).
Kommunikationsdiagramme weisen denselben Aufbau wie Sequenzdiagramme auf, mit
Ausnahme dessen, dass die Notation ein anderes Layout aufweist. Zur Kennzeichnung der
Reihenfolge der Nachrichten und der Schachtelung sind die Nachrichten nummeriert.
Sie können in UModel mit einer einzigen einfachen Aktion Kommunikationsdiagramme anhand
von Sequenzdiagrammen erstellen und umgekehrt. Nähere Informationen dazu finden Sie unter
"Generieren von Sequenzdiagrammen".
Einfügen von Kommunikationsdiagrammelementen
Verwendung der Symbolleisten-Schaltflächen:
1. Klicken Sie in der Kommunikationsdiagramm-Symbolleiste auf das entsprechende
Kommunikationssymbol.
2. Klicken Sie in das Kommunikationsdiagramm, um das Element einzufügen. Um mehrere
Elemente des ausgewählten Typs einzufügen, halten Sie die Strg-Taste gedrückt und
klicken Sie in das Diagrammfenster.
Ziehen vorhandener Elemente in das Kommunikationsdiagramm:
Elemente, die in anderen Diagrammen vorkommen, z.B. Klassen, können in ein
Kommunikationsdiagramm eingefügt werden.
1. Suchen Sie das gewünschte Element auf dem Register Modell-Struktur (Sie können dazu
das Suchfunktionstextfeld verwenden oder Strg + F drücken, um nach einem beliebigen
Element zu suchen).
2. Ziehen Sie das/die Element(e) in das Kommunikationsdiagramm.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
241
Lebenslinie
Das Element "Lebenslinie" ist Teil einer Interaktion mehrerer Elemente. Sie haben in UModel die
Möglichkeit auch andere Elemente in das Kommunikationsdiagramm einzufügen, z.B. Klassen.
Jedes dieser Elemente wird als neue Lebenslinie angezeigt. Sie können die Farben/Schattierung
der Lebenslinie über die "Farbverlauf Titel"-Auswahllisten auf dem Register "Stile" neu definieren.
Zur Erstellung einer Lebenslinie mit mehreren Zeilen, drücken Sie Strg + Eingabetaste, um
eine neue Zeile zu erstellen.
So fügen Sie eine Kommunikationslebenslinie ein:
1. Klicken Sie in der Titelleiste auf das Symbol "Lebenslinie" und anschließend auf das
Kommunikationsdiagramm, um sie einzufügen.
2. Geben Sie einen Namen für die Lebenslinie ein, um den Standardnamen "Lebenslinie1"
bei Bedarf zu ändern.
Nachrichten
Eine Nachricht ist ein Modellierungselement, das eine bestimmte Art von Kommunikation in einer
Interaktion definiert. Bei einer Kommunikation kann es sich z.B. um das Auslösen eines Signals,
den Aufruf einer Operation, das Erstellen oder Löschen einer Instanz handeln. Die Nachricht
definiert den Absender und Empfänger und um welche Art von Kommunikation es sich handelt.
Nachricht (Aufruf)
(Löschung)
Nachricht (Antwort)
Nachricht (Erstellung)
Nachricht
So fügen Sie eine Nachricht ein:
1. Klicken Sie auf das entsprechende Nachrichtensymbol in der Symbolleiste.
2. Ziehen Sie die Nachrichtenlinie auf die empfangenden Objekte.
Die Lebenslinie erscheint markiert, wenn die Nachricht an diese bestimmte Stelle
gezogen werden kann.
© 2016 Altova GmbH
Altova UModel 2017
242
UML-Diagramme
Verhaltensdiagramme
Anmerkung: Wenn Sie die Strg-Taste gedrückt halten, können Sie mit jedem Klick eine
Nachricht einfügen.
So fügen Sie weitere Nachrichten ein:
1. Rechtsklicken Sie auf die vorhandene Kommunikationsverbindung und wählen Sie Neu |
Nachricht.
Die Richtung, in die Sie den Pfeil ziehen, bestimmt die Richtung der Nachricht.
Antwortnachrichten können in jede der beiden Richtungen weisen.
Wenn Sie auf ein Nachrichtensymbol klicken und dabei die Strg-Taste gedrückt halten,
können Sie mehrere Nachrichten einfügen, indem Sie mehrmals ins Diagramm klicken
und die Maus ziehen.
Nachrichtennummerierung
In Kommunikationsdiagrammen wird die Nummerierung in Dezimalschreibweise verwendet,
wodurch die hierarchische Struktur der Nachrichten im Diagramm klarer ersichtlich ist. Bei der
Reihenfolge handelt es sich um eine durch Punkte getrennte Liste von aufeinander folgenden
Zahlen, gefolgt von einem Doppelpunkt und dem Namen der Nachricht.
Generieren von Sequenzdiagrammen anhand von
Kommunikationsdiagrammen:
Sie können in UModel in einer einzigen Aktion Kommunikationsdiagramme anhand von
Sequenzdiagrammen generieren und umgekehrt,
Rechtsklicken Sie an eine beliebige Stelle in einem Kommunikationsdiagramm und wählen Sie
im Kontextmenü den Befehl Sequenzdiagramm generieren.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
© 2016 Altova GmbH
Verhaltensdiagramme
243
Altova UModel 2017
244
UML-Diagramme
9.1.6
Interaktionsübersichtsdiagramm
Altova Website:
Verhaltensdiagramme
UML-Interaktionsübersichtsdiagramme
Interaktionsübersichtsdiagramme sind eine Variante von Aktivitätsdiagrammen und geben Ihnen
einen Überblick über die Interaktion zwischen anderen Interaktionsdiagrammen wie z.B. Sequenz, Aktivitäts, Kommunikations- oder Zeitverlaufsdiagrammen. Interaktionsübersichtsdiagramme
werden auf ähnliche Art wie Aktivitätsdiagramme und unter Verwendung derselben
Modellierungselemente (Start-/Endpunkte, Gabelungen, Vereinigungen usw.) erstellt.
Anstelle von Aktivitätselementen werden zwei Arten von Interaktionselementen verwendet: Die
Elemente "Interaktion" und "Interaktionsverwendung".
Sequenz-, Kommunikations-, Zeitverlaufs- oder Interaktionsübersichtsdiagramme werden als
Elemente in Form grafischer Symbole innerhalb eines Rahmens dargestellt, in dessen linker
oberer Ecke das Schlüsselwort "SD" angezeigt wird.
Elemente für Interaktionsinstanzen sind Referenzen, die auf vorhandene Interaktionsdiagramme
verweisen, wobei im Titelbereich des Rahmens das Schlüsselwort "Ref" und innerhalb des
Rahmens der Name der Interaktionsinstanz angezeigt wird.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
245
Einfügen von Interaktionsübersichtselementen
Verwendung der Symbolleisten-Schaltflächen:
1. Klicken Sie in der Interaktionsübersichtsdiagramm-Symbolleiste auf das entsprechende
Symbol
2. Klicken Sie in das Diagramm, um das Element einzufügen. Um mehrere Elemente des
ausgewählten Typs einzufügen, halten Sie die Strg-Taste gedrückt und klicken Sie in
das Diagrammfenster.
Ziehen vorhandener Elemente in das Interaktionsübersichtsdiagramm:
Elemente, die in anderen Diagrammen vorkommen, z.B. Sequenz-, Aktivitäts-, Kommunikationsoder Zeitverlaufsdiagramme, können in ein Interaktionsübersichtsdiagramm eingefügt werden.
1. Suchen Sie das gewünschte Element auf dem Register Modell-Struktur (Sie können dazu
das Suchfunktionstextfeld verwenden oder Strg + F drücken, um nach einem beliebigen
Element zu suchen).
2. Ziehen Sie das/die Element(e) in das Diagramm.
Einfügen eines Interaktionselements:
1. Klicken Sie in der Symbolleiste auf das Symbol "Aufrufverhalten-Aktion (Interaktion)"
und anschließend in das Interaktionsübersichtsdiagramm, um es einzufügen.
Wenn Sie die Beispieldatei Bank_Multilanguage.ump aus dem Ordner ...\Examples
verwenden, wird das "Collect Account Information" Sequenzdiagramm automatisch
eingefügt. Standardmäßig wird das erste in der Modell-Struktur gefundene
Sequenzdiagramm ausgewählt.
2. Um ein anderes Interaktionselement auszuwählen, klicken Sie auf dem Register
"Eigenschaften" auf die Auswahlliste Verhalten/Diagramm.
Daraufhin wird eine Liste aller Elemente angezeigt, die eingefügt werden können.
© 2016 Altova GmbH
Altova UModel 2017
246
UML-Diagramme
Verhaltensdiagramme
3. Klicken Sie auf das gewünschte Element, z.B. auf Connect to BankAPI.
Da es sich dabei auch um ein Sequenzdiagramm handelt, wird das Interaktionselement
als Symbol eines Sequenzdiagramms angezeigt.
Bei Auswahl von <ref> BankAPI wird die Instanz des Interaktionselements angezeigt.
Einfügen einer Interaktionselementinstanz:
1. Klicken Sie in der Symbolleiste auf das Symbol "Aufrufverhalten-Aktion
(Interaktionsverwendung)
und anschließend in das Interaktionsübersichtsdiagramm,
um das Element einzufügen.
Wenn Sie die Beispieldatei Bank_Multilanguage.ump aus dem Ordner ...
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
247
\UModelExamples verwenden, wird das "Collect Account Information"
Sequenzdiagramm automatisch als Interaktionselement eingefügt. Standardmäßig wird
das erste in der Modell-Struktur gefundene Sequenzdiagramm ausgewählt
2. Um das Interaktionselement zu ändern, doppelklicken Sie auf dem Register
"Eigenschaften" auf die Auswahlliste Verhalten.
Daraufhin wird eine Liste aller Elemente angezeigt, die eingefügt werden können.
3. Wählen Sie das gewünschte Element aus.
Beachten Sie, dass alle mit dieser Methode eingefügten Elemente wie in der Abbildung
oben angezeigt werden, d.h. mit "ref" im Titelbereich des Rahmens.
Verzweigungsknoten
Fügt einen Verzweigungsknoten mit einer einzigen eingehenden Transition und mehreren mit
Guards versehenen ausgehenden Transitionen ein. Nähere Informationen dazu finden Sie unter
"Erstellen einer Verzweigung".
Verbindungsknoten
Fügt einen Verbindungsknoten ein, der mehrere alternative durch den Verzweigungsknoten
definierte Transitionen zusammenführt. Gleichzeitige Prozesse werden dabei von diesem Knoten
nicht synchronisiert, sondern es wird einer der Prozesse ausgewählt.
Startknoten
Der Anfang eines Aktivitätsprozesses. Eine Interaktion kann mehrere Startknoten haben.
Aktivitätsendknoten
Das Ende des Interaktionsprozesses. Eine Interaktion kann mehrere Endknoten haben. Alle
Flüsse werden gestoppt, wenn der "erste" Endknoten erreicht wird.
Parallelisierungsknoten
Fügt einen vertikalen Parallelisierungsknoten ein.
Dient zum Teilen von Flüssen in mehrere parallele Flüsse.
Parallelisierungsknoten (horizontal)
Fügt einen horizontalen Parallelisierungsknoten ein.
Dient zum Teilen von Flüssen in mehrere parallele Flüsse.
© 2016 Altova GmbH
Altova UModel 2017
248
UML-Diagramme
Verhaltensdiagramme
Synchronisationsknoten
Fügt einen vertikalen Synchronisationsknoten ein.
Ein Synchronisationsknoten synchronisiert mehrere durch den Parallelisierungsknoten definierte
Flüsse.
Synchronisationsknoten (horizontal)
Fügt einen horizontalen Synchronisationsknoten ein.
Ein Synchronisationsknoten synchronisiert mehrere durch den Parallelisierungsknoten definierte
Flüsse.
Zeitdauerbedingung hinzufügen
Eine Zeitdauer definiert eine Wertespezifikation, die eine Zeitdauer zwischen einem Start- und
einem Endpunkt angibt. Eine Zeitdauer ist oft ein Ausdruck, der die Anzahl der Uhrticks darstellt,
die während dieser Dauer verstreichen.
Kontrollfluss
Ein Kontrollfluss ist eine Kante, d.h. eine mit einem Pfeil versehene Linie, die zwei Verhalten
verbindet und eine Interaktion startet, nachdem die vorherige zu Ende geführt wurde.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
9.1.7
Verhaltensdiagramme
249
Sequenzdiagramm
Altova Website:
UML-Sequenzdiagramme
UModel unterstützt das in UML definierte Standard-Sequenzdiagramm und ermöglicht die
einfache Manipulation von Objekten in Objekten und Nachrichten zur Modellierung von
Fallszenarios. Beachten Sie bitte, dass die in den folgenden Abschnitten gezeigten
Sequenzdiagramme nur in den Beispieldateien Bank_Java.ump, Bank_CSharp.ump und
Bank_MultiLanguage.ump im UModel-Ordner ...\UModelExamples verfügbar sind.
Bitte beachten Sie: Sie können ein Sequenzdiagramm nun direkt anhand von Quellcode (siehe
Sequenzdiagramm: Diagrammgenerierung) generieren.
© 2016 Altova GmbH
Altova UModel 2017
250
UML-Diagramme
Verhaltensdiagramme
Einfügen von Sequenzdiagrammelementen
In einem Sequenzdiagramm werden dynamische Laufzeit-Objektbeziehungen mit Hilfe von
Nachrichten modelliert. Sequenzdiagramme dienen im Allgemeinen zur Verdeutlichung einzelner
Use Case-Szenarios.
Lebenslinien sind die horizontal angeordneten Kästchen am oberen Rand des
Diagramms. Zusammen mit einer strichlierten vertikalen Linie stellen sie das Objekt und
seine Interaktionen in einem zeitlichen Ablauf dar. Nachrichten werden in Form von
Pfeilen zwischen den Lebenslinien von zwei oder mehr Objekten dargestellt.
Nachrichten werden zwischen sendenden und empfangenden Objekten gesendet und
als Pfeile mit einer Bezeichnung dargestellt. Nachrichten können eine Sequenznummer
und verschiedene weitere optionale Attribute haben: argument list usw. Es werden
bedingte, optionale und alternative Nachrichten unterstützt. Nähere Informationen dazu
finden Sie unter Combined Fragment .
Nähere Informationen finden Sie unter den folgenden Themen:
Lebenslinie
Combined Fragment
Interaction Use
Gate
Zustandsinvariante
Nachrichten
Sequenzdiagramm- und andere UModel-Elemente können auf verschiedene Arten in ein
Sequenzdiagramm eingefügt werden.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
251
Über die Symbolleistensymbole:
1. Klicken Sie in der Sequenzdiagrammsymbolleiste auf das jeweilige
Sequenzdiagrammsymbol.
2. Klicken Sie in das Sequenzdiagramm, um das Element einzufügen. Um mehrere
Elemente des ausgewählten Typs einzufügen, halten Sie die Strg-Taste gedrückt und
klicken Sie in das Diagrammfenster.
Ziehen bestehender Elemente in das Sequenzdiagramm:
Die meisten Classifier-Arten sowie Elemente, die in anderen Sequenzdiagrammen vorkommen,
können in ein bestehendes Sequenzdiagramm eingefügt werden.
1. Suchen Sie das gewünschte Element auf dem Register "Modell-Struktur" (Sie können
dazu das Suchfunktionstextfeld verwenden oder Strg + F drücken).
2. Ziehen Sie das Element/die Elemente in das Sequenzdiagramm.
Lebenslinie
Lebenslinie
Eine Lebenslinie ist als einzelnes Element an einer Interaktion beteiligt. Sie haben in UModel die
Möglichkeit auch andere Elemente in das Sequenzdiagramm einzufügen, z.B. Klassen und
Akteure. Jedes dieser Elemente wird als neue Lebenslinie angezeigt, sobald es vom Register
"Modell-Struktur" in das Diagrammfenster gezogen wurde.
Die Bezeichnung der Lebenslinie wird in einer Leiste am oberen Rand des Sequenzdiagramms
angezeigt. Die Beschriftungen können in der Leiste neu positioniert und in der Größe angepasst
© 2016 Altova GmbH
Altova UModel 2017
252
UML-Diagramme
Verhaltensdiagramme
werden, wobei die Änderungen sofort im Diagrammfenster zu sehen sind. Auch die Farben/
Schattierung der Beschriftung lassen sich über die Farbverlaufsauswahllisten für den Titel auf dem
Register "Stile" anpassen.
Zur Erstellung einer Lebenslinie mit mehreren Zeilen, drücken Sie Strg + Eingabetaste, um
eine neue Zeile zu erstellen.
Die meisten Arten von Classifiern können in ein Sequenzdiagramm eingefügt werden. Im Feld
"steht für" auf dem Register "Eigenschaften" wird der Elementtyp angezeigt, der als Lebenslinie
fungiert. Wenn Sie Eigenschaften, deren Typ definiert ist, in ein Sequenzdiagramm ziehen, wird
ebenfalls eine Lebenslinie erstellt.
Ausführungsspezifikation (Objektaktivierung):
Eine Ausführungsspezifikation (Aktivierung) wird in Form eines Kästchens (Rechteck) auf der
Objektlebenslinie dargestellt. Eine Aktivierung ist die Ausführung einer Prozedur und die Zeit, die
benötigt wird, um etwaige geschachtelte Prozeduren auszuführen. Aktivierungskästchen werden
automatisch erstellt, wenn zwischen zwei Lebenslinien eine Nachricht erstellt wird.
Eine rekursive Nachricht oder Selbstnachricht (self message), also eine Nachricht, die eine
andere Methode in derselben Klasse aufruft), erstellt gestapelte Aktivierungskästchen.
Ein-/Ausblenden von Aktivierungskästchen:
1. Klicken Sie auf das Register Stile und scrollen Sie zum unteren Ende der Liste.
Über das Auswahlfeld "Ausführungsspezifikationen anzeigen" können Sie die
Aktivierungskästchen im Sequenzdiagramm ein- und ausblenden.
Lebenslinienattribute:
Über das Kontrollkästchen Löschung können Sie einen Lösch-Marker oder Stopp zur Lebenslinie
hinzufügen, ohne eine Löschnachricht verwenden zu müssen.
Über das Feld Selektor können Sie einen Ausdruck eingeben, der den durch die Lebenslinie
dargestellten Teil spezifiziert, wenn das Element, das verbunden werden kann, mehrere Werte
hat, d.h. eine Multiplizität größer als eins aufweist.
Gehe zu Lebenslinienelement
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
253
Wenn Sie mit der rechten Maustaste auf eine Lebenslinie klicken, können Sie die Option "Gehe
zu XXX" auswählen, wobei XXX für den Typ der speziellen Lebenslinie steht, auf die Sie geklickt
haben. Das Element wird daraufhin im Fenster "Model-Struktur" angezeigt.
Combined Fragment
Combined Fragment
Combined Fragments sind Untereinheiten oder Abschnitte einer Interaktion. Der
Interaktionsoperator, der im Fünfeck in der linken oberen Ecke angezeigt wird, definiert, um
welche spezifische Art von Combined Fragment es sich handelt. Die Einschränkung definiert
daher das jeweilige Fragment z.B. loop fragment, alternative fragment usw., welches in der
Interaktion verwendet wird.
Über die Symbole für Combined Fragments in der Symbolleiste können Sie bestimmte Combined
Fragments einfügen: seq, alt oder loop. Auch durch Klicken auf die InteraktionsoperatorAuswahlliste können Sie das spezifische Interaktionsfragment definieren.
© 2016 Altova GmbH
Altova UModel 2017
254
UML-Diagramme
Verhaltensdiagramme
Interaktionsoperatoren
Lose Ordnung seq
Das Combined Fragment stellt eine lose Ordnung zwischen dem Verhalten der Operanden dar.
Alternativen alt
Nur einer der definierten Operanden wird ausgewählt. Der Operand muss eine "Guard-Expression"
haben, deren Auswertung "true" ergibt.
Wenn in einem der Operanden der Guard-Ausdruck "else" verwendet wird, wird dieser Operand
ausgeführt, wenn alle anderen Guards den Wert "false" zurückgeben. Die Guard-Expression kann
unmittelbar beim Einfügen eingegeben werden und wird innerhalb der beiden eckigen Klammern
angezeigt.
Bei der Interaktionsbedingung handelt es sich eigentlich um den Guard-Ausdruck zwischen
den eckigen Klammern.
Option opt
Option steht für eine Auswahl, wobei entweder nur der Operand ausgeführt wird oder nichts
passiert.
Abbruchfragment break
Der Break-Operator wird ausgewählt, wenn Guard "true" ist. Der Rest des umschließenden
Fragments wird ignoriert.
Parallel par
Zeigt an, dass das Combined Fragment eine parallele Zusammenführung von Operanden darstellt.
Strenge Ordnung strict
Das Combined Fragment stellt eine strenge Ordnung zwischen dem Verhalten der Operanden
dar.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
255
Schleife loop
Der Schleifen-Operand wird so oft wiederholt, wie in der Guard-Expression definiert.
Nachdem Sie diesen Operand ausgewählt haben, können Sie den Ausdruck (im SchleifenFünfeck) direkt bearbeiten, indem Sie darauf doppelklicken.
Kritischer Bereich critical
Das Combined Fragment stellt einen kritischen Bereich dar. Die Sequenz(en) darf/dürfen nicht
durch andere Prozesse unterbrochen werden.
Negativ neg
Definiert, dass das Fragment ungültig ist und dass alle anderen als gültig gelten.
Sicherstellung assert
Kennzeichnet das gültige Combined Fragment und seine Sequenzen. Wird oft in Kombination mit
consider- oder ignore-Operanden verwendet.
Ignore ignore
Definiert, welche Nachricht in der Interaktion ignoriert werden soll. Wird oft im Zusammenhang mit
"Sicherstellung" oder "Consider"-Operanden verwendet.
Consider consider
Definiert, welche Nachricht in der Interaktion berücksichtigt werden soll.
Hinzufügen von Interaktionsoperanden zu einem Combined Fragment:
1. Rechtsklicken Sie auf das Combined Fragment und wählen Sie Neu |
Interaktionsoperand. Der Textcursor wird automatisch so gesetzt, dass Sie die Guard
Condition eingeben können.
2. Geben Sie die Guard Condition für den Interaktionsoperanden ein, z.B. !passwordOK
und bestätigen Sie mit der Eingabetaste.
Mit Strg + Eingabetaste können Sie einen mehrzeiligen Interaktionsoperanden
erstellen.
Fügen Sie nun auf dieselbe Art den zweiten Interaktionsoperanden mit der Guard Condition
"else" ein.
Die einzelnen Operanden im Fragment werden durch strichlierte Linien getrennt.
Löschen von Interaktionsoperanden:
© 2016 Altova GmbH
Altova UModel 2017
256
UML-Diagramme
Verhaltensdiagramme
1. Doppelklicken Sie im Diagramm (nicht auf dem Register "Eigenschaften") auf die GuardExpression im Combined Fragment.
2. Löschen Sie die Guard-Expression zur Gänze und drücken Sie zur Bestätigung die
Eingabetaste.
Die Guard Expression/der Interaktionsoperand wird entfernt und die Größe des Combined
Fragment wird automatisch angepasst.
Interaction Use
Interaction Use
Das Element "Interaction Use" ist eine Referenz auf ein Interaktionselement. Mit Hilfe dieses
Elements können Sie Abschnitte einer Interaktion mit verschiedenen anderen Interaktionen
gemeinsam verwenden.
Wenn Sie auf die Auswahlliste "referenziert" klicken, können Sie die Interaktion auswählen, auf
die Sie referenzieren möchten. Der Name der ausgewählten Interaktion wird im Element
angezeigt.
Bitte beachten Sie:
Sie können auch ein vorhandenes Interaction Use-Element aus der Modell-Struktur ins
Diagrammfenster ziehen.
Gate
Gate
Ein Gate ist ein Verbindungspunkt, über den Nachrichten in und aus Interaktionsfragmente/n
übertragen werden können. Gates werden mittels Nachrichten miteinander verbunden.
1. Fügen Sie das Gate-Element in das Diagramm ein.
2. Erstellen Sie eine neue Nachricht und ziehen Sie den Cursor vom Gate zur Lebenslinie
oder von einer Lebenslinie auf ein Gate.
Dadurch werden die beiden Elemente miteinander verbunden. Das Quadrat, das das Gate
darstellt, wird nun kleiner angezeigt.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
257
Zustandsinvariante
Zustandsinvariante
Eine Zustandsinvariante ist eine Bedingung oder eine Einschränkung, die auf eine Lebenslinie
angewendet wird. Die Bedingung muss zutreffen, damit die Lebenslinie vorhanden sein kann.
So definieren Sie eine Zustandsinvariante:
1. Klicken Sie auf das Symbol "Zustandsinvariante" und anschließend auf die Lebenslinie
oder auf eine Objektaktivierung, um diese einzufügen.
2. Geben Sie die gewünschte Bedingung/Einschränkung ein, z.B. accountAmount > 0 und
drücken Sie zur Bestätigung die Eingabetaste.
Nachrichten
Nachrichten werden von sendenden an empfangende Lebenslinien gesendet und in Form
beschrifteter Pfeile angezeigt. Nachrichten können eine Sequenznummer und verschiedene
andere optionale Attribute aufweisen: argument list usw. Nachrichten werden von oben nach unten
angezeigt, d.h. die vertikale Linie stellt den zeitlichen Ablauf im Sequenzdiagramm dar.
Ein Aufruf ist eine synchrone oder asynchrone Kommunikation, die eine Operation
aufruft, über die die Kontrolle zum sendenden Objekt zurückkehren kann. Ein Aufrufpfeil
zeigt zum Anfang der Aktivierung, die der Aufruf initiiert.
Rekursionen oder Aufrufe einer anderen Operation desselben Objekts werden durch
Übereinanderstapeln von Aktivierungskästchen angezeigt (Ausführungsspezifikationen).
So fügen Sie eine Nachricht ein:
1. Klicken Sie in der Sequenzdiagramm-Symbolleiste auf das jeweilige Nachrichtensymbol.
2. Klicken Sie auf die Lebenslinie oder das Aktivierungskästchen des Sender-Objekts.
© 2016 Altova GmbH
Altova UModel 2017
258
UML-Diagramme
Verhaltensdiagramme
3. Ziehen Sie die Nachrichtenlinie auf die Lebenslinie oder das Aktivierungskästchen des
Empfängerobjekts. Objektlebenslinien erscheinen markiert, wenn Sie die Nachricht
dorthin ziehen können.
Die Richtung, in die Sie die Pfeile ziehen, bestimmt die Richtung der Nachricht.
Antwortnachrichten können in jede der beiden Richtungen weisen.
Ein oder mehrere Aktivierungskästchen wird bzw. werden automatisch auf den Sender-/
Empfänger-Objekten erstellt oder in der Größe angepasst. Sie können deren Größe auch
manuell durch Ziehen der entsprechenden Ziehpunkte anpassen.
Abhängig davon, welche Einstellungen Sie für die Nummerierung der Nachrichten aktiviert
haben, wird die Nummerierungsreihenfolge aktualisiert.
Wenn Sie auf ein Nachrichtensymbol klicken und dabei die Strg-Taste gedrückt halten,
können Sie mehrere Nachrichten einfügen. Ziehen Sie dazu einfach mehrere Nachrichten
in das Diagrammfenster.
So löschen Sie eine Nachricht:
1. Klicken Sie auf die jeweilige Nachricht, um sie auszuwählen.
2. Drücken Sie die Entf-Taste, um die Nachricht aus dem Modell zu löschen oder
rechtsklicken Sie auf die Nachricht und wählen Sie den Befehl "Aus Diagramm löschen".
Die Nummerierung der Nachrichten und die Aktivierungskästchen der verbleibenden
Objekte werden aktualisiert.
"Gehe zu-Operation" für Call-Nachrichten:
Die durch Call-Nachrichten referenzierten Operationen werden in Sequenz- und
Kommunikationsdiagrammen verwendet.
1. Rechtsklicken Sie auf eine Call-Nachricht und wählen Sie den Option "Gehe zu
Operation".
Die Anzeige ändert sich und die die Verbindungsoperation wird auf dem Register "ModellStruktur" angezeigt.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
259
Bitte beachten Sie:
Statische Operationsnamen werden in Sequenzdiagrammen unterstrichen angezeigt.
So positionieren Sie zusammengehörige Nachrichten:
1. Klicken Sie auf die entsprechende Nachricht und ziehen Sie sie in vertikaler Richtung, um
sie neu zu positionieren. Standardmäßig werden beim Neupositionieren einer Nachricht
alle mit der aktiven in Zusammenhang stehenden Nachrichten mitverschoben.
Mit Strg + Klick können Sie mehrere Nachrichten auswählen.
So positionieren Sie Nachrichten einzeln:
1. Klicken Sie auf das Symbol "Verschieben zusammengehöriger Nachrichten ein/
aus"
, um diese Funktion zu deaktivieren.
2. Klicken Sie auf die gewünschte Nachricht und ziehen Sie sie, um sie zu verschieben.
Nur die ausgewählte Nachricht wird beim Ziehen verschoben. Sie können die Nachricht an
einer beliebigen Stelle auf der vertikalen Achse zwischen den Objektlebenslinien
positionieren.
So erstellen Sie automatisch Antwortnachrichten:
1. Klicken Sie auf die Schaltfläche "Automatische Erstellung von Antworten auf
Nachrichten (Call) ein/aus"
.
2. Erstellen Sie eine neue Nachricht zwischen den beiden Lebenslinien. Daraufhin wird
automatisch eine Antwortnachricht eingefügt.
Nachrichtennummerierung:
UModel unterstützt verschiedene Methoden der Nachrichtennummerierung: hierarchisch, einfach
und keine.
© 2016 Altova GmbH
Altova UModel 2017
260
UML-Diagramme
Keine
Verhaltensdiagramme
entfernt alle Nachrichtennummern.
Einfach
nummeriert alle Nachrichten von oben nach unten, also in der Reihenfolge,
in der sie auf der Zeitachse vorkommen, durch.
Hierarchisch
verwendet eine Dezimaldarstellung, sodass die hierarchische Struktur
der Nachrichten im Diagramm deutlich wird. Die Hierarchie wird in Form einer durch
Punkte getrennten Nummerierung, gefolgt von einem Doppelpunkt und dem Namen der
Nachricht dargestellt.
So wählen Sie die Art der Nachrichtennummerierung aus:
Es gibt zwei Methoden, um das Nummerierungssystem auszuwählen:
Klicken Sie auf das jeweilige Symbol in der Symbolleiste.
Wählen Sie das Nummerierungssystem über das Register "Stile" aus.
Um das Nummerierungssystem über das Register "Stile" auszuwählen:
1. Klicken Sie auf das Register "Stile" und scrollen Sie hinunter zum Feld
Nachrichtennummern.
2. Klicken Sie auf das Auswahllistenfeld und wählen Sie die gewünschte
Nummerierungsoption aus.
Die gewählte Nummerierungsoption wird sofort im Sequenzdiagramm angezeigt.
Bitte beachten Sie:
Bei Vorhandensein nicht eindeutiger Spuren werden mit dem gewählten
Nummerierungssystem nicht immer alle Nachrichten richtig nummeriert. Fügen Sie in
diesem Fall Antwortnachrichten hinzu, um Unklarheiten zu beseitigen.
Antwortnachrichten:
Zum Erstellen von Antwortnachrichten stehen Nachrichtenantwortsymbole zur Verfügung. Diese
werden als strichlierte Pfeile dargestellt.
Im Allgemeinen geht es außerdem aus dem unteren Bereich der Aktivierungskästchen - falls
diese aktiviert sind - hervor, ob Antwortnachrichten erwartet werden. Wenn Aktivierungskästchen
deaktiviert wurden (Register "Stile" | Show Execution Specifics=false), sollten aus Gründen der
Übersichtlichkeit Pfeile verwendet werden.
Wenn Sie die Schaltfläche "Automatische Erstellung von Antworten auf Nachrichten (Call) ein/
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
261
aus"
aktivieren, wird automatisch eine syntaktisch korrekte Antwortnachricht erstellt, wenn Sie
eine Call-Nachricht zwischen Lebenslinien/Aktivierungskästen erstellen.
Erstellen von Objekten mit Hilfe von Nachrichten:
1. Nachrichten können neue Objekte erstellen. Dies erfolgt über das Symbol "Nachricht
(Erstellung)
.
2. Ziehen Sie den Nachrichtenpfeil zur Lebenslinie eines bestehenden Objekts, um das
Objekt zu erstellen. Diese Nachrichtenart endet in der Mitte eines Objektrechtecks und
positioniert das Objektkästchen oft in vertikaler Richtung neu.
Senden von Nachrichten an bestimmte Klassenmethoden/-operationen in
Sequenzdiagrammen
Nachdem Sie eine Klasse aus der Modellstruktur in ein Sequenzdiagramm eingefügt haben,
können Sie anschließend mit Hilfe der UModel Syntaxhilfe und der Autokomplettierungsfunktionen
eine Nachricht von einer Lebenslinie zu einer bestimmten Methode der Empfängerklasse
(Lebenslinie) erstellen.
1. Erstellen Sie eine Nachricht zwischen zwei Lebenslinien, wobei es sich beim
Empfängerobjekt um eine Klassenlebenslinie (Bank) handeln muss.Nachdem Sie den
Nachrichtenpfeil gezogen haben, erscheint der Name der Nachricht automatisch
markiert.
2. Geben Sie über die Tastatur ein Zeichen ein, z.B. "b". Es erscheint ein Popup-Fenster
mit einer Liste der verfügbaren Klassenmethoden.
3. Wählen Sie eine Operation aus der Liste aus, z.B. collectAccountinfos und drücken Sie
die Eingabetaste.
4. Drücken Sie die Leertaste und anschließend die Eingabetaste, um das automatisch
vorgegebene Klammerzeichen auszuwählen.
© 2016 Altova GmbH
Altova UModel 2017
262
UML-Diagramme
Verhaltensdiagramme
Es erscheint ein Syntaxhilfefenster, über das Sie den Parameter korrekt eingeben
können.
Erstellen von Operationen in referenzierten Klassen
Wenn Sie die Schaltfläche "Automatische Erstellung von Operationen in der Zielkomponente
durch Eingabe von Operationsnamen ein-/ausschalten"
aktivieren, wird die entsprechende
Operation in der referenzierten Klasse automatisch erstellt, wenn Sie eine Transition erstellen und
einen Namen myOperation() eingeben.
Anmerkung: Operationen können nur dann automatisch erstellt werden, wenn sich der
Zustandsautomat innerhalb einer Klasse oder Schnittstelle befindet.
Nachrichtensymbole:
Nachricht (Aufruf)
Nachricht (Antwort)
Nachricht (Erstellung)
Nachricht (Löschung)
Asynchrone Nachricht (Aufruf)
Asynchrone Nachricht (Antwort)
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
263
Asynchrone Nachricht (Löschung)
Verschieben zusammengehöriger Nachrichten ein/aus
Automatische Erstellung von Antworten auf Nachrichten (Call) ein/aus
Automatische Erstellung von Operationen in der Zielkomponente durch Eingabe von
Operationsnamen ein-/ausschalten
Generieren von Sequenzdiagrammen anhand von Quellcode
Sie können in UModel nun Sequenzdiagramme direkt anhand von Code erstellen. .
Im Beispiel unten sehen Sie, wie man automatisch ein Sequenzdiagramm unter Verwendung
einer bestehenden Methode erstellt. Sie können auf diese Weise natürlich auch anhand Ihres
eigenen Codes ein Sequenzdiagramm erstellen. Die Methode steht im OrgChart-Paket zur
Verfügung, welches im Tutorial mit dem Befehl Projekt | Quellverzeichnis importieren
importiert wurde. Nähere Informationen zum Importieren von Code finden Sie im Tutorial unter
Round-Trip Engineering (Code - Modell - Code).
1. Klicken Sie, nachdem Sie den Code importiert haben, in der Modellstruktur mit der
rechten Maustaste auf die main Methode der Klasse OrgChartTest und wählen Sie den
Befehl "Sequenzdiagramm generieren..."
Daraufhin wird das Dialogfeld "Sequenzdiagrammgenerierung", angezeigt, in dem Sie die
Einstellungen dazu definieren können.
© 2016 Altova GmbH
Altova UModel 2017
264
UML-Diagramme
Verhaltensdiagramme
2. Wählen Sie die gewünschten Darstellungs- und Layout-Optionen aus und klicken Sie
anschließend auf OK, um das Diagramm zu generieren.
Mit den oben gewählten Einstellungen wird das unten gezeigte Sequenzdiagramm
erzeugt.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
265
Anmerkungen:
Sie können nicht anzeigbaren Aufrufen eine spezielle Farbe zuweisen.
Die maximale Aufruftiefe definiert die Rekursionstiefe für das Diagramm.
Mit der Option "Zu ignorierende Namen" können Sie eine kommagetrennte Liste von
Typen definieren, die im Sequenzdiagramm nicht aufscheinen sollen, wenn es generiert
wird.
Mit der Option "Zu ignorierende Operationsnamen" können Sie eine kommagetrennte
Liste von Operationen definieren, die im generierten Sequenzdiagramm nicht aufscheinen
sollen (initComponents werden standardmäßig automatisch hinzugefügt).
Wenn Sie die Operationsnamen, z.B. "InitComponents", zur Liste hinzufügen, wird die
komplette Operation ignoriert. Wenn Sie der Operation in der Liste ein + (Pluszeichen)
voranstellen, z.B. +InitComponent, werden die Operationsaufrufe im Diagramm
angezeigt, jedoch ohne Inhalt.
Mit der Option "In kleinere Diagramme aufteilen, wo angebracht" werden
Sequenzdiagramme in kleinere Subdiagramme aufgeteilt, zwischen denen zur
einfacheren Navigation automatisch Hyperlinks angelegt werden.
Sequenzdiagramme werden automatisch aktualisiert, wenn Sie das komplette UModel-Projekt
© 2016 Altova GmbH
Altova UModel 2017
266
UML-Diagramme
Verhaltensdiagramme
aktualisieren. Sequenzdiagramme werden nicht aktualisiert, wenn Sie Klassen oder einzelne
Dateien extern aktualisieren. Sie können die Einstellung jedoch ändern, indem Sie auf den
Diagrammhintergrund klicken und das Kontrollkästchen "Automatische Aktualisierung" aktivieren.
Wenn Sie auf das
Symbol des Felds "Automatische Aktualisierung" klicken, wird das
Dialogfeld "Sequenzdiagrammgenerierung" geöffnet, in dem Sie die Einstellung für die
Generierung von Sequenzdiagrammen ändern können.
Generieren von Sequenzdiagrammen anhand von Eigenschaften
Sie können in UModel mehrere Sequenzdiagramme anhand mehrerer Optionen sowie
Sequenzdiagramm anhand von Getter / Setter-Eigenschaften generieren.
Erstellen mehrerer Sequenzdiagramme anhand mehrerer Operationen:
1. Wählen Sie die Menüoption Projekt | Sequenzdiagramme anhand von Code
generieren.
Daraufhin wird das Dialogfeld Wählen Sie eine oder mehrere Operationen aus
geöffnet.
2. Wählen Sie die Operationen aus, für die Sie ein Sequenzdiagramm generieren möchten,
und klicken Sie auf OK. (Verwenden Sie, wenn nötig, eine der Schaltflächen "Alle
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
267
öffentlichen auswählen" oder "Alles auswählen").
Wenn Sie auf OK klicken, wird das Dialogfeld "Sequenzdiagrammgenerierung" geöffnet,
in dem Sie weitere Optionen zur Generierung von Sequenzdiagrammen definieren können.
3. Klicken Sie auf OK, um die Sequenzdiagramme zu generieren.
Für jede der ausgewählten Operationen wird ein Sequenzdiagramm generiert.
Anmerkung: Sie können Getter und Setter nun beim Generieren von Sequenzdiagrammen
wahlweise inkludieren oder exkludieren.
Erstellen eines Sequenzdiagramms anhand von getter/setter-Eigenschaften
(C#, VB .NET)
1. Klicken Sie mit der rechten Maustaste auf eine Operation mit einem GetAccessor/
SetAccessor Stereotyp.
2. Wählen Sie im Kontextmenü die Option aus, mit der das gewünschte Sequenzdiagramm
generiert werden soll (Getter/Setter).
Daraufhin wird das Dialogfeld "Sequenzdiagrammgenerierung" geöffnet, in dem Sie die
Eigenschaften für die Darstellung des Sequenzdiagramms einstellen können.
© 2016 Altova GmbH
Altova UModel 2017
268
UML-Diagramme
Verhaltensdiagramme
3. Klicken Sie auf OK, um das Sequenzdiagramm zu generieren.
Generieren von Code anhand von Sequenzdiagrammen
UModel kann Code anhand eines mit mindestens einer Operation verknüpften Sequenzdiagramms
generieren.
Die Generierung von Code anhand von Sequenzdiagrammen steht zur Verfügung für:
VB.NET, C# und Java
UModel Standalone Edition, Eclipse und Visual Studio Edition
alle drei UModel Editions
Code anhand von Sequenzdiagrammen kann auf zwei Arten erstellt werden:
durch einen Reverse Engineering Vorgang. Siehe dazu Generieren von
Sequenzdiagrammen anhand von Quellcode,
indem ein mit einer Operation verknüpftes Sequenzdiagramm von Grund auf neu erstellt
wird. Mit einem Rechtsklick auf die Operation in der Modell-Struktur können Sie über das
Kontextmenü den Befehl Sequenzdiagramm für Code erstellen aufrufen.
Anmerkungen:
Wenn Sie ein mit Reverse Engineering erstelltes Sequenzdiagramm als Basis verwenden,
vergewissern Sie sich, dass die Option "Code in Anmerkungen anzeigen" beim Reverse
Engineering aktiviert ist, damit kein Code verloren geht, wenn Sie wieder mit dem Forward
Engineering beginnen.
Dies ist darauf zurückzuführen, dass in einem UML-Sequenzdiagramm nicht alle Funktionen von
VB.NET, Java und C# angezeigt werden können. Daher werden diese Codeabschnitte in Form von
Code-Anmerkungen angezeigt.
So fügen Sie bei der Erstellung eines Sequenzdiagramms einfachen Text als Code
hinzu:
1. Hängen Sie eine Anmerkung an eine Lebenslinie in einem Sequenzdiagramm an.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
269
2. Geben Sie den Code ein, der in den endgültigen Quellcode geschrieben werden soll.
Aktivieren Sie im Bereich "Eigenschaften" das Kontrollkästchen "Ist Code", damit diese
Anmerkung zur Verfügung steht.
Ein Beispiel dazu finden Sie unter Hinzufügen von Code zu Sequenzdiagrammen.
Wenn bei jedem Start eines Code Engineering automatisch ein Sequenzdiagramm für das Code
Engineering verwendet werden soll:
aktivieren Sie im Bereich "Eigenschaften" das Kontrollkästchen "Für das Forward
Engineering verwenden", wenn das Sequenzdiagramm ausgewählt ist.
Der alte Code geht beim Forward Engineering von Code anhand eines Sequenzdiagramms immer
verloren, da er durch den neuen Code überschrieben wird.
Menü "Projekt":
1. Wählen Sie die Menüoption Projekt | Code von Sequenzdiagrammen generieren.
Daraufhin werden Sie aufgefordert, das/die gewünschten Sequenzdiagramm(e)
auszuwählen.
Wenn Sie auf die Schaltfläche "Alles auswählen" klicken, werden alle
Sequenzdiagramme im UModel-Projekt ausgewählt.
2. Klicken Sie auf OK, um den Code zu generieren.
Im Fenster "Meldungen" wird der Status der Codegenerierung angezeigt.
Model-Struktur:
Klicken Sie mit der rechten Maustaste auf ein Sequenzdiagramm und wählen Sie den
Befehl "Code von Sequenzdiagramm generieren".
© 2016 Altova GmbH
Altova UModel 2017
270
UML-Diagramme
Verhaltensdiagramme
Sequenzdiagramm, das Code einer Operation enthält:
1. Klicken Sie in den leeren Bereich des Sequenzdiagramms, das Code einer Operation
enthält.
2. Wählen Sie den Befehl "Code von Sequenzdiagramm generieren".
Mit diesem Befehl wird das Forward Engineering gestartet.
So erstellen Sie ein Sequenzdiagramm für Code (Engineering):
1. Klicken Sie in der Model-Struktur mit der rechten Maustaste auf eine Operation und
wählen Sie den Befehl "Sequenzdiagramm für Code erstellen".
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
271
Sie werden daraufhin gefragt, ob Sie das neue Diagramm für das Forward Engineering
verwenden möchten.
Das Ergebnis ist ein neues Sequenzdiagramm, das die Lebenslinie dieser Klasse enthält.
Hinzufügen von Code zu einem Sequenzdiagramm
Programmcode kann anhand eines neuen und eines mit Reverse Engineering erstellten
Sequenzdiagramms generiert werden, allerdings nur für ein Sequenzdiagramm, das mit der
"Hauptoperation" verknüpft ist.
Beim Reverse Engineering werden Standardelemente des Sequenzdiagramms, wie z.B.
CombinedFragments Codierungselementen (z.B. "if" Anweisungen, Schleifen usw.) "zugewiesen"
bzw. auf diese "gemappt".
Bei Programmanweisungen, für die es keine entsprechenden Sequenzdiagrammelemente gibt,
wie z.B. "i = i+1" werden in UModel "Code- Anmerkungen" verwendet, um Code zu Diagrammen
hinzuzufügen. Diese Anweisungen müssen anschließend mit der Lebenslinie verknüpft werden.
Beachten Sie, dass UModel diese Codefragmente nicht überprüft oder parst. Sie müssen vorher
sicherstellen, dass die Codefragmente korrekt und kompilierbar sind.
So fügen Sie Code zu einem Sequenzdiagramm hinzu:
1. Klicken Sie auf die Schaltfläche "Anmerkung"
© 2016 Altova GmbH
und klicken Sie anschließend auf
Altova UModel 2017
272
UML-Diagramme
Verhaltensdiagramme
das Modellelement, an dem diese eingefügt werden soll, z.B. CombinedFragment.
2 Geben Sie das Codefragment ein, z.B. return.
3. Klicken Sie auf den Ziehpunkt der eingefügten Anmerkung und ziehen Sie den Cursor auf
die Lebenslinie.
4. Aktivieren Sie auf dem Register "Eigenschaften" das Kontrollkästchen "Ist Code", damit
dieses Codefragment bei der Codegenerierung inkludiert wird.
Wenn Sie eine Anmerkung in einem Sequenzdiagramm auswählen, die zur Codegenerierung
verwendet werden kann, so steht die Eigenschaft "Ist Code" im Fenster "Eigenschaften" zur
Verfügung. Durch Aktivieren/Deaktivieren des Kontrollkästchens können Sie zwischen "normalen"
Anmerkungen und Codegenerierungsanmerkungen wechseln.
Normale
Anmerkungen:
Codegenerierungsanm
erkungen
- werden mit einem schattierten Eck
angezeigt
Wenn das Kontrollkästchen "Für das Forward Engineering verwenden" aktiviert ist, wird der Code
automatisch bei jedem Forward Engineering aktualisiert. Wenn Änderungen am
Sequenzdiagramm vorgenommen wurden, wird der Code der Operation immer überschrieben.
Das unten gezeigte Sequenzdiagramm wurde durch Rechtsklick auf die OnCommand-Operation
und Auswahl des Befehls "Sequenzdiagramm von Code generieren" generiert. Der C# Code
dieses Beispiels steht im Ordner c:\Documents and Settings\<user>\My Documents\Altova
\UModel2012\UModelExamples\IDEPlugIn\Styles\ zur Verfügung. Über die Option "Projekt |
Quellprojekt importieren können Sie das Projekt importieren.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
273
Anhand dieses Sequenzdiagramms wird der unten gezeigte Code generiert.
Public void OnCommand(int nID, object pUModel)
{
//Generated by UModel. This code will be overwritten when you re-run code
generation.
if (!m_bPlugINVersionOK)
{
return;
}
if (nID == 3 || nID == 6)
{
OnSetStyles((IApplication)pUModel, "red");
}
if (nID == 4 || nID == 7)
© 2016 Altova GmbH
Altova UModel 2017
274
UML-Diagramme
Verhaltensdiagramme
{
OnSetStyles((IApplication)pUModel, "green");
}
GC.Collect();
}
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
9.1.8
Verhaltensdiagramme
275
Zeitverlaufsdiagramm
Altova Website:
UML-Zeitverlaufsdiagramme
Zeitverlaufsdiagramme dienen zum Darstellen von Änderungen am Status oder Zustand von einem
oder mehreren miteinander in Wechselbeziehung stehenden Objekten über einen bestimmten
Zeitraum. Zustände werden in Form von Zeitlinien dargestellt, die auf Message Events reagieren,
wobei eine Lebenslinie eine Classifier Instance oder Classifier Role darstellt.
Bei Zeitverlaufsdiagrammen handelt es sich um eine Sonderform eines Sequenzdiagramms. Im
Unterschied zum Sequenzdiagramm sind beim Zeitverlaufsdiagramm die Achsen vertauscht, d.h.
der Zeitverlauf wird aufsteigend von links nach rechts dargestellt und Lebenslinien werden in
separaten vertikal angeordneten Bereichen angezeigt.
Zeitverlaufsdiagramme werden im Allgemeinen zum Entwerfen von eingebetteter Software oder
Echtzeitsystemen verwendet.
Es gibt zwei verschiedene Arten von Zeitverlaufsdiagrammen: Die eine Art enthält, wie oben
gezeigt, eine Zustands-Zeitlinie, die andere allgemeinere Art enthält, wie unten gezeigt, eine
Lebenslinie.
© 2016 Altova GmbH
Altova UModel 2017
276
UML-Diagramme
Verhaltensdiagramme
Einfügen von Elementen des Zeitverlaufsdiagramms
Verwendung der Symbolleisten-Schaltflächen:
1. Klicken Sie in der Zeitverlaufsdiagramm-Symbolleiste auf das entsprechende
Zeitverlaufselement.
2. Klicken Sie zum Einfügen des Elements in das Zeitverlaufsdiagramm. Um mehrere
Elemente des ausgewählten Typs einzufügen, halten Sie die Strg-Taste gedrückt und
klicken Sie in das Diagrammfenster.
Ziehen vorhandener Elemente in das Zeitverlaufsdiagramm:
Sie können Elemente aus anderen Diagrammen, z.B. Klassen, in ein Zeitverlaufsdiagramm
einfügen.
1. Suchen Sie das gewünschte Element auf dem Register "Modell-Struktur" (über das
Suchfunktionstextfeld oder durch Drücken der Tasten Strg + F).
2. Ziehen Sie das Element/die Elemente in das Diagramm.
Lebenslinie
oder
Lebenslinie
Das Element "Lebenslinie" bildet einen Teil einer Interaktion und steht in zwei Formen zur
Verfügung: als Zustands-Zeitlinie oder als Wertverlaufslinie. Um eine Lebenslinie mit mehreren
Zeilen zu erstellen, drücken Sie Strg + Eingabetaste, um eine neue Zeile anzulegen.
So fügen Sie eine Zustands-Lebenslinie (Zustandsinvariante) ein und definieren
Zustandsänderungen:
1. Klicken Sie auf das Symbol "Lebenslinie (Zustand)"
in der Titelleiste und
anschließend in das Zeitverlaufsdiagramm, um die Lebenslinie einzufügen.
2. Geben Sie einen Namen für die Lebenslinie ein, um den Standardnamen (Lebenslinie1)
wenn nötig zu ändern.
3. Platzieren Sie den Mauszeigen über einen Abschnitt einer der Zeitlinien und klicken Sie
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
277
auf die linke Maustaste. Daraufhin wird die Linie ausgewählt.
4. Verschieben Sie den Mauszeiger an die Stelle, an der die Zustandsänderung eintreten
soll, und klicken Sie nochmals auf die linke Maustaste.
Beachten Sie: Während dieses Vorgangs wird ein Pfeil mit zwei Spitzen angezeigt.
An der Klickposition erscheint ein rotes Kästchen, das die Zeile an diesem Punkt teilt.
5. Ziehen Sie den Cursor auf der Linie nach rechts und ziehen Sie die Linie nach oben.
Beachten Sie, dass die Linien nur zwischen bestehenden Zuständen der aktuellen
Lebenslinie verschoben werden kann.
Sie können beliebig viele Zustandsänderungen pro Lebenslinie definieren. Wenn auf einer
Linie ein rotes Kästchen angezeigt wird, können Sie an eine beliebige Stelle im
Diagramm klicken, um es zu löschen.
So fügen Sie einen neuen Zustand zur Lebenslinie hinzu:
1. Rechtsklicken Sie auf die Lebenslinie und wählen Sie Neu | Zustand
(Zustandsinvariante).
Daraufhin wird ein neuer Zustand, z.B. Zustand2 zur Lebenslinie hinzugefügt.
So verschieben Sie einen Zustand innerhalb einer Lebenslinie:
1. Klicken Sie auf die Beschriftung des Zustands, den Sie verschieben möchten.
2. Ziehen Sie den Zustand an eine andere Stelle innerhalb der Lebenslinie.
So löschen Sie einen Zustand aus einer Lebenslinie:
1. Klicken Sie auf den Zustand und drücken Sie die Entf-Taste oder klicken Sie auf die
rechte Maustaste und wählen Sie den Befehl "Löschen".
So wechseln Sie zwischen Zeitverlaufsdiagrammtypen:
1. Klicken Sie auf das Symbol "Darstellung wechseln" rechts unterhalb der Lebenslinie.
© 2016 Altova GmbH
Altova UModel 2017
278
UML-Diagramme
Verhaltensdiagramme
Daraufhin wird stattdessen eine Wertverlaufslebenslinie angezeigt, der Kreuzungspunkt
stellt eine Änderung eines Zustands/Werts dar.
Beachten Sie bitte: Wenn Sie auf das Symbol "Lebenslinie (allgemeiner Wert)
klicken, wird die oben gezeigte Lebenslinie eingefügt. Sie können jederzeit zwischen
den beiden Darstellungen wechseln.
So fügen Sie einen neuen Zustand zur Wertverlaufslebenslinie hinzu:
1. Rechtsklicken Sie auf die Lebenslinie und wählen Sie Neu | Zustand
(Zustandsinvariante).
2. Bearbeiten Sie den neuen Namen, z.B. Zustand3 und bestätigen Sie die Änderung mit
der Eingabetaste.
Daraufhin wird ein neuer Zustand zur Lebenslinie hinzugefügt.
Gruppieren von Lebenslinien
Beim Platzieren oder Stapeln von Lebenslinien werden diese automatisch korrekt angeordnet,
wobei auch hinzugefügte Häkchen erhalten bleiben. Durch Ziehen des entsprechenden
Nachrichtenobjekts können auch Nachrichten zwischen separaten Lebenslinien erstellt werden.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
279
Tick-Symbol
Tick-Symbol
Dieses Symbol dient zum Einfügen der Tick-Symbole eines Zeitverlaufslineals auf einer
Lebenslinie.
So fügen Sie ein Tick-Symbol ein:
1. Klicken Sie auf das Tick-Symbol in der Symbolleiste und anschließend auf die
Lebenslinie, um es einzufügen.
2. Um mehrere Tick-Symbole einzufügen, halten Sie die Strg-Taste gedrückt, während Sie
auf verschiedene Positionen am Rand der Lebenslinie klicken.
3. Geben Sie in das dafür vorgesehene Feld eine Beschriftung für das Tick-Symbol ein.
Zum Neupositionieren der Tick-Symbole auf der Lebenslinie ziehen Sie die Symbole mit
der Maus an die gewünschte Stelle.
So ordnen Sie die Tick-Symbole in gleichmäßigen Abständen auf einer
Lebenslinie an:
1. Ziehen Sie im Hauptfenster ein Rechteck auf, um die einzelnen Tick-Symbole zu
markieren.
2. Klicken Sie in der Symbolleiste auf das Symbol Waagrecht anordnen
© 2016 Altova GmbH
.
Altova UModel 2017
280
UML-Diagramme
Verhaltensdiagramme
Auslösendes Ereignis
Auslösendes Ereignis
Das ExecutionEvent "Auslösendes Ereignis" dient dazu, eine Änderung im Zustand eines Objekts
anzuzeigen, die durch das entsprechende auslösende Ereignis verursacht wurde. Die
eingehenden Ereignisse werden mit einer Beschriftung versehen, um das Ereignis zu
kennzeichnen, das die Zustandsänderung verursacht.
So fügen Sie ein auslösendes Ereignis ein:
1. Klicken Sie auf das Symbol "Auslösendes Ereignis" und anschließend auf die
entsprechende Stelle auf der Zeitlinie, an der die Veränderung stattfindet.
2. Geben Sie einen Namen für das Ereignis ein. In diesem Beispiel heißt das Ereignis
"Code".
Beachten Sie, dass die Eigenschaften des Ereignisses auf dem Register "Eigenschaften"
angezeigt werden.
Zeitdauerbedingung
Zeitdauerbedingung
Eine Zeitdauer definiert eine Wertespezifikation zur Angabe einer Zeitdauer zwischen einem Startund einem Endpunkt. Eine Zeitdauer ist oft ein Ausdruck zur Darstellung der Ticks der Uhr, die
während dieser Zeitdauer verstreichen.
So fügen Sie eine Zeitdauerbedingung ein:
1. Klicken Sie auf das Symbol "Zeitdauerbedingung" und anschließend auf die Stelle auf der
Lebenslinie, an der die Bedingung angezeigt werden soll.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
281
Die Standard-Minimum- und Maximum-Werte "d..t" werden automatisch vorgegeben.
Durch Doppelklick auf die Zeitdauerbedingung oder durch Bearbeitung der Werte im
Fenster "Eigenschaften" können Sie diese Werte bearbeiten.
2. Mit Hilfe der Ziehpunkte können Sie die Größe des Objekts gegebenenfalls anpassen.
Ändern der Ausrichtung der Zeitdauerbedingung:
1. Klicken Sie auf das "Umdrehen"-Symbol, zum die Bedingung vertikal auszurichten.
Zeitbedingung
Eine Zeitbedingung wird im Allgemeinen als grafische Assoziation zwischen einem Zeitintervall
und dem Konstrukt, das es einschränkt, dargestellt. Normalerweise handelt es sich um eine
grafischen Assoziation zwischen dem Auftreten eines Ereignisses und einem Zeitintervall.
So fügen Sie eine Zeitbedingung ein:
1. Klicken Sie auf das Symbol "Zeitbedingung" und anschließend auf die entsprechende
Position auf der Lebenslinie, an der die Bedingung angezeigt werden soll.
© 2016 Altova GmbH
Altova UModel 2017
282
UML-Diagramme
Verhaltensdiagramme
Die Standard-Minimum- und Maximum-Werte "d..t" werden automatisch vorgegeben.
Durch Doppelklick auf die Zeitbedingung oder durch Bearbeitung der Werte im Fenster
"Eigenschaften" können Sie diese Werte bearbeiten.
Nachricht
Message (Aufruf)
Nachricht (Antwort)
Asynchrone Nachricht (Aufruf)
Eine Nachricht ist ein Modellierungselement, das eine bestimmte Art von Kommunikation in einer
Interaktion definiert. Dabei kann es sich z.B. um das Auslösen eines Signals, den Aufruf einer
Operation, das Erstellen oder Löschen einer Instanz handeln. Die Nachricht definiert die Art der
durch die absendende Ausführungsspezifikation definierten Kommunikation sowie den Absender
und den Empfänger.
Nachrichten werden zwischen sendenden und empfangenden Zeitlinien gesendet und werden als
beschriftete Pfeile angezeigt.
So fügen Sie eine Nachricht ein:
1. Klicken Sie auf das entsprechende Nachrichtensymbol in der Symbolleiste.
2. Klicken Sie an eine beliebige Stelle auf der Zeitlinie für das sendende Objekt, z.B. auf
Idle.
3. Ziehen Sie die Nachrichtenlinie auf die Zeitlinie der empfangenden Objekte, z.B. NoCard.
Die Lebenslinie erscheint markiert, wenn die Nachricht an diese bestimmte Stelle
gezogen werden kann.
Die Richtung, in die Sie den Pfeil ziehen, bestimmt die Richtung der Nachricht.
Antwortnachrichten können in jede der beiden Richtungen weisen.
Wenn Sie auf ein Nachrichtensymbol klicken und dabei die Strg-Taste gedrückt halten,
können Sie mehrere Nachrichten einfügen, indem Sie mehrmals ins Diagramm klicken
und die Maus ziehen.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Verhaltensdiagramme
283
So löschen Sie eine Nachricht:
1. Klicken Sie auf die gewünschte Nachricht.
2. Drücken Sie die Entf-Taste, um die Nachricht aus dem Modell zu löschen oder
rechtsklicken Sie darauf und wählen Sie den Befehl "Aus Diagramm löschen".
© 2016 Altova GmbH
Altova UModel 2017
284
UML-Diagramme
9.2
Strukturdiagramme
Strukturdiagramme
Diese Diagramme dienen zur Darstellung der Strukturelemente, aus denen ein System oder eine
Funktion besteht. Es werden sowohl die statischen, z.B. Klassendiagramm, als auch die
dynamischen Beziehungen, z.B. Objektdiagramm, dargestellt.
Strukturdiagramme
Klassendiagramm
Komponentendiagramm
Kompositionsstrukturdiagramm
Deployment-Diagramm
Objektdiagramm
Paketdiagramm
Profildiagramm
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
9.2.1
Strukturdiagramme
285
Klassendiagramm
Dieser Abschnitt enthält die folgenden Kapitel zu Aufgaben und Begriffen im Zusammenhang mit
Klassendiagrammen:
Anpassen von Klassendiagrammen
Außerkraftsetzen von Basisklassenoperationen und Implementieren von
Schnittstellenoperationen
Erstellen von Getter / Setter-Methoden
Ball-and-socket Notation
Hinzufügen von Ausnahmeereignissen zu Methoden einer Klasse
Generieren von Klassendiagrammen
Eine grundlegende Einführung in Klassendiagramme finden Sie unter Klassendiagramme im
Abschnitt "Tutorial" diese Dokumentation.
Anpassen von Klassendiagrammen
Erweitern / Ausblenden von Klassenbereichen in einem UML-Diagramm:
Es gibt verschiedene Methoden, um die verschiedenen Bereiche von Klassendiagrammen zu
erweitern.
Klicken Sie auf das + bzw. das - Symbol der gerade aktiven Klasse, um den jeweiligen
Bereich zu erweitern/auszublenden.
Ziehen Sie ein Rechteck (über dem Diagrammhintergrund) auf, um mehrere Klassen zu
markieren und klicken Sie anschließend die Schaltfläche "Erweitern/Ausblenden". Sie
können mehrere Klassen auch mit Hilfe von Strg+Klick auswählen.
Drücken Sie Strg + A, um alle Klassen auszuwählen. Klicken Sie anschließend in einer
der Klassen auf die Schaltfläche "Erweitern/Reduzieren", um die entsprechenden
Bereiche zu erweitern bzw. zu reduzieren.
Erweitern/Reduzieren von Klassenbereichen in der Modellstruktur:
In der Modellstruktur sind Klassen Unterelemente von Paketen und Sie können entweder die
Pakete oder die Klassen erweitern bzw. reduzieren.
Klicken Sie auf das Paket / die Klasse um es/sie zu erweitern und:
Drücken Sie die *-Taste, um das aktuelle Paket/die aktuelle Klasse und alle Subelemente zu
erweitern
Drücken Sie die +-Taste um das aktuelle Paket/die aktuelle Klasse zu öffnen.
Um das Paket/die Klassen zu reduzieren, drücken Sie die - Taste.
Sie können dazu die Standardtasten der Tastatur oder die Tasten des Ziffernblocks verwenden.
Ändern der Symbole für die Sichtbarkeit
© 2016 Altova GmbH
Altova UModel 2017
286
UML-Diagramme
Strukturdiagramme
Wenn Sie auf das Sichtbarkeitssymbol links von einer Operation
oder Eigenschaft
klicken,
wird eine Dropdown-Liste geöffnet, in der Sie den Sichtbarkeitsstatus ändern können. Sie können
auch ändern, welche Art von Sichtbarkeitssymbol angezeigt werden soll.
Klicken Sie im Diagrammfenster auf eine Klasse, anschließend auf das Register Stile
und scrollen Sie in der Liste hinunter bis zum Eintrag Sichtbarkeit anzeigen..
Sie können wählen zwischen dem oben gezeigten UModel Typ und den unten gezeigten
UML-konformen Symbolen.
Ein-/Ausblenden von Knoteninhalt (Klassenattribute, Operationen, Slots)
Sie können in UModel nun die Attribute oder Operationen einer Klasse einzeln ein- oder
ausblenden und definieren, welche angezeigt werden sollen, wenn Sie diese als neue Elemente
hinzufügen. Beachten Sie bitte: Sie können nun auch Objekt-Slots, also Instanzspezifikationen
mit derselben Methode ein- und ausblenden.
Rechtsklicken Sie auf eine Klasse z.B. SavingsAccount und wählen Sie die Menüoption
Knoteninhalt ein-/ausblenden.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
287
Wenn Sie in der Gruppe Attribute das Kontrollkästchen protected deaktivieren, werden die
"protected" Attribute im Vorschaufenster deaktiviert.
Sobald Sie die Auswahl mit OK bestätigen, werden die protected Attribute in der Klasse durch
drei Punkte "..." ersetzt. Wenn Sie auf die drei Punkte doppelklicken, wird das Dialogfeld geöffnet.
Beachten Sie: Einzelne Attribute können davon betroffen sein, wenn Sie nur das Kontrollkästchen
im Vorschaufenster deaktivieren.
Ein- / Ausblenden von Klassenattributen oder Operationen - Elementstile
Sie können in UModel mehrere Instanzen derselben Klasse in einem einzigen Diagramm oder
sogar in mehreren Diagrammen einfügen. Die Sichtbarkeitseinstellungen können für jede einzelne
dieser "Ansichten" der Klasse separat definiert werden. In der Abbildung unten sehen Sie zwei
Ansichten derselben Klasse, nämlich SavingsAccount.
Mit Hilfe der Option "Beim Hinzufügen neuer Elemente, die nicht durch Elementstile ausgeblendet
werden" können Sie festlegen, was sichtbar gemacht werden soll, wenn neue Elemente zur
Klasse hinzugefügt werden. Elemente können manuell oder automatisch während der
Codegenerierung zum Modelldiagramm hinzugefügt werden.
Elemente anzeigen: Zeigt alle neuen Elemente, die zu einer beliebigen Klassenansicht
© 2016 Altova GmbH
Altova UModel 2017
288
UML-Diagramme
Strukturdiagramme
hinzugefügt werden.
So wurde z.B. das Attribut interestRate:float in beiden "Ansichten" von SavingsAccount
ausgeblendet, sodass das Attribut minimumBalance sichtbar bleibt. Das Optionsfeld "Elemente
anzeigen" ist für die Klasse auf der linken Seite aktiv.
Wenn Sie in der linken Klasse auf die Auslassungspunkte "..." im Attributbereich
doppelklicken, sehen Sie, dass das Optionsfeld "Elemente anzeigen" aktiv ist.
Wenn Sie in der rechten Klasse auf die Auslassungspunkte "..." im Attributbereich
doppelklicken, sehen Sie, dass das Optionsfeld "Elemente ausblenden (mit Ausnahme der zu
diesem Knoten hinzugefügten)" aktiv ist.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
289
Wenn Sie auf die linke Klasse klicken und F7 drücken (oder in der Modellstruktur auf die Klasse
klicken und F7 drücken), wird ein neues Attribut (Property1) zur Klasse hinzugefügt.
Das neue Element ist nur in der linken Klasse sichtbar, da hier die Option "Elemente anzeigen"
aktiv ist. In der rechten Klasse ist die Option "Elemente ausblenden..." aktiv, sodass das neue
Element hier nicht angezeigt wird.
Wenn Sie auf die rechte Klasse klicken und F7 drücken, wird ein neues Attribut (Property2) zur
Klasse hinzugefügt. Dieses neue Attribut ist nun sichtbar, da in der Einstellung "Elemente
ausblenden..." spezifiziert ist "mit Ausnahme der zu diesem Knoten hinzugefügten", wobei
als Knoten diese Klasse bzw. dieses Modellierungselement bezeichnet wird.
© 2016 Altova GmbH
Altova UModel 2017
290
UML-Diagramme
Strukturdiagramme
Das Attribut Property2 ist auch in der linken Klasse sichtbar, da als Einstellung hier "Elemente
anzeigen" gewählt wurde.
Bitte beachten Sie:
Die Eigenschaftswerte von ausgeblendeten Elementen werden auch ausgeblendet, wenn Sie die
Option "Ausblenden" auswählen.
Ein- /Ausblenden von VS .NET-Bereichen:
UModel kann nun .NET-Eigenschaften in ihrem eigenen Bereich anzeigen. Aktivieren Sie dazu auf
dem Register "Stile" die Option ".NET-Eigenschaften in eigenem Bereich anzeigen".
Anzeige von VS .NET-Eigenschaften als Assoziationen
UModel kann .NET-Eigenschaften nun als Assoziationen anzeigen.
Klicken Sie mit der rechten Maustaste wie unten gezeigt auf eine C#-Eigenschaft, wählen Sie den
Befehl "Anzeigen | Alle .NET-Eigenschaften als Assoziationen" und ziehen Sie die Operation in
das Diagramm.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
291
Ändern der Syntaxfarbe von Operationen/Eigenschaften
Die Syntaxfärbung ist in UModel automatisch aktiviert. Sie können die Syntaxfarben allerdings
nach Ihren eigenen Wünschen anpassen. Unten sehen Sie die Standardeinstellungen.
So ändern Sie die Standardeinstellung für die Syntaxfarben (siehe unten):
1. Wechseln Sie zum Register "Stile" und scrollen Sie zu den vordefinierten SF-Einträgen.
2. Ändern Sie einen der SF-Farbeinträge, z.B. SF-Typ zu rot.
So deaktivieren Sie die Syntaxfärbung:
1. Wechseln Sie zum Register "Stile" und ändern Sie den Eintrag Syntaxfarben
verwenden in false.
2. Über die Einträge Attributfarbe oder Operation Farbe auf dem Register "Stile" können
Sie diese Einstellungen in der Klasse ändern.
© 2016 Altova GmbH
Altova UModel 2017
292
UML-Diagramme
Strukturdiagramme
Außerkraftsetzen von Basisklassenoperationen und Implementieren von
Schnittstellenoperationen
Sie haben in UModel die Möglichkeit, die Basisklassenoperationen/Schnittstellen vor der Code
Engineering-Phase außer Kraft zu setzen oder Schnittstellenoperationen einer Klasse zu
implementieren. Die kann über die Modell-Struktur, das Register "Favoriten" oder in
Klassendiagrammen durchgeführt werden.
1. Rechtsklicken Sie auf eine der abgeleiteten Klassen im Klassendiagramm, z.B. auf
CheckingAccount und wählen Sie den Befehl Operationen überschreiben/
implementieren.
Daraufhin wird das unten gezeigte Dialogfeld geöffnet.
2. Wählen sie die Operationen aus, die Sie außer Kraft setzen möchten und bestätigen Sie
mit OK.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
293
Mit Hilfe der Schaltflächen "Nicht definierte...auswählen" werden die jeweiligen
Methodenarten im Fenster auf der linken Seite ausgewählt.
Bitte beachten Sie:
Beim Öffnen des Dialogfelds werden Operationen von Basisklassen und implementierten
Schnittstellen, die dieselbe Signatur wie bestehende Operationen haben, automatisch
ausgewählt, d.h. aktiviert.
Erstellen von Getter / Setter-Methoden
Während des Modellierens müssen oft get/set-Methoden für bestehende Attribute erstellt werden.
UModel bietet für diesen Zweck zwei separate Methoden:
Verschieben eines Attributs mit Hilfe von Drag and Drop in den Operation-Bereich
Verwendung des Kontextmenüs zum Öffnen eines Dialogfelds, in dem Sie die get/setMethoden verwalten können
So erstellen Sie Getter/Setter-Methoden mittels Drag and Drop:
1. Ziehen Sie ein Attribut aus dem Attribut-Bereich in den Operations-Bereich.
Daraufhin wird ein Popup-Fenster angezeigt, in dem Sie auswählen können, welche Art
von get/set-Methode erstellt werden soll.
Wenn Sie den ersten Eintrag auswählen, wird eine get- und set-Methode für
interestRate:float erstellt.
© 2016 Altova GmbH
Altova UModel 2017
294
UML-Diagramme
Strukturdiagramme
So erstellen Sie Getter/Setter-Methoden über das Kontextmenü:
1. Rechtsklicken Sie auf den Namen einer Klasse, z.B. SavingsAccount und wählen Sie im
Kontextmenü die Option Getter/Setter-Operationen erstellen.
Daraufhin erscheint das Dialogfeld "Getters/Setters erstellen", in dem alle in der derzeit
aktiven Klasse vorhandenen Attribute angezeigt werden.
2. Verwenden Sie die Schaltflächen, um die Einträge als Gruppe auszuwählen oder klicken
Sie auf die Kontrollkästchen der einzelnen Methoden.
Bitte beachten Sie:
Sie können auch auf ein einzelnes Attribut rechtsklicken und auf dieselbe Art eine
Operation dafür erstellen.
Ball-and-socket Notation
UModel unterstützt die Ball-and-socket Notation von UML-Klassen, die eine Schnittstelle
benötigen, ein "Socket" (Buchse) und den Schnittstellennamen anzeigen, während Klassen, die
eine Schnittstelle implementieren den "ball" (Stecker) anzeigen.
In den Abbildungen oben realisiert Class2 Interface1, welche von den Klassen 1, 3 und 4
verwendet wird. Die Verwendungssymbole dienten zum Erstellen der Verwendungsbeziehung
zwischen den Klassen und der Schnittstelle.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
295
So wechseln Sie zwischen der Standard- und der Ball-and-socket-Ansicht:
Klicken Sie auf das Symbol "Darstellung wechseln" am unteren Rand des
Schnittstellenelements.
Hinzufügen von Ausnahmeereignissen zu Methoden einer Klasse
So fügen Sie Ausnahmeereignisse zu Methoden einer Klasse hinzu:
1. Klicken Sie im Fenster "Modellstruktur" auf die Methode der Klasse, zu der Sie das
Ausnahmeereignis hinzufügen möchten, z.B. in der Klasse "Account" auf getBalance.
2. Rechtsklicken Sie in das Fenster "Eigenschaften" und wählen Sie im Popup-Menü den
Befehl Ausnahmeereignis hinzufügen.
Daraufhin wird das Feld "Ausnahmeereignis" zum Fenster "Eigenschaften" hinzugefügt
und der erste Eintrag im Popup-Menü wird automatisch markiert.
3. Wählen Sie einen Eintrag im Popup-Menü aus oder geben Sie Ihren eigenen in das Feld
ein.
© 2016 Altova GmbH
Altova UModel 2017
296
UML-Diagramme
Strukturdiagramme
Generieren von Klassendiagrammen
Anstatt Klassendiagramme direkt in UModel zu erstellen, können Sie diese beim Import von
Quellcode oder Binärdateien in UModel-Projekte automatisch generieren (siehe Importieren von
Quellcode in Projekte und Importieren von Java-, C#- und VB-Binärdateien). Wenn Sie den
Assistenten verwenden, achten Sie auf folgende Dinge:
1) Im Dialogfeld "Quellprojekt importieren", "Binärtypen importieren" bzw. "Quellverzeichnis
importieren" muss das Kontrollkästchen Diagrammgenerierung aktivieren aktiviert sein.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
297
Dialogfeld "Quellproj ekt importieren"
2) Im Dialogfeld "Generierung von Inhaltsdiagrammen"müssen die Optionen Einzelnes
Diagramm generieren und/oder Diagramm pro Paket generieren aktiviert sein.
© 2016 Altova GmbH
Altova UModel 2017
298
UML-Diagramme
Strukturdiagramme
Dialogfeld "Generierung von Inhaltsdiagrammen"
Nach Fertigstellung des Imports stehen die generierten Klassendiagramme in der DiagrammStruktur unter "Klassendiagramme" zur Verfügung.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
299
Diagramm-Struktur
© 2016 Altova GmbH
Altova UModel 2017
300
UML-Diagramme
9.2.2
Kompositionsstrukturdiagramm
Altova Website:
Strukturdiagramme
UML-Kompositionsstrukturdiagramme
In UML 2.0 wurde das Kompositionsstrukturdiagramm hinzugefügt. Es dient dazu, die interne
Struktur einschließlich Bereichen, Ports und Konnektoren eines strukturierten Classifier oder
einer Kollaboration anzuzeigen.
Einfügen von Elementen eines Kompositionsstrukturdiagramms
Über die Schaltflächen der Symbolleiste:
1. Klicken Sie in der Symbolleiste auf das jeweilige Kompositionsstrukturdiagramm-Symbol.
2. Klicken Sie in das Kompositionsstrukturdiagramm, um das Element einzufügen. Um
mehrere Elemente des ausgewählten Typs einzufügen, halten Sie die Strg-Taste
gedrückt und klicken Sie in das Diagrammfenster.
Ziehen bestehender Elemente in das Kompositionsstrukturdiagramm:
Die meisten Elemente, die in anderen Kompositionsstrukturdiagrammen vorkommen, können in
ein bestehendes Kompositionsstrukturdiagramm eingefügt werden.
1. Suchen Sie das gewünschte Element auf dem Register "Modell-Struktur" (Sie können
das Element über das Suchfunktionstextfeld oder mit Hilfe von Strg + F suchen).
2. Ziehen Sie das/die Element(e) in das Kompositionsstrukturdiagramm.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
301
Kollaboration
Fügt ein Kollaborationselement ein. Dabei handelt es sich um eine Art von Classifier/Instanz, der/
die mit anderen Instanzen kommuniziert, um das Verhalten des Systems zu erzeugen.
Kollaborationsanwendung
Fügt ein Kollaborationsanwendungselement ein. Dabei handelt es sich um eine bestimmte
Kollaborationsanwendung, wobei bestimmte Klassen oder Instanzen die Rolle der Kollaboration
spielen. Eine Kollaborationsanwendung wird als strichlierte Ellipse angezeigt, die den Namen der
Instanz, einen Doppelpunkt und den Namen des Kollaborationstyps enthält.
Beim Erstellen von Abhängigkeiten zwischen Kollaborationsanwendungselementen muss das
Feld "Typ" ausgefüllt sein, damit eine Rollenbindung erstellt werden kann und die Zielkollaboration
muss mindestens einen Part/eine Rolle haben.
Part (Eigenschaft)
Fügt ein Part-Element ein, das eine Gruppe von einer oder mehreren Instanzen darstellt, die ein
Classifier besitzt, der diese enthält. Ein Part kann zu Kollaborationen und Klassen hinzugefügt
werden.
Port
Fügt ein Port-Element ein, das den Interaktionspunkt zwischen einem Classifier und seiner
Umgebung definiert. Ein Port-Element kann zu einem Part-Elementen mit einem definierte Typ
hinzugefügt werden.
Klasse
Fügt ein Klassenelement ein. Dabei handelt es sich um den eigentlichen Classifier, der in dieser
bestimmten Verwendung der Kollaboration vorkommt.
Konnektor
Fügt ein Konnektorelement hinzu, das verwendet werden kann, um zwei oder mehr Instanzen
eines Teils oder Ports zu verbinden. Der Konnektor definiert die Beziehung zwischen den
Objekten und identifiziert die Kommunikation zwischen den Rollen.
Abhängigkeit (Rollenbindung)
Fügt das Abhängigkeitselement ein. Dieses Element zeigt an, welches verbindbare Element des
© 2016 Altova GmbH
Altova UModel 2017
302
UML-Diagramme
Strukturdiagramme
Classifiers oder der Operation welche Rolle in der Kollaboration spielt.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
9.2.3
Strukturdiagramme
303
Komponentendiagramm
Eine Anleitung zum Hinzufügen von Komponentenelementen zum Diagramm finden Sie im Tutorial
im Abschnitt Komponentendiagramme.
© 2016 Altova GmbH
Altova UModel 2017
304
UML-Diagramme
9.2.4
Deployment-Diagramm
Strukturdiagramme
Eine Anleitung zum Hinzufügen von Knoten und Artefakten zum Diagramm finden Sie im Tutorial
im Abschnitt Deployment-Diagramme.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
9.2.5
Strukturdiagramme
305
Objektdiagramm
Eine Anleitung zum Hinzufügen neuer Objekte/Instanzen zum Diagramm finden Sie im Tutorial im
Abschnitt Objektdiagramme.
© 2016 Altova GmbH
Altova UModel 2017
306
UML-Diagramme
9.2.6
Paketdiagramm
Strukturdiagramme
In Paketdiagrammen werden die Struktur von Paketen und ihren Elementen sowie die
entsprechenden Namespaces angezeigt. Zusätzlich dazu können Sie in UModel einen Hyperlink
erstellen und zum jeweiligen Inhalt des Pakets navigieren.
Pakete werden als Ordner dargestellt und können in jedem der UML-Diagramme verwendet
werden. Sie werden jedoch hauptsächlich in Use Case- und Klassendiagrammen verwendet.
Automatische Generierung von Paketabhängigkeiten
UModel bietet die Möglichkeit, ein Paketabhängigkeitsdiagramm für jedes beliebige in der ModellStruktur bereits existierende Paket zu generieren.
Abhängigkeitslinks zwischen Paketen werden erstellt, wenn Referenzen zwischen den
Modellierungselementen dieser Pakete vorhanden sind, d.h. wenn es Abhängigkeiten zwischen
Klassen, abgeleitete Klassen oder Attributen gibt, die Typen haben, die in einem anderen Paket
definiert sind.
So generieren Sie ein Paketabhängigkeitsdiagramm:
1. Rechtsklicken Sie auf ein Paket in der Modell-Struktur, z.B. altova und wählen Sie den
Befehl In neuem Diagramm anzeigen | Paketabhängigkeiten... .
Daraufhin wird das Dialogfeld "Neues Paketabhängigkeitsdiagramm" geöffnet.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
307
2. Wählen Sie die gewünschten Optionen aus und klicken Sie zur Bestätigung auf OK.
Es wird ein neues Diagramm generiert, in dem die Paketabhängigkeiten des Pakets
"altova" angezeigt werden.
Einfügen von Paketdiagrammelementen
Verwendung der Symbolleisten-Schaltflächen:
1. Klicken Sie in der Paketdiagramm-Symbolleiste auf das entsprechende Symbol.
2. Klicken Sie in das Diagramm, um das Element einzufügen. Um mehrere Elemente des
ausgewählten Typs einzufügen, halten Sie die Strg-Taste gedrückt und klicken Sie in
das Diagrammfenster.
Ziehen vorhandener Elemente in das Paketdiagramm:
Sie können Elemente aus anderen Diagrammen, z.B. Pakete, in ein Paketdiagramm einfügen.
1. Suchen Sie das gewünschte Element auf dem Register "Modell-Struktur" (über das
Suchfunktionstextfeld oder durch Drücken der Tasten Strg + F).
2. Ziehen Sie das Element/die Elemente in das Diagramm.
Paket
© 2016 Altova GmbH
Altova UModel 2017
308
UML-Diagramme
Strukturdiagramme
Fügt das Paketelement in das Diagramm ein. Pakete dienen zum Gruppieren von Elementen und
zur Bereitstellung eines Namespace für die gruppierten Elemente. Da es sich bei einem Paket um
einen Namespace handelt, kann ein Paket einzelne Elemente oder alle Elemente anderer Pakete
importieren. Pakete können auch mit anderen Paketen zusammengeführt werden.
Profil
Fügt das Profil-Element ein, einen bestimmten Pakettyp, der auf andere Pakete angewendet
werden kann.
Das Profile-Paket dient zum Erweitern des UML-Metamodells. Das primäre Erweiterungskonstrukt
ist das Stereotyp, welches selbst Teil des Profils ist. Profile müssen immer in Beziehung zu
einem Referenz-Metamodell wie z.B. UML stehen und können nicht alleine stehen.
Abhängigkeit
Fügt das Abhängigkeits-Element ein, welches eine Bereitsteller/Client-Beziehung zwischen
Modellierungselementen - in diesem Fall Paketen oder Profilen anzeigt.
Paketimport
Fügt eine <<import>> Beziehung ein, welche anzeigt, dass die Elemente des inkludierten Pakets
in das inkludierende Paket importiert werden. Der Namespace des inkludierenden Pakets erhält
Zugriff auf den inkludierten Namespace; der Namespace des inkludierten Pakets ist nicht
betroffen.
Anmerkung: Elemente, die in einem Paket als "privat" definiert sind, können nicht
zusammengeführt oder importiert werden.
Paketmerge
Fügt eine <<merge>> Beziehung ein, welche anzeigt, dass die Elemente des
zusammengeführten (Quell)-Pakets einschließlich aller in das zusammengeführte (Quell)-Paket
importierten Inhalte in das zusammenführende (Ziel)-Paket importiert werden.
Wenn dasselbe Element im Zielpaket bereits vorhanden ist, werden die Definitionen dieser
Elemente um die Definitionen aus dem Zielpaket erweitert. Aktualisierte oder hinzugefügte
Elemente werden durch eine Generalisierungsbeziehung zurück zum Quellpaket gekennzeichnet.
Anmerkung: Elemente, die in einem Paket als "privat" definiert sind, können nicht
zusammengeführt oder importiert werden.
Profilzuweisung
Fügt eine Profilzuweisung ein, die anzeigt, welche Profile einem Paket zugewiesen wurden.
Hierbei handelt es sich um eine Art des Paketimports, der festlegt, dass ein Profil auf ein Paket
angewendet wird.
Das Profil erweitert das Paket, dem es zugewiesen wurde. Bei Zuweisung eines Profils mit Hilfe
des Symbols "Profilzuweisung" stehen alle Stereotype, die Teil dieses Profils sind, auch dem
Paket zur Verfügung.
Profilnamen werden als strichlierte Pfeile vom Paket zum zugewiesenen Profil mit dem
Schlüsselwort <<apply>> angezeigt.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
309
Generieren von Paketdiagrammen beim Importieren von Code oder Binärdateien
Sie können bei Import von Quellcode oder Binärdateien in ein UModel-Projekt (siehe Importieren
von Quellcode in Projekte und Importieren von Java-, C#- und VB-Binärdateien) Paketdiagramme
generieren. Nehmen Sie im Importassistenten folgende Einstellungen vor:
1) Im Dialogfeld "Quellprojekt importieren", "Binärtypen importieren" bzw. "Quellverzeichnis
importieren" muss das Kontrollkästchen Diagrammgenerierung aktivieren aktiviert sein.
Dialogfeld "Quellproj ekt importieren"
2) Im Dialogfeld "Generierung von Paketabhängigkeitsdiagrammen"muss die Option Diagramm
generieren aktiviert sein.
© 2016 Altova GmbH
Altova UModel 2017
310
UML-Diagramme
Strukturdiagramme
Dialogfeld "Generierung von Paketabhängigkeitsdiagrammen"
Nach Fertigstellung des Imports stehen die generierten Klassendiagramme in der DiagrammStruktur unter "Klassendiagramme" zur Verfügung.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
311
Diagramm-Struktur
© 2016 Altova GmbH
Altova UModel 2017
312
UML-Diagramme
9.2.7
Profildiagramm und Stereotype
Altova Website:
Strukturdiagramme
UML-Profildiagramme
In UML-Profildiagrammen können Sie benutzerdefinierte Stereotype, Eigenschaftswerte und
Constraints in einem bestimmten Diagramm definieren.
Profile und Stereotype dienen zur Erweiterung des UML-Metamodells. Das primäre
Erweiterungskonstrukt ist das Stereotyp, welches selbst Teil des Profils ist. Profile müssen
immer mit einem Referenzmetamodell wie z.B. UML verknüpft sein. Sie können nicht alleine
vorkommen. UModel unterstützt nun das Profildiagramm, in dem Sie Ihre eigenen Stereotype
definieren können.
Bei Erstellung neuer UModel-Projekte über den Menüeintrag Projekt | Unterprojekt inkludieren
muss die Datei Java Profile.ump (C# Profile.ump oder VB Profile.ump) angewendet werden.
Dieses Profil liefert die Java-Datentypen und Stereotype und wird für die Erstellung von Code für
das Round-Trip Engineering benötigt.
In den folgenden Abschnitten werden folgende Punkte beschrieben:
Hinzufügen von Stereotypen und Definieren von Eigenschaftswerten
Stereotype und Enumerationen
Benutzerdefinierte Stereotypstile
In der Datei Bank_CSharp.ump (im Ordner ...\UModelExamples) sehen Sie ein Beispiel dafür.
Das C#-Profil wurde auf das Paket "BankView" angewendet.
Profile sind bestimmte Arten von Paketen, die auf andere Pakete angewendet werden.
Stereotype sind bestimmte Metaklassen, die Standardklassen erweitern.
"Eigenschaftswerte" sind Werte von Stereotypattributen.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
313
Eine Profilzuweisung zeigt an, welche Profile auf ein Paket angewendet wurden. Es handelt sich
hierbei um eine Art von Paketimport, der angibt, dass ein Profil auf ein Paket angewendet wird.
Das Profil erweitert das Paket, auf das es angewendet wurde. Wenn Sie ein Profil mit Hilfe des
Symbols "Profilzuweisung"
anwenden, bedeutet dies, dass alle Stereotype, die Teil des
Profils sind, ebenfalls im Paket zur Verfügung stehen.
Profilzuweisungen werden in Form strichlierter Pfeile dargestellt, die vom Paket zum
zugewiesenen Profil weisen und mit dem Schlüsselwort <<apply>> versehen sind.
Stereotype:
Ein Stereotyp definiert, wie eine bestehende Metaklasse erweitert werden kann. Es handelt sich
hierbei um eine Art von Klasse, die Klassen durch Erweiterungen erweitert. Stereotype können
nur in Profilen erstellt werden. Stereotype werden als Klassen, in Klassendiagrammen dargestellt
und werden zusätzlich mit dem Schlüsselwort <<stereotype>> oberhalb des Klassennamens
versehen.
Stereotype können Eigenschaften haben, die als "Eigenschaftsdefinition" bezeichnet
werden.
Wenn das Stereotyp auf ein Modellelement angewendet wird, werden die Werte der
Eigenschaften als "Eigenschaftswerte" bezeichnet.
Bei Anwendung von Steretypen, die Eigenschaften enthalten, werden die
Eigenschaftswerte automatisch in einem Comment-Element (siehe unten) angezeigt.
Nähere Informationen zum Anpassen der Eigenschaftswerteansicht finden Sie unter
Eigenschaftswerte.
Stereotype haben Ihre eigene Stilfamilie.
Wenn das Attribut vom Typ "Enumeration" ist, erscheint ein Popup-Menü, aus dem Sie
einen der vordefinierten Werte auswählen können. Sie können auch den jeweiligen Wert
auf dem Register "Eigenschaften" eingeben/auswählen, z.B. <<GetAccessor>>
Sichtbarkeit = public, protected usw.
© 2016 Altova GmbH
Altova UModel 2017
314
UML-Diagramme
Strukturdiagramme
Hinzufügen von Stereotypen und Definieren von Eigenschaftswerten
In diesem Abschnitt wird die Datei Bank_MultiLanguage.ump aus dem Ordner ...
\UModelExamples verwendet.
Erstellen eines Profildiagramms und eines Stereotyps
1. Erstellen Sie in der Modellstrukturansicht ein neues Profil. Klicken Sie z.B. mit der
rechten Maustaste auf das Root-Paket und wählen Sie den Befehl Neues Element |
Profil und nennen Sie es "MyProfile".
2. Klicken Sie mit der rechten Maustaste in der Modell-Struktur auf das Paket MyProfile
und wählen Sie den Befehl Neues Diagramm | Profildiagramm. Daraufhin wird das
Profildiagramm zum ausgewählten Paket hinzugefügt.
3. Ziehen Sie das neu erstellte Profil "MyProfile" aus der Modellstruktur in das neue
Klassendiagramm.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
315
4. Ziehen Sie auch das Paket DesignView in das neue Klassendiagramm.
5. Klicken Sie in der Symbolleiste auf die Schaltfläche "Profilzuweisungen"
, wählen
Sie das Paket "DesignView" und ziehen Sie den Konnektor auf das Paket "MyProfile".
Auf diese Art können die in diesem Profil (MyProfile) definierten Stereotype im Paket
DesignView oder einem seiner Unterpakete verwendet werden.
6. Klicken Sie in der Symbolleiste auf die Schaltfläche "Stereotyp"
Stereotyp "class", z.B. MyKeyValuePair, ein.
und fügen Sie ein
7. Drücken Sie F7, um ein Attribut zum Stereotyp hinzuzufügen, z.B. MyKey1. Fügen Sie
auf dieselbe Art MyKey2 hinzu.
Damit ist die Definition des Stereotyps für den Moment abgeschlossen. Wir können das
© 2016 Altova GmbH
Altova UModel 2017
316
UML-Diagramme
Strukturdiagramme
Steretyp nun verwenden/zuweisen, wenn wir ein Attribut zu einer Klasse hinzufügen, die
Teil des Pakets "BankView" ist.
Verwenden / Zuweisen von Stereotypen
1. Doppelklicken Sie in der Modellstruktur auf das Klassendiagramm "BankView Main".
Daraufhin wird das Klassendiagramm geöffnet und die Assoziationen zwischen den
verschiedenen Klassen werden angezeigt. Wir wollen nun ein Attribut zur Klasse
"BankView" hinzufügen und das zuvor definierte Stereotyp zuweisen/verwenden.
2. Klicken Sie auf die Klasse BankView und drücken Sie F7, um ein Attribut hinzuzufügen.
3. Mit Hilfe der Bildlaufleiste des Registers "Eigenschaften" können Sie zum unteren
Bereich der Liste scrollen. Beachten Sie, dass das Stereotyp MyKeyValuePair im
Listenfeld zur Verfügung steht.
4. Klicken Sie auf das Kontrollkästchen von MyKeyValuePair um das Stereotyp zu
aktivieren/anzuwenden. Die beiden Eigenschaftswerte MyKey1 und MyKey2 werden nun
unter dem Eintrag "Stereotyp" angezeigt.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
317
5. Doppelklicken Sie in die entsprechenden Felder und geben Sie Werte ein.
Anzeigen von Eigenschaftswerten in einem Diagramm
1. Klicken Sie auf das Register "Stile", scrollen Sie zum Eintrag Eigenschaftswerte
anzeigen und wählen Sie den Eintrag alle.
Auf dem Diagrammregister werden die Eigenschaftswerte nun im Anmerkungselement
angezeigt. Wenn Sie im Anmerkungselement auf einen Wert doppelklicken, können Sie
ihn direkt bearbeiten.
Eigenschaftswerte anzeigen: in Bereich
© 2016 Altova GmbH
Altova UModel 2017
318
UML-Diagramme
Strukturdiagramme
Zeigt die Eigenschaftswerte in einem separaten Klassenbereich an.
Bitte beachten Sie:
Wenn Attribute oder Operationen über die Kontextmenüoption "Knoteninhalt ein-/
ausblenden" ausgeblendet werden, werden auch die Eigenschaftswerte zusammen mit
dem Modellierungselement ein- bzw. ausgeblendet.
Bei Assoziations-(Member) Ends können Stereotype durch Setzen der Option
MemberEnd-Stereotype anzeigen auf dem Register "Stile" auf "true" angezeigt
werden.
Nähere Informationen zur Anzeige von Eigenschaftswerten finden Sie unter Anzeige von
Eigenschaftswerten.
Stereotype und Enumerationen
UModel verfügt über eine effiziente Methode zum Auswählen von Enumerationswerten von
Stereotypen.
Klicken Sie auf das Diagrammregister, das die Stereotypdefinition enthält (also auf das zuvor
hinzugefügte Profildiagramm).
1. Klicken Sie in der Symbolleiste auf die Schaltfläche "Enumeration"
um eine
Enumeration in das Diagramm (mit dem zuvor definierten Stereotyp, z.B.
ProfileDiagram1) einzufügen.
2. Fügen Sie durch Drücken von UMSCHALT+F7 oder über das Kontextmenü
EnumerationLiterals zur Enumeration hinzu, z.B. die EnumerationLiterals Yes und No.
3. Klicken Sie auf das Stereotyp "class" und drücken Sie F7, um ein neues Attribut / eine
neue Eigenschaft z.B. Finished hinzuzufügen.
4. Wählen Sie auf dem Register "Eigenschaften" den Typ "MyEnum" aus.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
319
5. Wechseln Sie zurück zum Klassendiagramm BankView Main.
6. Im Element "Anmerkung" wird nun als Eigenschaftswert "Property Finished" angezeigt.
Wenn Sie auf den Eigenschaftswert "Finished" doppelklicken, werden die vordefinierten
Eigenschaftswerte in einem Popup-Fenster angezeigt. Klicken Sie auf eine der
Enumerationen, um sie auszuwählen.
Standardenumerationswerte
UModel gestattet Ihnen, Standardeigenschaftswerte zu definieren. Doppelklicken Sie beim
Hinzufügen eines Attributs zum Stereotyp in das Feld "Standardwert" und fügen Sie eine der
bestehenden Enumerationen als Standardwert hinzu.
© 2016 Altova GmbH
Altova UModel 2017
320
UML-Diagramme
Strukturdiagramme
In diesem Fall wird der Standardwert "Yes" eingegeben.
Wenn eine Eigenschaft zu einer Klasse hinzugefügt und der Typ MyEnum ausgewählt ist, wird
der Standardwert automatisch als Eigenschaftswert eingefügt, d.h. Finished = Yes.
Benutzerdefinierte Stereotypstile
Sie können nun auch benutzerdefinierte Stile für einzelne Stereotype erstellen. D.h. Sie können
spezielle Schriftarten, Farben usw. auf jene Klassen anwenden, die einer bestimmten
Stereotypart angehören.
So erstellen Sie benutzerdefinierte Stereotypstile:
1. Klicken Sie auf ein zuvor definiertes Stereotyp z.B. MyKeyValuePair im
Klassendiagramm.
2. Aktivieren Sie das Register "Stile" und wählen Sie anschließend in der Auswahlliste die
Option Stile von Elementen mit diesem Stereotyp aus.
3. Definieren Sie die Stile für dieses Stereotyp mit Hilfe der Optionen auf dem Register
"Stile", z.B. Farbverlauf Titel Ende = Aquamarin.
Wenn Sie auf die Stereotypklasse klicken, werden die Stereotypstile automatisch auf
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
321
dem Register "Stile" angezeigt.
4. Wechseln Sie zu einem anderen Klassendiagramm und fügen Sie einen neue Klasse ein.
5. Klicken Sie auf die Überschrift/den Titel der Klasse und aktivieren Sie das StereotypKontrollkästchen MyKeyValuePair.
Die neue Klasse hat nun die Stile, die dem Stereotyp zugewiesen wurden, z.B. einen
Hintergrundfarbverlauf in Aquamarin. Beachten Sie, dass die Stereotypstile nicht
angewendet werden, wenn das Stereotyp auf eine Eigenschaft oder Operation in der
Klasse angewendet wird.
6. Klicken Sie auf die neue Stereotypklasse im Diagramm und anschließend auf das
Register "Stile".
7. Wählen Sie in der Auswahlliste "Stile" den Eintrag "Angewandte Stereotypstile" aus.
Sie können nun eine Vorschau der für dieses Stereotyp definierten Stileinstellungen im
Fenster "Stile" anzeigen. Beachten Sie, dass Sie die Stileinstellungen hier nicht ändern
können. Dies muss in dem Klassendiagramm erfolgen, in dem das Stereotyp definiert
wurde.
Benutzerdefinierte Stereotypsymbole - Zuweisung
Sie können in UModel benutzerdefinierte Stereotypsymbole für benutzerdefinierte Stereotype
erstellen.
So erstellen Sie ein benutzerdefiniertes Stereotypsymbol:
1. Klicken Sie mit der rechten Maustaste auf das Root-Paket und wählen Sie den Befehl
Neues Element | Paket.
2. Geben Sie dem Paket den Namen MyPackage.
© 2016 Altova GmbH
Altova UModel 2017
322
UML-Diagramme
Strukturdiagramme
3. Klicken Sie mit der rechten Maustaste auf MyPackage und wählen Sie den Befehl Neues
Diagramm | Deployment-Diagramm.
Daraufhin wird in MyPackage ein Deployment-Diagramm erstellt.
4. Klicken Sie mit der rechten Maustaste in das Diagramm MyPackage und wählen Sie
Neu | Knoten.
Daraufhin wird ein Knotenobjekt zum Diagramm hinzugefügt.
5. Klicken Sie in der Modellstruktur mit der rechten Maustaste auf der Root-Paket und
wählen Sie den Befehl Neues Element | Profil.
6. Geben Sie dem Profil den Namen "MyProfile".
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
323
7. Klicken Sie mit der rechten Maustaste auf das Paket MyProfile und wählen Sie den
Befehl Neues Diagramm | Klassendiagramm.
Auswählen des Stereotypsymbols
1. Ziehen Sie die Ordner MyPackage und MyProfile aus der Modellstruktur in das
Klassendiagramm.
2. Klicken Sie in der Symbolleiste auf die Schaltfläche "Profilzuweisung"
Sie den Konnektor von MyPackage zu MyProfile.
3. Klicken Sie in der Symbolleiste auf die Schaltfläche "Stereotyp"
das Paket MyProfile um es einzufügen.
© 2016 Altova GmbH
und ziehen
und klicken Sie in
Altova UModel 2017
324
UML-Diagramme
Strukturdiagramme
Nehmen Sie auf dem Register "Eigenschaften" die folgenden Änderungen vor, während das
Stereotypelement aktiv ist:
4. Ändern Sie den Namen des Elements von Stereotyp1 in "Knoten".
5. Ändern Sie den Wert der Eigenschaft "Metaklasse" von Element in "Knoten".
6. Geben Sie im Feld "Symboldateiname" einen Pfad für das Bild ein, das Sie als
Stereotypsymbol verwenden wollen oder klicken Sie auf die Durchsuchen-Schaltfläche
um einen Pfad auszuwählen z.B. c:\Documents and Settings\Me\My Documents\Altova
\UModel2011\UModelExamples\Bank-PC.bmp.
7. Wechseln Sie zurück zum Deployment-Diagramm, indem Sie auf das Register
DeploymentDiagram1 klicken.
8. Klicken Sie im Diagramm auf das Element Node1.
9. Aktivieren Sie im Fenster "Eigenschaften" das Kontrollkästchen <Knoten>.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Strukturdiagramme
325
Als Stereotypsymbol wird nun das der ausgewählten Bitmap-Grafik angezeigt.
Bitte beachten Sie:
Bei der Anzeige von benutzerdefinierten Symbolen ist die RGB-Farbe 82,82,82 die
transparente Hintergrundfarbe.
© 2016 Altova GmbH
Altova UModel 2017
326
UML-Diagramme
9.3
Zusätzliche Diagramme
Zusätzliche Diagramme
UModel unterstützt nun den Import und die Generierung von W3C XML Schemas sowie das
Forward und Reverse Engineering bei der Codegenerierung.
XML-Schema
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
9.3.1
Zusätzliche Diagramme
327
XML-Schema-Diagramme
Altova Website:
XML-Schemas in UML
In XML-Schema-Diagrammen werden Schemakomponenten in UML-Notation dargestellt. Globale
Elemente, d.h. Elemente, simpleTypes, complexTypes werden als Klassen oder Datentypen mit
den Attributen im Attributbereich angezeigt. Es gibt keine Operationen im Operationen-Bereich.
Zur Anzeige der Schemainformationen wird das Eigenschaftswert-Notiz Modellierungselement
verwendet.
Eine Tabelle über die Entsprechungen zwischen UML-Elementen und XML-Schema-Elementen/
Attributen finden Sie unter XML Schema von/zu UModel Elementen.
Bitte beachten Sie:
Ungültige XML-Schemas können nicht in UModel importiert werden. XML-Schemas
werden beim Import oder bei der Erstellung in UModel nicht validiert. XML-Schemas
werden bei der Überprüfung der Projektsyntax nicht berücksichtigt. Beim Import eines
XML-Schemas wird jedoch die Wohlgeformtheit des Schemas überprüft.
© 2016 Altova GmbH
Altova UModel 2017
328
UML-Diagramme
Zusätzliche Diagramme
Importieren von XML-Schemas
So importieren Sie ein einzelnes XML-Schema:
1. Wählen Sie die Menüoption Projekt | XML-Schema-Datei importieren.
2. Stellen Sie sicher, dass das Kontrollkästchen Diagrammgenerierung aktivieren
aktiviert ist und klicken Sie zum Fortfahren auf "Weiter".
3. Definieren Sie die Inhaltsdiagrammoptionen in der Gruppe, die diese Überschrift trägt. Mit
der ersten Option wird für jedes globale Schema-Element ein separates Diagramm
erstellt.
4. Wählen sie die Bereiche aus, die in der Gruppe "Stile" in Klassendiagrammen angezeigt
werden sollen. Bei Auswahl der Option " Schemainformationen als Eigenschaftswerte
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Zusätzliche Diagramme
329
anzeigen" werden die Schemainformationen im Eigenschaftswert-NotizModellierungselement angezeigt.
5. Klicken Sie auf "Weiter", um das Paketabhängigkeitsdiagramm zu definieren.
6. Klicken Sie auf "Fertig stellen", um den XML-Schema-Import zu starten.
Das Schema/die Schemas werden in UModel importiert und alle Diagramme stehen in
Form von Registern zur Verfügung. In der Abbildung unten sehen Sie den Inhalt des
(complexType)-Diagramms EU-Address.
© 2016 Altova GmbH
Altova UModel 2017
330
UML-Diagramme
Zusätzliche Diagramme
Bitte beachten Sie:
Es wurde ein neues Paket mit dem Namen "Alle Schemas" erstellt und als XSD Namespace Root
definiert. Anhand aller XSD Globals wird ein XML-Schema-Diagramm generiert, wobei die
Diagramme unter den jeweiligen Namespace-Paketen angelegt werden.
So importieren Sie mehrere XML-Schemas:
1. Wählen Sie die Menüoption Projekt | XML-Schemaverzeichnis importieren.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Zusätzliche Diagramme
331
2. Aktivieren Sie die Option "Alle Unterverzeichnisse verarbeiten", wenn auch Schemas aus
allen Unterverzeichnissen importiert werden sollen.
Der restliche Importvorgang erfolgt wie beim Import eines einzelnen XML-Schemas
(Beschreibung siehe oben).
Bitte beachten Sie:
Wenn ein XML-Schema andere Schemas inkludiert oder importiert, werden auch diese
Schemas automatisch importiert.
Anzeige von Eigenschaftswerten - Schemainformationen
Schemainformationen, die als Eigenschaftswerte im Anmerkungselement "Eigenschaftswert"
angezeigt werden, können auf dem Register "Stile" über den Eintrag "Eigenschaftswerte
anzeigen" oder durch Klicken auf das Symbol "Kompaktmodus ein-/ausschalten" rechts unten in
der Eigenschaftswert-Anmerkung konfiguriert werden. Hier können Sie zwischen den beiden unten
gezeigten Modi "Alle" und "Alle, leere ausblenden" wechseln.
Anmerkung:
Wenn Sie die Eigenschaftswerte vom Register Stile auswählen, werden die Einstellungen für die
© 2016 Altova GmbH
Altova UModel 2017
332
UML-Diagramme
Zusätzliche Diagramme
Eigenschaftswerte projektweit vorgenommen. Wenn Sie mit der rechten Maustaste auf eine
Klasse klicken und Eigenschaftswerte | alle usw. auswählen, so wirkt sich die Einstellung nur auf
die einzeln markierten Klassen aus.
Eigenschaftswerte anzeigen: Alle
Zeigt die Eigenschaftswerte der Klasse sowie jene der dazugehörigen Attribute, Operationen usw.
an.
Eigenschaftswerte anzeigen: Alle, leere ausblenden
Zeigt nur diejenigen Eigenschaftswerte an, für die ein Wert vorhanden ist, z. B. fixed=true.
Eigenschaftswerte anzeigen: Element
Zeigt die Eigenschaftswerte der Klasse an, nicht aber jene der dazugehörigen Attribute,
Operationen usw.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Zusätzliche Diagramme
333
Eigenschaftswerte anzeigen: Element, leere ausblenden
Zeigt nur die Eigenschaftswerte einer Klasse an, jedoch ohne die dazugehörigen Attribute, für die
ein Wert vorhanden ist, z.B. id=123
Eigenschaftswerte anzeigen: im Bereich
Zeigt die Eigenschaftswerte in einem separaten Klassenbereich an.
Eigenschaftswerte anzeigen: in Bereich, leere ausblenden
Zeigt nur diejenigen Eigenschaftswerte einer Klasse - ohne die dazugehörigen Attribute - an, zu
denen ein Wert existiert.
XML-Schema-Annotation:
Beachte Sie bitte, dass beim Import eines XML-Schemas nur die erste Annotation eines complexoder simpleType im Fenster "Dokumentation" angezeigt wird.
© 2016 Altova GmbH
Altova UModel 2017
334
UML-Diagramme
Zusätzliche Diagramme
Einfügen von XML-Schema-Elementen
Verwendung der Symbolleisten-Schaltflächen:
1. Klicken Sie in der Symbolleiste auf das jeweilige XML-Schema-Diagramm-Symbol
2. Klicken Sie in das XML-Schema-Diagramm, um das Element einzufügen.
Beachten Sie: Wenn Sie die Strg-Taste gedrückt halten und auf das Diagrammregister
klicken, können Sie mehrere Elemente des ausgewählten Typs einfügen.
Ziehen bestehender Elemente in das XML-Schema-Diagramm:
Die meisten Elemente, die in anderen Diagrammen vorkommen, können in ein bestehendes XMLSchema-Diagramm eingefügt werden.
1. Suchen Sie das gewünschte Element auf dem Register "Modell-Struktur" (Sie können
das Element über das Suchfunktionstextfeld oder mit Hilfe von Strg + F suchen).
2. Ziehen Sie das/die Element(e) in das XML-Schema-Diagramm
Anmerkung: Sie können zum Einfügen von Elementen auch die Befehle "Kopieren" und
"Nur in Diagramm einfügen" verwenden.
Bitte beachten Sie:
Beide oben beschriebenen Methoden lassen sich auf jedes beliebige XML-Schema-Element
anwenden, das in die Diagramm eingefügt werden kann.
XSD Target Namespace
Fügt den Target Namespace für das Schema ein oder definiert ihn. Der XSD Target Namespace
muss einem XSD Namespace Root-Paket angehören.
XSD-Schema
Fügt ein XML-Schema ein oder definiert es. Das XSD-Schema muss einem XSD Target
Namespace-Paket angehören.
Element (global)
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Zusätzliche Diagramme
335
Fügt ein globales Element in das Diagramm ein. Beachten Sie: Auch die Eigenschaft wird
automatisch im Attribut-Bereich erstellt.
So definieren Sie die Datentyp-Eigenschaft:
1. Doppelklicken Sie auf die Eigenschaft und platzieren Sie den Cursor am Ende der Zeile.
2. Geben Sie einen Doppelpunkt ":" ein und wählen Sie im Popup-Dialogfeld den Datentyp aus,
z.B. String.
Erstellen eines "Content Model", das aus einem complexTyp mit
obligatorischen Elementen besteht:
Hierbei werden ein complexType-Element, ein Sequenz-Element/Kompositor und drei Elemente
eingefügt.
1. Klicken Sie auf das Symbol "XSD ComplexType"
und anschließend in das
Diagramm, um das Element einzufügen.
2. Doppelklicken Sie auf den Namen und ändern Sie ihn in "Address".
© 2016 Altova GmbH
Altova UModel 2017
336
UML-Diagramme
Zusätzliche Diagramme
3. Rechtsklicken Sie auf "Address" und wählen Sie Neu | XSD Sequence.
4. Klicken Sie im Attribut-Bereich auf das Attribut _sequence:mg_sequence und ziehen
Sie es ins Diagramm.
Daraufhin wird an der Position, an der Sie die Maustaste loslassen, ein Sequenz
Klassen/Kompositor erstellt.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Zusätzliche Diagramme
337
5. Rechtsklicken Sie auf die Sequenzklasse und wählen Sie Neu | XSD Element (local).
Daraufhin wird ein neues Eigenschaftselement hinzugefügt.
6. Doppelklicken Sie auf die Eigenschaft, geben Sie den Elementnamen ein, z.B. Name,
fügen Sie einen Doppelpunkt ":" hinzu und geben Sie als Datentyp "string" ein.
7. Gehen Sie für die zwei weiteren Elemente ebenso vor und geben Sie ihnen z.B. die
Namen "Street" und "City".
8. Klicken Sie auf die Eigenschaft "Name" und ziehen Sie sie ins Diagramm.
Erstellen und Generieren eines XML-Schemas
Im Allgemeinen wird ein Schema importiert, in UModel bearbeitet und anschließend werden die
Änderungen ausgegeben. Sie können ein Schema aber auch von Grund auf neu erstellen. Dies
soll hier jedoch nur in groben Zügen beschrieben werden.
Erstellen eines neuen Schemas in UModel:
1. Erstellen Sie in der Modell-Struktur ein neues Paket, z.B. MY-Schemas.
© 2016 Altova GmbH
Altova UModel 2017
338
UML-Diagramme
Zusätzliche Diagramme
2. Rechtsklicken Sie auf das neue Paket und wählen Sie die Menüoption Code
Engineering | Als XSD Namespace Root definieren.
Sie werden gefragt, ob Sie das XSD-Profil zuweisen möchten, wenn es sich hierbei um
die erste XSD Namespace Root im Projekt handelt.
3. Klicken Sie auf OK, um das Profil zuzuweisen.
4. Rechtsklicken Sie auf das neue Paket und wählen Sie den Befehl Neues Element |
Paket.
5. Doppelklicken Sie in das Namensfeld des Pakets und ändern Sie es in den gewünschten
Namespace, z.B. http://www.my-ns.com.
6. Klicken Sei auf dem Register "Eigenschaften" auf das Kontrollkästchen
<<namespace>>, um diesen als den Target Namespace zu definieren.
7. Rechtsklicken Sie auf das Namespace-Paket und wählen Sie den Befehl Neues
Diagramm | XML-Schema-Diagramm.
Sie werden gefragt, ob Sie das Schema-Diagramm zu einem neuen XSD-Schema
hinzufügen möchten.
8. Klicken Sie auf "Ja", um das neue Diagramm hinzuzufügen.
Sie können nun mit Hilfe der XML-Schema-Symbolleiste Ihr Schema erstellen.
Generieren des XML-Schemas:
1. Ziehen Sie das XSD-Schema auf eine Komponente, um eine Komponentenrealisierung zu
erstellen.
2. Stellen Sie sicher, dass als Codesprache der Komponente XSD1.0 eingestellt ist und
geben Sie einen Pfad ein, unter dem das generierte Schema gespeichert werden soll,
z.B. C:\schemacode\MySchema.xsd.
Altova UModel 2017
© 2016 Altova GmbH
UML-Diagramme
Zusätzliche Diagramme
339
3. Wählen Sie die Menüoption Projekt | Überschreibe Programmcode von UModelProjekt, und klicken Sie auf OK, um das Schema zu generieren.
© 2016 Altova GmbH
Altova UModel 2017
Kapitel 10
Austausch von Metadaten zwischen XMI und XML
342
Austausch von Metadaten zwischen XMI und XML
10
Austausch von Metadaten zwischen XMI und XML
Altova Website:
Austausch von UModel-Projekten über XMI
UModel unterstützt den Export und Import von XMI 2.4 für UML 2.0 / 2.1 / 2.1.1 und 2.1.2, 2.2,
2.3, 2.4. Verwenden Sie die Funktion für den Export in XMI nicht zum Archivieren Ihrer UModelProjekte. Archivieren Sie statt dessen die *.ump-Projektdateien.
Wählen Sie den Menüeintrag Datei | In XMI-Datei exportieren, um eine XMI-Datei aus dem
UModel-Projekt zu erstellen und Datei | Aus XMI-Datei importieren, um eine zuvor generierte
XMI-Datei zu importieren.
Über das Dialogfeld "XMI-Export" können Sie das gewünschte XMI-Format auswählen - XMI für
UML 2.0/2.1.1. Beim Export inkludierte Dateien werden selbst solche, die als "Durch Referenz"
definiert werden, ebenfalls exportiert.
Bitte beachten Sie:
Wenn Sie bereits generierten XMI-Code wieder in UModel importieren möchten, stellen Sie
sicher, dass Sie das Kontrollkästchen "UModel-Erweiterungen exportieren" aktiviert haben.
Pretty-Print XMI-Ausgabe
Mit dieser Option wird die XMI-Datei mit der richtigen Einrückung der XML-Tags und mit
Zeilenschaltungen ausgegeben.
UUIDs exportieren
In XMI sind drei Elementidentifikationensversionen definiert: IDs, UUIDs und Labels.
IDs sind innerhalb des XMI-Dokuments eindeutig und werden von den meisten UML-Tools
unterstützt. UModel exportiert standardmäßig diese ID-Typen, d.h. keines der
Kontrollkästchen muss aktiviert werden.
UUID sind Universally Unique Identifiers und bieten eine Methode, um jedem Element
eine GUID (Global Unique Identification) zuzuweisen, d.h. UUIDs sind nicht auf bestimmte
XMI-Dokumente beschränkt. UUIDs werden durch Auswahl des Kontrollkästchens "UUIDs
exportieren" generiert.
UUIDs werden im Standardformat UUID/GUID gespeichert (z.B. "6B29FC40-CA47-1067-
Altova UModel 2017
© 2016 Altova GmbH
Austausch von Metadaten zwischen XMI und XML
343
B31D-00DD010662DA", "550e8400-e29b-41d4-a716-446655440000",...)
Labels werden von UModel nicht unterstützt.
Bitte beachten Sie:
Beim XMI-Importvorgang werden automatisch beide ID-Typen unterstützt.
UModel-Erweiterungen exportieren
In XMI ist ein "Erweiterungsmechanismus" definiert, mit Hilfe dessen jede Applikation ihre
toolspezifischen Erweiterungen zur UML-Spezifikation exportieren kann. Andere UML-Tools
können nur die Standard-UML-Daten importieren (die UModel-Erweiterungen werden ignoriert).
Diese UModel-Erweiterungsdaten stehen nur bei Import in UModel zur Verfügung.
Daten wie z.B. die Dateinamen von Klassen oder Elementfarben sind nicht Teil der UMLSpezifikation und müssen daher in XMI gelöscht oder unter "Extensions" gespeichert werden.
Wenn sie als Erweiterungen exportiert wurden und wieder importiert werden, werden alle
Dateinamen und Farben, wie definiert, importiert. Wenn für den Export keine Erweiterungen
verwendet werden, gehen diese UModel-spezifischen Daten verloren.
Beim Import eines XMI-Dokuments wird das Format automatisch ermittelt und das Modell
generiert.
Diagramme exportieren
Exportiert UModel-Diagramme als "Erweiterungen" in die XMI-Datei. Die Option "UModelErweiterungen exportieren" muss aktiv sein, damit das Diagramm als Erweiterung gespeichert
werden kann.
© 2016 Altova GmbH
Altova UModel 2017
Kapitel 11
UModel-Unterstützung für die Arbeit im Team
346
UModel-Unterstützung für die Arbeit im Team
11
UModel-Unterstützung für die Arbeit im Team
UModel-Projekte können in mehrere Unterprojekte aufgeteilt werden, sodass mehrere Entwickler
unterschiedliche Teile eines einzigen Projekts gleichzeitig bearbeiten können. Die einzelnen
Unterprojekte können zu einem Versionskontrollsystem hinzugefügt werden.
Das Projekt der obersten Ebene, also das Projekt, von dem aus die Unterprojekte inkludiert
werden können, wird als das Hauptprojekt bezeichnet. Unterprojekte werden auf Paketebene in
Form einzelner UModel-Projektdateien erstellt und haben die Erweiterung *.ump.
Unterprojekte können auf zwei verschiedene Arten erstellt/inkludiert werden:
als vom Hauptprojekt aus und auf Unterprojektebene editierbare Projekte
als Projekte, die vom Hauptprojekt aus schreibgeschützt sind, d.h. nur auf
Unterprojektebene bearbeitet werden können.
Unterprojekte können beliebig strukturiert werden, in einer flachen oder einer hierarchischen
Struktur oder in Form einer Kombination aus beiden. Dadurch kann praktisch jedes Paket eines
Hauptprojekts in schreibgeschützte/editierbare Unterprojektdateien aufgeteilt werden.
Beim Code Engineering werden alle untergeordneten Komponenten eines Unterprojekts
berücksichtigt. Es besteht kein Unterschied zwischen einer einzelnen Projektdatei oder einer
Projektdatei, die aus mehreren editierbaren Unterprojekten besteht.
Dies gilt auch für UML-Diagramme. Auch diese Diagramme können auf der Haupt- oder
Unterprojektebene bearbeitet werden.
Altova UModel 2017
© 2016 Altova GmbH
UModel-Unterstützung für die Arbeit im Team
Erstellen und Bearbeiten von Unterprojektdateien
347
11.1 Erstellen und Bearbeiten von Unterprojektdateien
Im hier beschriebenen Beispiel wird gezeigt, wie das Projekt Bank_MultiLanguage.ump in
mehrere Unterprojekte aufgeteilt wurde.
Bitte beachten Sie:
UModel gestattet Ihnen, Pakete und etwaige darin enthaltene UML-Diagramme freizugeben und in
mehreren Projekten zu nutzen. Pakete können in andere Projekte entweder durch eine Referenz
oder als Kopie inkludiert werden. Nähere Informationen dazu finden Sie unter Freigeben von
Paketen und Diagrammen.
So erstellen Sie eine Unterprojektdatei
Unterprojektdateien können jederzeit von einer Haupt- oder Unterprojektdatei abgespalten werden.
1. Klicken Sie mit der rechten Maustaste auf ein oder mehrere Pakete, z.B. das Paket
Banking access und wählen Sie den Befehl Unterprojekt | Neues Unterprojekt
erstellen.
© 2016 Altova GmbH
Altova UModel 2017
348
UModel-Unterstützung für die Arbeit im Team
Erstellen und Bearbeiten von Unterprojektdateien
2. Klicken Sie auf die Schaltfläche "Durchsuchen" und wählen Sie das Unterverzeichnis
\Bank_MultiLanguage_Java aus.
3. Aktivieren Sie das Optionsfeld "Editierbar", damit das Unterprojekt vom Hauptprojekt aus
bearbeitet werden kann. (Wenn Sie "Schreibgeschützt" auswählen, kann es im
Hauptprojekt nicht bearbeitet werden.) Klicken Sie anschließend auf OK.
Der Name der Unterprojektdatei wird in eckigen Klammern neben dem Paketnamen
angezeigt und die Datei Banking access.ump wird in den Ordner UModelExamples
\Bank_MultiLanguage_Java platziert.
Auf dieselbe Weise wird ein Unterprojekt des Ordners BankView erstellt. Die Datei
BankView.ump wird im Ordner ...\UModelExamples\Bank_MultiLanguage_Java\
gespeichert.
Altova UModel 2017
© 2016 Altova GmbH
UModel-Unterstützung für die Arbeit im Team
Erstellen und Bearbeiten von Unterprojektdateien
349
Bitte beachten Sie:
Der Dateipfad des Unterprojekts kann jederzeit durch Rechtsklick auf das Unterprojekt
und Auswahl des Befehls Unterprojekt | Dateipfad bearbeiten geändert werden.
Öffnen und Bearbeiten von Unterprojektdateien
Nachdem Sie eine Unterprojektdatei erstellt haben, kann die erzeugte *.ump Datei anschließend
geöffnet und als die UModel-Hauptprojektdatei bearbeitet werden. Dazu sollte es keine nicht
aufgelösten Referenzen auf andere Elemente geben. UModel führt bei Erstellung eines
Unterprojekts anhand des Hauptprojekts und beim Speichern einer Datei automatisch eine
Überprüfung durch.
1. Klicken Sie mit der rechten Maustaste im Hauptprojekt auf das Unterprojektpaket (z.B.
Bank Server.ump) und wählen Sie den Befehl Projekt | Als Projekt öffnen.
Daraufhin wird eine weitere Instanz von UModel gestartet und das Unterprojekt wird als
Hauptprojekt geöffnet. Alle nicht aufgelösten Referenzen werden im Fenster "Meldungen"
angezeigt.
© 2016 Altova GmbH
Altova UModel 2017
350
UModel-Unterstützung für die Arbeit im Team
Erstellen und Bearbeiten von Unterprojektdateien
Wiederverwendung von Unterprojekten
Unterprojekte, die von einem Hauptprojekt abgespalten wurden, können in jedem beliebigen
anderen Hauptprojekt verwendet werden.
1. Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie den Befehl
Projekt | Unterprojekt inkludieren.
2. Klicken Sie auf die Schaltfläche "Durchsuchen" und wählen Sie die gewünschte .umpDatei aus, z.B. Banking access.ump.
Altova UModel 2017
© 2016 Altova GmbH
UModel-Unterstützung für die Arbeit im Team
Erstellen und Bearbeiten von Unterprojektdateien
351
3. Wählen Sie aus, wie die Datei inkludiert werden soll; durch eine Referenz oder als Kopie.
Speichern von Projekten
Wenn Sie die Hauptprojektdatei speichern, werden auch alle editierbaren Unterprojektdateien
gespeichert, d.h. alle in den freigegebenen Paketen der Unterprojektdateien enthaltenen Daten
werden gespeichert.
Sie sollten daher außerhalb der freigegebenen/Unterprojektstruktur keine Daten (Komponenten)
erstellen/hinzufügen, wenn das Unterprojekt in einer Hauptprojektdatei als "editierbar" definiert ist.
Wenn es noch Daten außerhalb der Unterprojektstruktur gibt, wird im Fenster "Meldungen" eine
Warnmeldung angezeigt.
Speichern von Unterprojektdateien
Beim Speichern von Unterprojekten (von der Hauptprojektebene aus) werden alle Referenzen auf
gleichrangige und untergeordnete Unterprojekte berücksichtigt und gespeichert. Wenn z.B. zwei
gleichrangige Unterprojekte, nämlich sub1 und sub2 existieren und in sub1 Elemente aus sub2
verwendet werden, dann wird sub1 so gespeichert, dass darin automatisch auch Referenzen auf
sub2 enthalten sind.
Wenn sub1 als ein Hauptprojekt geöffnet wurde, so wird es als unabhängiges Projekt betrachtet
und kann ohne Referenz auf das eigentliche Hauptprojekt bearbeitet werden.
Wiedereingliedern von Unterprojekten in das Hauptprojekt
Zuvor definierte Unterprojekte können wieder zurück in das Hauptprojekt kopiert werden. Wenn
das Unterprojekt keine Diagramme enthält, so wird es sofort wieder eingegliedert. Falls das
Unterprojekt Diagramme enthält, wird das folgende Dialogfeld angezeigt:
1. Klicken Sie mit der rechten Maustaste auf das Unterprojekt und wählen Sie den Befehl
Unterprojekt | Als Kopie inkludieren.
Daraufhin wird das Dialogfeld "Unterprojekt inkludieren" geöffnet, in dem Sie die
Diagrammstile, die Sie beim Inkludieren des Unterprojekts verwenden möchten, definieren
können.
© 2016 Altova GmbH
Altova UModel 2017
352
UModel-Unterstützung für die Arbeit im Team
Erstellen und Bearbeiten von Unterprojektdateien
2. Wählen Sie die gewünschte Stiloption aus und klicken Sie anschließend auf OK, um das
Projekt wieder zu inkludieren.
Altova UModel 2017
© 2016 Altova GmbH
Kapitel 12
Versionskontrolle
354
Versionskontrolle
12
Versionskontrolle
Die Versionskontrollunterstützung in UModel steht über die Microsoft Source Control Plug-in API
(vormals bekannt als MSSCCI API), Version 1.1, 1.2 sowie 1.3 zur Verfügung. Dadurch können
Sie Versionskontrollbefehle wie z.B. "Einchecken" oder "Auschecken" direkt über UModel an
praktisch jedem Versionskontrollsystem ausführen, das nativen Clients oder Drittanbieter-Clients
über das Microsoft Source Control Plug-in API die Verbindung zu UModel gestattet.
Als Versionskontrollsystemanbieter kann jedes kommerzielle oder nicht kommerzielle Plug-in,
das die Microsoft Source Control Plug-in API unterstützt und mit einem kompatiblen
Versionskontrollsystem verbunden werden kann, verwendet werden. Eine Liste von von Altova
getesteten Versionskontrollsystemen und Plug-ins finden Sie unter Unterstützte
Versionskontrollsysteme.
Installieren und Konfigurieren des Versionskontrollanbieters
Um die auf Ihrem System verfügbaren Versionskontrollsysteme anzuzeigen, gehen Sie
folgendermaßen vor:
1. Klicken Sie im Menü Extras auf Optionen.
2. Klicken Sie auf das Register Versionskontrolle.
Alle mit der Microsoft Source Code Control Plug-in API kompatiblen Versionskontroll-Plug-ins
werden in der Dropdown-Liste Aktuelles Versionskontroll-Plug-in angezeigt.
Wenn auf Ihrem System kein kompatibles Plug-in gefunden wurde, wird die folgende Meldung
angezeigt:
"Die Registrierung des installierten Versionskontrollproviders konnte nicht
gefunden werden oder ist unvollständig."
Bei einigen Versionskontrollsystemen wird das Versionskontroll-Plug-in nicht automatisch
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
355
installiert. In diesem Fall müssen Sie es gesondert installieren. Eine genauere Anleitung dazu
finden Sie in der Dokumentation zum jeweiligen Versionskontrollsystem. Ein Plug-in (Anbieter),
das mit der Microsoft Source Code Control Plug-in API kompatibel ist, sollte auf Ihrem
Betriebssystem unter dem folgenden Registrierdateieintrag zu finden sein:
HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders
Wenn das Plug-in korrekt installiert wurde, steht es automatisch in der Liste der Plug-ins in
UModel zur Verfügung.
Aufrufen der Versionskontrollbefehle
Die Versionskontrollbefehle stehen über das Menü Projekt | Versionskontrolle zur Verfügung.
Probleme im Zusammenhang mit den Ressourcen / der Geschwindigkeit
Bei sehr großen Versionskontrolldatenbanken kann die automatische Durchführung von
Statusaktualisierungen im Hintergrund etwas länger dauern.
Um schneller arbeiten zu können, können Sie versuchen, auf dem Register
"Versionskontrolle" (Aufruf über Extras | Optionen) das Feld "Statusaktualisierung im
Hintergrund alle xxx Sek." zu deaktivieren oder das Aktualisierungsintervall zu vergrößern.
Anmerkung: Die 64-Bit-Version Ihrer Altova-Applikation unterstützt automatisch alle in dieser
Dokumentation aufgelisteten 32-Bit-Versionskontrollsysteme. Bei Verwendung einer 64Bit-Altova-Applikation zusammen mit einem 32-Bit-Versionskontrollsystem ist die Option
Statusaktualisierung im Hintergrund alle xxx Sek automatisch deaktiviert und kann
nicht ausgewählt werden.
Vergleich mit Altova DiffDog
Sie können viele Versionskontrollsysteme (einschließlich Git und TortoiseSVN) für die
Verwendung mit Altova DiffDog als Vergleichstool konfigurieren. Nähere Informationen zu DiffDog
finden Sie unter http://www.altova.com/de/diffdog.html. Die Dokumentation zu DiffDog finden Sie
unter http://www.altova.com/de/documentation.html.
© 2016 Altova GmbH
Altova UModel 2017
356
Versionskontrolle
Einrichten der Versionskontrolle
12.1 Einrichten der Versionskontrolle
So richten Sie eine Versionskontrolle ein und stellen Dateien in einem UModel-Projekt unter eine
Versionskontrolle:
1. Installieren Sie ein Versionskontrollprogramm (siehe Unterstützte
Versionskontrollsysteme), falls noch keines installiert ist. Richten Sie die
Versionskontrolldatenbank (das Repository), in der Sie Ihre Arbeit speichern möchten,
ein.
2. Erstellen Sie einen Ordner für den lokalen Arbeitsbereich, der die Arbeitsdateien
enthalten soll, die unter Versionskontrolle gestellt werden sollen. Der Ordner, der alle Ihre
Arbeitsbereichordner und -Dateien enthält, wird als ihr lokaler Ordner und der Pfad zum
lokalen Ordner als der lokale Pfad bezeichnet. Der Ordner wird an einen bestimmten
Ordner im Repository gebunden.
3. Erstellen Sie in Ihrer Altova-Applikation einen Applikationsprojektordner, zu dem Sie die
unter Versionskontrolle zu stellenden Dateien hinzufügen müssen. Diese Gliederung der
Dateien in einem Applikationsprojekt ist abstrakt. Die Dateien in einem Projekt
referenzieren physische lokal (vorzugsweise in einem einzigen Ordner, falls nötig mit
Unterordnern) gespeicherte Dateien.
4. In der Datenbank des Versionskontrollsystems (die auch als Versionskontrolle oder
Repository bezeichnet wird) wird ein Ordner erstellt, der an den lokalen Ordner gebunden
ist. Dieser (als gebundener Ordner bezeichnete) Ordner repliziert die Struktur des lokalen
Ordners, sodass sich alle unter Versionskontrolle zu stellenden Dateien an der richtigen
Stelle im gebundenen Ordner befinden. Der gebundene Ordner wird normalerweise
erstellt, wenn Sie zum ersten Mal eine Datei oder ein Applikationsprojekt zur
Versionskontrolle hinzufügen.
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
Unterstützte Versionskontrollsysteme
357
12.2 Unterstützte Versionskontrollsysteme
In der nachfolgenden Liste sind die von UModel unterstützten Versionskontrollsysteme
zusammen mit ihren entsprechenden Versionskontroll-Clients (SCCs) aufgelistet. Die Liste ist
alphabetisch nach Versionskontrollsystem geordnet.
Altova hat in UModel die Microsoft Source Control Plug-in API (Version 1.1, 1.2 und 1.3)
implementiert und die Unterstützung für die aufgelisteten Treiber und
Versionskontrollsysteme getestet. Aller Voraussicht nach wird UModel diese Produkte,
falls diese aktualisiert werden, weiterhin unterstützen.
Auch Versionskontroll-Clients, die nicht in der nachstehenden Liste erwähnt sind, die
aber die Microsoft Source Control Plug-in API implementieren, sollten ebenfalls mit
UModel funktionieren.
Versionskontrollsystem
Versionskontroll-Clients
AccuRev 4.7.0 Windows
AccuBridge for Microsoft SCC 2008.2
Bazaar 1.9 Windows
Aigenta Unified SCC 1.0.6
Borland StarTeam 2008
Borland StarTeam Cross-Platform Client 2008 R2
Codice Software Plastic SCM
Professional 2.7.127.10 (Server)
Codice Software Plastic SCM Professional
2.7.127.10 (SCC Plugin)
Collabnet Subversion 1.5.4
Aigenta Unified SCC 1.0.6
PushOK SVN SCC 1.5.1.1
PushOK SVN SCC x64 Version 1.6.3.1
TamTam SVN SCC 1.2.24
ComponentSoftware CS-RCS (PRO) 5.1 ComponentSoftware CS-RCS (PRO) 5.1
Dynamsoft SourceAnywhere for VSS
5.3.2 Standard/Professional Server
Dynamsoft SourceAnywhere für VSS 5.3.2 Client
Dynamsoft SourceAnywhere Hosted
Dynamsoft SourceAnywhere Hosted Client (22252)
Dynamsoft SourceAnywhere
Standalone 2.2 Server
Dynamsoft SourceAnywhere Standalone 2.2 Client
Git
PushOK GIT SCC Plug-in (siehe Versionskontrolle
mit Git )
IBM Rational ClearCase 7.0.1 (LT)
IBM Rational ClearCase 7.0.1 (LT)
March-Hare CVSNT 2.5 (2.5.03.2382)
Aigenta Unified SCC 1.0.6
March-Hare CVS Suite 2008
Mercurial 1.0.2 für Windows
© 2016 Altova GmbH
Jalindi Igloo 1.0.3
March-Hare CVS Suite Client 2008 (3321)
PushOK CVS SCC NT 2.1.2.5
PushOK CVS SCC x64 Version 2.2.0.4
TamTam CVS SCC 1.2.40
Sergey Antonov HgSCC 1.0.1
Altova UModel 2017
358
Versionskontrolle
Unterstützte Versionskontrollsysteme
Versionskontrollsystem
Versionskontroll-Clients
Microsoft SourceSafe 2005 mit CTP
Microsoft SourceSafe 2005 mit CTP
Microsoft Visual Studio Team System
2008/2010 Team Foundation Server
Microsoft Team Foundation Server 2008/2010
MSSCCI Provider
Perforce 2008 P4S 2008.1
Perforce P4V 2008.1
PureCM Server 2008/3a
PureCM Client 2008/3a
QSC Team Coherence Server 7.2.1.35
QSC Team Coherence Client 7.2.1.35
Reliable Software Code Co-Op 5.1a
Reliable Software Code Co-Op 5.1a
Seapine Surround SCM Client/Server für Seapine Surround SCM Client 2009.0.0
Windows 2009.0.0
Serena Dimensions Express/CM 10.1.3
für Win32 Server
Serena Dimensions 10.1.3 for Win32 Client
Softimage Alienbrain Server 8.1.0.7300
Softimage Alienbrain Essentials/Advanced Client
8.1.0.7300
SourceGear Fortress 1.1.4 Server
SourceGear Fortress 1.1.4 Client
SourceGear SourceOffsite Server 4.2.0
SourceGear SourceOffsite Client 4.2.0 (Windows)
SourceGear Vault 4.1.4 Server
SourceGear Vault 4.1.4 Client
VisualSVN Server 1.6
Altova UModel 2017
Aigenta Unified SCC 1.0.6
PushOK SVN SCC 1.5.1.1
PushOK SVN SCC x64 Version 1.6.3.1
TamTam SVN SCC 1.2.24
© 2016 Altova GmbH
Versionskontrolle
Versionskontrollbefehle
359
12.3 Versionskontrollbefehle
Die Versionskontrollbefehle von UModel werden in den folgenden Abschnitten anhand von Visual
SourceSafe angezeigt.
Die Beschreibung der im Folgenden beschriebenen Versionskontrollbefehle gelten für die
Standalone-Version von UModel. In der Visual Studio und der Eclipse Version von UModel
werden die Versionskontrollbefehle und Menübefehle verwendet, die in diesen IDEs zur Verfügung
stehen.
Aus Versionskontrolle öffnen
Versionskontrolle aktivieren
Aktuellste Version holen
Abrufen
Ordner abrufen
Auschecken
Einchecken
Auschecken rückgängig...
Zu Versionskontrolle hinzufügen
Von Versionskontrolle ausgliedern
Aus Versionskontrolle freigeben
Verlauf anzeigen
Unterschiede anzeigen
Eigenschaften anzeigen
Status aktualisieren
Versionskontrollmanager
Versionskontrolle wechseln
© 2016 Altova GmbH
Altova UModel 2017
360
Versionskontrolle
Versionskontrollbefehle
12.3.1 Aus Versionskontrolle öffnen
Mit dem Befehl "Aus Versionskontrolle öffnen" wird ein lokales Projekt anhand einer bestehenden
Versionskontrolldatenbank erstellt und unter Versionskontrolle - in diesem Fall SourceSafe gestellt.
1. Wählen Sie Projekt | Versionskontrolle | Aus Versionskontrolle öffnen. Daraufhin
wird das Anmeldedialogfeld geöffnet, in dem Sie Ihre Anmeldedaten eingeben, bevor Sie
fortfahren können. Daraufhin wird das Dialogfeld "Create local project from SourceSafe"
angezeigt.
2. Definieren Sie das Verzeichnis, das das neue lokale Projekt enthalten soll, z.B. c:\temp
\ssc. Dies wird zum neuen Arbeitsverzeichnis oder dem Auscheck-Ordner.
3. Wählen Sie das gewünschte SourceSafe-Projekt aus, z.B. Bank_CSharp. Wenn der hier
von Ihnen definierte Ordner noch nicht existiert, erscheint ein Dialogfeld, in dem Sie
aufgefordert werden, ihn zu erstellen.
4. Klicken Sie auf Ja, um das neue Verzeichnis zu erstellen. Das Dialogfeld "Öffnen" wird
angezeigt.
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
Versionskontrollbefehle
361
5. Wählen Sie die UModel-Projektdatei Bank_CSharp.ump aus und klicken Sie auf
"Öffnen".
Bank_CSharp.ump wird nun in UModel geöffnet und die Datei wird unter
Versionskontrolle gestellt. Angezeigt wird dies in der Modell-Struktur durch ein
Schlosssymbol über dem Root-Ordner. Der Root-Ordner repräsentiert sowohl die
Projektdatei als auch das Arbeitsverzeichnis für Versionskontrolloperationen.
Das Verzeichnis "BankCSharp" wurde lokal erstellt. Sie können nun mit diesen Dateien
normal arbeiten.
Anmerkung:
Informationen, wie Sie die beim Synchronisieren von Code generierten Codedateien
unter Versionskontrolle stellen, finden Sie unter: Hinzufügen zur Versionskontrolle
© 2016 Altova GmbH
Altova UModel 2017
362
Versionskontrolle
Versionskontrollbefehle
Symbole der Versionskontrolle:
oder
Das Vorhängeschloss-Symbol zeigt an, dass diese Datei oder dieser Ordner unter
Versionskontrolle steht, aber derzeit nicht ausgecheckt ist.
oder
Das rote Kontrollhäkchen zeigt an, dass diese Datei ausgecheckt ist, d.h. dass die UModelProjektdatei (oder Codedatei) zur Bearbeitung ausgecheckt wurde.
Das Sternchen in der Titelleiste der Applikation bedeutet, dass diese Datei verändert wurde. Beim
Schließen werden Sie aufgefordert, die Datei zu speichern.
oder
Das Personensymbol zeigt an, dass die Datei(en) von jemand anderem im Netzwerk oder von
Ihnen in ein anderes Arbeitsverzeichnis ausgecheckt wurde(n).
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
Versionskontrollbefehle
363
12.3.2 Versionskontrolle aktivieren
Mit Hilfe dieses Befehls können Sie die Versionskontrolle für ein UModel-Projekt aktivieren oder
deaktivieren. Der Befehl steht über das Projekt-Menü Projekt | Versionskontrolle |
Versionskontrolle aktivieren zur Verfügung. Bei Auswahl dieser Option für eine Datei oder
einen Ordner, wird die Versionskontrolle für das gesamte UModel-Projekt aktiviert/deaktiviert.
So aktivieren Sie die Versionskontrolle für ein Projekt:
1. Wählen Sie die Menüoption Projekt | Versionkontrolle und aktivieren Sie das
Kontrollkästchen Versionskontrolle aktivieren. Der vorherige Ein-/Auscheck-Status der
verschiedenen Dateien wird abgerufen und im Fenster "Modell-Struktur" angezeigt.
So deaktivieren Sie die Versionskontrolle für ein Projekt:
1. Wählen Sie die Menüoption Projekt | Versionkontrolle und deaktivieren Sie das
Kontrollkästchen Versionskontrolle aktivieren.
Sie werden nun gefragt, ob Sie die Binding-Informationen aus dem Projekt entfernen
möchten.
Um die Versionskontrolle provisorisch zu deaktivieren, wählen Sie Nein.
Um die Versionskontrolle für dieses Projekt permanent zu deaktivieren, wählen Sie Ja.
© 2016 Altova GmbH
Altova UModel 2017
364
Versionskontrolle
Versionskontrollbefehle
12.3.3 Aktuellste Version holen
Mit diesem Befehl wird die aktuellste Version der ausgewählten Datei(en) aus dem
Versionskontrollspeicher in das Arbeitsverzeichnis geholt. Die Dateien werden als
schreibgeschützte Dateien und nicht ausgecheckt abgerufen.
Wenn die betroffenen Dateien derzeit ausgecheckt sind, geschehen je nach Version des
Versionskontroll-Plugin verschiedene Dinge: Es geschieht nichts, neue Daten werden in Ihrer
lokalen Datei zusammengeführt oder Ihre Änderungen werden überschrieben.
Dieser Befehl funktioniert ähnlich wie der Befehl "Abrufen", doch wird das Dialogfeld
"Versionskontrolle - Abrufen" nicht angezeigt. Sie können daher keine erweiterten Abrufoptionen
definieren.
Beachten Sie, dass dieser Befehl bei Ausführung an einem Ordner automatisch eine rekursive
Operation "Aktuellste Version holen" ausführt, d.h. alle anderen Dateien, die sich in der
Pakethierarchie unterhalb der aktuellen befinden, sind davon betroffen.
So rufen Sie die neueste Version einer Datei ab:
1. Wählen Sie in der Modell-Struktur die Dateien aus, für die Sie die neueste Version holen
möchten.
2. Wählen Sie Projekt | Versionskontrolle | Aktuellste Version holen.
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
Versionskontrollbefehle
365
12.3.4 Abrufen
Ruft eine schreibgeschützte Kopie der ausgewählten Dateien ab und platziert Sie in den
Arbeitsordner. Standardmäßig sind die Dateien nicht zur Bearbeitung ausgecheckt.
Verwenden von "Abrufen":
Wählen Sie in der Modell-Struktur die gewünschten Dateien aus.
Wählen Sie den Befehl Projekt | Versionskontrolle | Abrufen.
Geänderte Dateien überschreiben
Überschreibt lokal geänderte Dateien mit jenen aus der Versionskontrolldatenbank.
Alle auswählen
Wählt alle Dateien im Listenfeld aus.
Erweitert
Mit Hilfe dieser Option können Sie die Optionen Replace writable und Set timestamp in den
entsprechenden Auswahllisten auswählen.
Mit dem Kontrollkästchen "Make writable" wird das "read-only" Attribut der abgerufenen Dateien
entfernt.
© 2016 Altova GmbH
Altova UModel 2017
366
Versionskontrolle
Versionskontrollbefehle
12.3.5 Ordner abrufen
Ruft schreibgeschützte Kopien von Dateien in den ausgewählten Ordnern ab und platziert Sie in
den Arbeitsordner. Die Dateien werden standardmäßig nicht zur Bearbeitung ausgecheckt.
Verwenden von "Ordner abrufen":
Wählen Sie in der Modell-Struktur die gewünschten Dateien aus.
Wählen Sie den Befehl Projekt | Versionskontrolle | Abrufen.
Geänderte Dateien überschreiben
Überschreibt Dateien, die lokal geändert wurden, mit den Dateien aus der
Versionskontrolldatenbank.
Rekursiv (Struktur abrufen)
Ruft alle Dateien aus der Ordnerstruktur ab, die sich unterhalb des ausgewählten Ordners
befinden.
Erweitert
Mit Hilfe dieser Option können Sie die Optionen Replace writable und Set timestamp in den
entsprechenden Auswahllisten auswählen.
Mit dem Kontrollkästchen "Make writable" wird das "read-only" Attribut der abgerufenen Dateien
entfernt.
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
Versionskontrollbefehle
367
12.3.6 Auschecken
Mit diesem Befehl checken Sie die aktuellste Version der ausgewählten Datei(en) aus und
platzieren beschreibbare Kopien davon in das Arbeitsverzeichnis. Die Dateien werden für andere
Benutzer als "ausgecheckt" markiert.
So checken Sie Dateien aus:
Wählen Sie die gewünschte Datei bzw. den gewünschten Ordner in der Modell-Struktur
aus.
Wählen Sie Projekt | Versionskontrolle | Auschecken.
Anmerkung:
Sie können die Anzahl der auszucheckenden Dateien ändern, indem Sie die einzelnen
Kontrollkästchen in der Liste der Dateien aktivieren.
Lokale Version auschecken:
Checkt nur die lokale Version der Dateien aus, nicht die aus der Versionskontrolldatenbank.
Folgende Objekte können ausgecheckt werden:
Einzelne Dateien - klicken Sie in der Modell-Struktur auf die Datei (oder mehrere Dateien
mittels Strg + Klick)
Projektordner - klicken Sie in der Modellstruktur auf den Ordner (oder mehrere Ordner
mittels Strg + Klick)
oder
Das rote Kontrollhäkchen zeigt an, dass die Datei/der Ordner ausgecheckt ist.#
Erweitert
Mit Hilfe dieser Option können Sie die Optionen Replace writable und Set timestamp in den
entsprechenden Auswahllisten auswählen.
© 2016 Altova GmbH
Altova UModel 2017
368
Versionskontrolle
Versionskontrollbefehle
Mit dem Kontrollkästchen "Make writable" wird das "read-only" Attribut der abgerufenen Dateien
entfernt.
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
Versionskontrollbefehle
369
12.3.7 Einchecken
Mit diesem Befehl checken Sie zuvor ausgecheckte Dateien, d.h. Ihre lokal aktualisierten
Dateien, wieder ein und stellen die Dateien zurück in das Versionskontrollprojekt.
So checken Sie Dateien ein:
Wählen Sie die gewünschten Dateien in der Modell-Struktur aus.
Wählen Sie Projekt | Versionskontrolle | Einchecken.
Kürzel: Rechtsklicken Sie im Projektfenster auf ein ausgechecktes Objekt, und wählen Sie
"Einchecken" im Kontextmenü.
Anmerkung:
Sie können die Anzahl der einzucheckenden Dateien ändern, indem Sie die einzelnen
Kontrollkästchen in der Liste der Dateien aktivieren.
Folgende Objekte können eingecheckt werden:
Einzelne Dateien - klicken Sie in der Modell-Struktur auf die Datei (oder mehrere Dateien
mittels Strg + Klick)
Ordner - klicken Sie in der Modellstruktur auf die Ordner (mittels Strg + Klick)
oder
Das Vorhängeschloss-Symbol zeigt an, dass sich die Datei/der Ordner unter Versionskontrolle
befindet, aber derzeit nicht ausgecheckt ist.
© 2016 Altova GmbH
Altova UModel 2017
370
Versionskontrolle
Versionskontrollbefehle
12.3.8 Auschecken rückgängig...
Mit diesem Befehl werden Änderungen in zuvor ausgecheckten Dateien, also lokal aktualisierten
Dateien verworfen. Es werden die alten Dateien aus der Versionskontrolldatenbank beibehalten.
So machen Sie das Auschecken rückgängig..
Wählen Sie die Dateien in der Modellstruktur aus
Wählen Sie Projekt | Versionskontrolle | Auschecken rückgängig.
Anmerkung:
Sie können die Anzahl der Dateien ändern, indem Sie die einzelnen Kontrollkästchen in
der Liste der Dateien aktivieren.
Die Option "Auschecken rückgängig" kann auf die folgenden Dateien angewendet werden:
Einzelne Dateien - klicken Sie in der Modell-Struktur auf die Datei (oder mehrere Dateien
mittels Strg + Klick)
Ordner - klicken Sie in der Modellstruktur auf die Ordner (mittels Strg + Klick)
Erweitert
Mit Hilfe dieser Option können Sie die Optionen Replace writable und Set timestamp in den
entsprechenden Auswahllisten auswählen.
Mit dem Kontrollkästchen "Make writable" wird das "read-only" Attribut der abgerufenen Dateien
entfernt.
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
Versionskontrollbefehle
371
12.3.9 Zu Versionskontrolle hinzufügen
Fügt die ausgewählten Dateien oder Ordner zur Versionskontrolldatenbank hinzu und stellt sie
unter Versionskontrolle. Wenn Sie ein neues UModel-Projekt hinzufügen, werden Sie aufgefordert
den Arbeitsbereichsordner und den Pfad anzugeben, unter dem das Projekt gespeichert werden
soll.
Nachdem Sie die UModel-Projektdatei (*.ump) unter Versionskontrolle gestellt haben, können Sie
anschließend die beim Code Engineering erzeugten Codedateien ebenfalls zur Versionskontrolle
hinzufügen. Bitte beachten Sie, dass die generierten Codedateien und das UModel-Projekt in das
oder unterhalb desselben SourceSafe-Arbeitsverzeichnisses gelegt werden müssen. Das in
diesem Abschnitt verwendete Arbeitsverzeichnis ist c:\temp\ssc\Bank_CSharp.
So fügen Sie mit UModel generierte Codedateien zur Versionskontrolle hinzu:
1. Erweitern Sie in der Modell-Struktur den Ordner "Component View" und navigieren Sie zur
Komponente "BankView".
2. Klicken Sie auf die BankView-Komponente und klicken Sie im Fenster "Eigenschaften"
auf das Durchsuchen-Symbol neben dem Feld "Verzeichnis".
3. Ändern Sie das Code Engineering-Verzeichnis z.B. in C:\Users\Altova\Documents
\UMODEL_WORK\codegen.
4. Wählen Sie den Menübefehl Projekt | Merge Programmcode aus UModel-Projekt.
5. Ändern Sie gegebenenfalls die Synchronisierungseinstellungen und bestätigen Sie mit
© 2016 Altova GmbH
Altova UModel 2017
372
Versionskontrolle
Versionskontrollbefehle
OK.
Im Meldungsfenster wird der Code aus dem Projektvorgang angezeigt.
Es erscheint ein Meldungsfeld, in dem Sie gefragt werden, ob Sie die neu erstellten
Dateien unter Versionskontrolle stellen möchten.
6. Klicken Sie auf Ja.
7. Daraufhin wird das Dialogfeld "Zu Versionskontrolle hinzufügen" geöffnet, in dem Sie die
Dateien auswählen können, die unter Versionskontrolle gestellt werden sollen.
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
Versionskontrollbefehle
373
8. Klicken Sie auf OK, sobald Sie die gewünschten Dateien ausgewählt haben.
Neben den einzelnen unter Versionskontrolle gestellten Klassen/Dateiquellen erscheint
nun ein Vorhängeschloss-Symbol.
© 2016 Altova GmbH
Altova UModel 2017
374
Versionskontrolle
Versionskontrollbefehle
12.3.10 Von Versionskontrolle ausgliedern
Mit diesem Befehl entfernen Sie zuvor hinzugefügte Dateien aus dem Versionskontrollprodukt.
Diese Dateiarten werden zwar in der Modell-Struktur weiterhin angezeigt, können aber nicht
ausgecheckt werden. Mit Hilfe des Befehls "Zu Versionskontrolle hinzufügen" können Sie die
Dateien wieder unter Versionskontrolle stellen.
So entfernen Sie Dateien aus der Versionskontrolle:
Wählen Sie die gewünschten Dateien in der Modellstruktur aus
Wählen Sie Projekt | Versionskontrolle | Von Versionskontrolle ausgliedern.
Anmerkung:
Sie können die Anzahl der auszugliedernden Dateien ändern, indem Sie die einzelnen
Kontrollkästchen in der Liste der Dateien aktivieren.
Folgende Objekte könne aus der Versionskontrolle ausgegliedert werden:
Einzelne Dateien - klicken Sie auf die Datei (oder mehrere Dateien mittels Strg + Klick)
Ordner - klicken Sie auf das Ordnersymbol
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
Versionskontrollbefehle
375
12.3.11 Aus Versionskontrolle freigeben
Mit diesem Befehl werden Dateien aus anderen Projekten/Ordnern im ausgewählten Ordner in die
Versionskontrollspeicherschnittstelle in Form von freigegebenen Dateien einem Branch eingefügt.
Um dem Freigeben-Befehl verwenden zu können, müssen Sie für das Projekt, das Sie freigeben
möchten, Ein- und Auscheck-Rechte besitzen.
So geben Sie eine Datei aus der Versionskontrolle frei:
1. Wählen Sie den gewünschten Ordner in der Modellstruktur aus und wählen Sie den
Befehl Projekt | Versionskontrolle | Aus Versionskontrolle freigeben, z.B. die
Komponente BankView im Ordner Component View.
2. Wählen Sie im Listenfeld "Projekte" den Projektordner aus, der die Datei enthält.
3. Wählen Sie im Listenfeld "Files to share" die gewünschte Datei aus und klicken Sie auf
die Schaltfläche "Freigeben".
Die Datei wird nun aus der Liste "Files to share" entfernt.
4. Klicken Sie zum Fortfahren auf "Schließen".
Branch after share
Gibt die Datei frei und erstellt einen neuen Branch zum Erstellen einer separaten Version.
© 2016 Altova GmbH
Altova UModel 2017
376
Versionskontrolle
Versionskontrollbefehle
12.3.12 Verlauf anzeigen
Mit diesem Befehl zeigen Sie den Verlauf einer unter Versionskontrolle stehenden Datei an. Sie
können damit eine detaillierte Verlaufsliste anzeigen, genauere Verlaufsinformationen anzeigen,
einen Vergleich durchführen oder frühere Versionen der Datei abrufen.
So zeigen Sie den Verlauf einer Datei an:
1. Klicken Sie im Fenster "Modell-Struktur" auf die Datei, deren Verlauf Sie ansehen
möchten.
2. Wählen Sie die Menüoption Projekt | Versionskontrolle | Verlauf anzeigen.
Es erscheint ein Dialogfeld, in dem Sie nähere Informationen eingeben müssen.
3. Wählen Sie den gewünschten Eintrag und bestätigen Sie mit OK.
Dieses Dialogfeld bietet verschiedene Möglichkeiten, um bestimmte Versionen der
ausgewählten Datei zu vergleichen und abzurufen. Wenn Sie auf einen Eintrag in der
Liste doppelklicken, wird das Dialogfeld "Verlauf" für diese Datei geöffnet.
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
Versionskontrollbefehle
377
Schließen
Schließt dieses Dialogfeld.
Ansicht
Öffnet ein weiteres Dialogfeld, in dem Sie die Art des Ansichtsprogramms auswählen
können, in dem Sie die Datei anzeigen möchten.
Details
Öffnet ein Dialogfeld, in dem Sie die Eigenschaften der gerade aktiven Datei sehen.
Abrufen
Damit können Sie eine der vorherigen Versionen der Datei aus der Versionsliste in das
Arbeitsverzeichnis holen.
Auschecken
Damit können Sie die neueste Version der Datei auschecken.
Diff
Öffnet das Dialogfeld Vergleichsoptionen, in dem Sie die Vergleichsoptionen zur Anzeige
der Unterschiede zwischen den beiden Dateiversionen definieren können.
Mit Hilfe von Strg + Klick können Sie zwei Dateiversionen in diesem Fenster markieren.
Klicken Sie anschließend auf Diff, um die Unterschiede zwischen den beiden Dateien
anzuzeigen.
Pin
Markiert eine Version der Datei bzw. hebt die Markierung auf. Damit können Sie die
Dateiversion definieren, die für den Dateivergleich verwendet werden soll.
Rollback
Führt ein Rollback für die ausgewählte Version der Datei durch.
Report
Generiert einen Verlaufsbericht, den Sie an den Drucken, die Datei oder die
Zwischenablage senden können.
Hilfe
Öffnet die Online-Hilfe des Versionskontrollanbieters für das Plugin.
© 2016 Altova GmbH
Altova UModel 2017
378
Versionskontrolle
Versionskontrollbefehle
12.3.13 Unterschiede anzeigen
Dieser Befehl ermöglicht die Anzeige von Unterschieden zwischen der in der VersionskontrollAblage befindlichen und der gleichnamigen Datei, die Sie ein-/ausgecheckt haben.
Wenn Sie eine der Dateien im Dialogfeld "Verlauf" mit einem Pin markiert haben, so wird diese
Datei im Textfeld "Vergleichen" verwenden. Sie können mit Hilfe der Durchsuchen-Schaltfläche 2
beliebige Dateien auswählen.
So zeigen Sie die Unterschiede zwischen zwei Dateien an:
1. Klicken Sie in der Modell-Struktur auf eine Datei.
2. Wählen Sie die Menüoption Projekt | Versionskontrolle | Unterschiede anzeigen.
Es erscheint ein Dialogfeld, in dem Sie weitere Informationen eingeben können.
3. Wählen Sie die gewünschten Einträge und bestätigen Sie mit OK.
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
Versionskontrollbefehle
379
Die Unterschiede zwischen beiden Dateien werden in beiden Fenstern farblich markiert (in
diesem Beispiel wird MS Source-Safe verwendet).
© 2016 Altova GmbH
Altova UModel 2017
380
Versionskontrolle
Versionskontrollbefehle
12.3.14 Eigenschaften anzeigen
Mit diesem Befehl können Sie die Eigenschaften der ausgewählten Datei anzeigen. Die Anzeige
kann je nach verwendetem Versionskontrollprodukt unterschiedlich sein.
So zeigen Sie die Eigenschaften der aktuell ausgewählten Datei an:
Wählen Sie Projekt | Versionskontrolle | Eigenschaften.
Dieser Befehl kann jeweils nur an einer einzelnen Datei ausgeführt werden.
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
Versionskontrollbefehle
381
12.3.15 Status aktualisieren
Mit diesem Befehl aktualisieren Sie den Status aller Projektdateien unabhängig von ihrem
derzeitigen Status.
© 2016 Altova GmbH
Altova UModel 2017
382
Versionskontrolle
Versionskontrollbefehle
12.3.16 Versionskontrollmanager
Mit diesem Befehl starten Sie die ursprüngliche Oberfläche Ihrer Versionskontroll-Software.
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
Versionskontrollbefehle
383
12.3.17 Versionskontrolle wechseln
Über dieses Dialogfeld können Sie das Versionskontrollsystem-Binding wechseln. Klicken Sie
dazu zuerst auf die Schaltfläche "Bindung aufheben" und anschließend (optional) auf die
Schaltfläche "Auswählen", um ein neues Versionskontrollsystem auszuwählen. Klicken Sie
anschließend auf die Schaltfläche "Binden", um eine Bindung zu einem neuen Pfad in der
Speicherschnittstelle zu erstellen.
© 2016 Altova GmbH
Altova UModel 2017
384
Versionskontrolle
Versionskontrolle mit Git
12.4 Versionskontrolle mit Git
Unterstützung für Git als Versionskontrollsystem in UModel steht in Form eines DrittanbieterPlug-in namens GIT SCC Plug-in (http://www.pushok.com/software/git.html) zur Verfügung.
Zum Zeitpunkt der Verfassung dieser Dokumentation steht das GIT SCC Plug-in zum
Experimentieren zur Verfügung. Um das Plug-in verwenden zu können, müssen Sie beim
Plug-in-Anbieter registriert sein.
Mit Hilfe des GIT SCC Plug-in können Sie über die Befehle im Menü Projekt | Versionskontrolle
von UModel mit einem Git Repository arbeiten. Beachten Sie, dass die Befehle im Menü Projekt |
Versionskontrolle von UModel von der Microsoft Source Control Plug-in API (MSSCCI API), für
die eine andere Art von Design als von Git verwendet wird, bereitgestellt werden. Daher bildet das
Plug-in eine Zwischenschaltung zwischen "Visual Source Safe"-Funktionalitäten und GitFunktionalitäten. Das bedeutet einerseits, dass ein Befehl wie z.B. Aktuellste Version holen für
Git eventuell so nicht verwendet werden kann. Andererseits gibt es einige neue Git-spezifische
Aktionen, die über das Plug-in im Dialogfeld "Versionskontrollmanager" zur Verfügung gestellt
werden (Menü Projekt | Versionskontrolle | Versionskontrollmanager von UModel).
Das Dialogfeld "Versionskontrollmanager"
Andere häufig benötigte Versionskontrollbefehle stehen direkt im Menü Projekt |
Versionskontrolle zur Verfügung.
In den folgenden Abschnitten wird die Anfangskonfiguration des Plug-in sowie der grundlegende
Arbeitsablauf beschrieben:
Aktivieren der Git-Versionskontrolle mit dem Git SCC Plug-in
Hinzufügen eines Projekts zur Git-Versionskontrolle
Klonen eines Projekts anhand der Git-Versionskontrolle
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
Versionskontrolle mit Git
385
12.4.1 Aktivieren der Git-Versionskontrolle mit dem Git SCC Plug-in
Um die Git-Versionskontrolle mit UModel zu aktivieren, muss zuerst das Drittanbieter-PushOK
GIT SCC Plug-in installiert, registriert und als Versionskontrollanbieter ausgewählt werden. Dies
geschieht folgendermaßen:
1. Laden Sie die Installationsdatei für das Plug-in von der Website des Anbieters (http://
www.pushok.com) herunter, starten Sie sie und befolgen Sie die
Installationsanweisungen.
2. Klicken Sie im Menü Projekt von UModel auf Versionskontrolle wechseln und
vergewissern Sie sich, dass PushOk GITSCC als Versionskontroll-Provider ausgewählt
ist. Wenn Push Ok GITSCC in der Liste der Provider nicht angezeigt wird, war die
Installation des Plug-in wahrscheinlich nicht erfolgreich. Lesen Sie in diesem Fall in der
Dokumentation des Anbieters nach, wie Sie das Problem lösen können.
3. Wenn ein Dialogfeld angezeigt wird, in dem Sie aufgefordert werden, das Plug-in zu
registrieren, klicken Sie auf Registrierung und befolgen Sie die Anweisungen des
Assistenten, um die Registrierung abzuschließen.
© 2016 Altova GmbH
Altova UModel 2017
386
Versionskontrolle
Versionskontrolle mit Git
12.4.2 Hinzufügen eines Projekts zur Git-Versionskontrolle
Sie können UModel -Projekte als Git Repositories speichern. Die Struktur der zum Projekt
hinzugefügten Dateien oder Ordner würde anschließend der Struktur des Git Repository
entsprechen.
So fügen Sie ein Projekt zu einer Git-Versionskontrolle hinzu:
1. Stellen Sie sicher, dass das PushOK GIT SCC Plug-in als Versionskontrollanbieter
ausgewählt ist (siehe Aktivieren der Git-Versionskontrolle mit dem Git SCC Plug-in ).
2. Erstellen Sie ein neues leeres Projekt und vergewissern Sie sich, dass es keine
Validierungsfehler aufweist (d.h. dass bei Auswahl des Befehls Projekt | Projektsyntax
überprüfen keine Fehler oder Warnungen angezeigt werden).
3. Speichern Sie das Projekt in einem lokalen Ordner, z.B. unter C:\MyRepo\Project.ump.
4. Klicken Sie im Fenster der Modell-Struktur auf den Root-Node.
5. Klicken Sie im Menü Projekt unter Versionskontrolle auf Zu Versionskontrolle
hinzufügen.
6. Klicken Sie auf OK.
7. Geben Sie den Text Ihrer Commit-Meldung ein und klicken Sie auf OK.
Sie können jetzt Modellierungselemente (Diagramme, Klassen, Pakete usw.) zu Ihrem Projekt
hinzufügen. Beachten Sie, dass alle Projektdateien und -ordner sich unter dem Root-Ordner des
Projekts befinden müssen. Wenn das Projekt z.B. im Ordner C:\MyRepo angelegt wurde, so
sollten nur Dateien unter C:\MyRepo zur Projekt hinzugefügt werden. Wenn Sie versuchen,
Dateien, die sich außerhalb des Projekt-Root-Ordners befinden, zum Projekt hinzuzufügen, wird
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
Versionskontrolle mit Git
387
eine Warnmeldung angezeigt:
© 2016 Altova GmbH
Altova UModel 2017
388
Versionskontrolle
Versionskontrolle mit Git
12.4.3 Klonen eines Projekts anhand der Git-Versionskontrolle
Projekte, die bereits zur Git-Versionskontrolle hinzugefügt wurden (siehe Hinzufügen eines
Projekts zur Git-Versionskontrolle) können folgendermaßen über das Git Repository geöffnet
werden:
1. Vergewissern Sie sich, dass das PushOK GIT SCC Plug-in als VersionskontrollProvider ausgewählt ist (siehe Aktivieren der Git-Versionskontrolle mit dem Git SCC Plugin ).
2. Klicken Sie im Menü Projekt auf Versionskontrolle | Aus Versionskontrolle öffnen.
3. Geben Sie den Pfad oder die URL des Versionskontroll-Repository ein. Klicken Sie auf
Überprüfen, um die Gültigkeit des Pfads oder der URL zu überprüfen.
4. Geben Sie unter Lokaler Pfad den Pfad zu dem lokalen Ordner ein, in dem das Projekt
erstellt werden soll und klicken Sie auf Weiter. Wenn der lokale Ordner vorhanden ist,
wird (auch wenn er leer ist) das folgende Dialogfeld aufgerufen:
5. Klicken Sie zur Bestätigung auf Ja und anschließend auf Weiter.
Altova UModel 2017
© 2016 Altova GmbH
Versionskontrolle
Versionskontrolle mit Git
389
6. Stellen Sie die restlichen Schritte des Assistenten fertig, wie für Ihr Projekt erforderlich.
7. Nach der Fertigstellung wird ein Durchsuchen-Dialogfeld angezeigt, in dem Sie
aufgefordert werden, das UModel-Projekt (*.ump)-Datei zu öffnen. Wählen Sie die
Projektdatei aus, um den Projektinhalt in UModel zu laden.
© 2016 Altova GmbH
Altova UModel 2017
Kapitel 13
UModel Diagrammsymbole
392
UModel Diagrammsymbole
13
UModel Diagrammsymbole
Der folgende Abschnitt enthält eine Kurzübersicht über die Symbole, die in den einzelnen
Modelldiagrammen zur Verfügung stehen.
Die Symbole sind in zwei Gruppen unterteilt:
Hinzufügen - Zeigt eine Liste von Elementen an, die zum Diagramm hinzugefügt werden
können.
Beziehung - Zeigt eine Liste von Beziehungsarten an, die zwischen Elementen im
Diagramm erstellt werden können.
Altova UModel 2017
© 2016 Altova GmbH
UModel Diagrammsymbole
Aktivitätsdiagramm
393
13.1 Aktivitätsdiagramm
Hinzufügen
Aktion (Aufrufverhalten-Aktion)
Aktion (Aufrufoperationsaktion)
Ereignisannahmeaktion
Ereignisannahmeaktion (Zeitereignis)
Signalsendeaktion
Verzweigungsknoten (Verzweigung)
Verbindungsknoten
Startknoten
Aktivitätsendknoten
Endknoten für Kontrollflüsse
Parallelisierungsknoten (vertikal)
Parallelisierungsknoten (horizontal)
Synchronisationsknoten
Synchronisationsknoten (horizontal)
Inputpin
Outputpin
Wert-Pin
Objektknoten
Pufferknoten
Datenspeicherknoten
Aktivitätsbereich (horizontal)
Aktivitätsbereich (vertikal)
Aktivitätsbereich 2-dimensional
Kontrollfluss
Objektfluss
Ausnahme-Handler
Aktivität
Aktivitätsparameterknoten
StrukturierterAktivitätsknoten
Mengenverarbeitungsbereich
Erweiterungsknoten
Unterbrechungsbereich
Anmerkung
Anmerkung verknüpfen
© 2016 Altova GmbH
Altova UModel 2017
394
UModel Diagrammsymbole
Klassendiagramm
13.2 Klassendiagramm
Beziehung:
Assoziation
Aggregation
Komposition
Assoziationsklasse
Abhängigkeit
Verwendung
Schnittstellenrealisierung
Generalisierung
Hinzufügen:
Paket
Klasse
Schnittstelle
Enumeration
Datentyp
Primitivtyp
Profil
Stereotyp
Profilzuweisung
Instanzspezifikation
Anmerkung
Anmerkung verknüpfen
Altova UModel 2017
© 2016 Altova GmbH
UModel Diagrammsymbole
Kommunikationsdiagramm
395
13.3 Kommunikationsdiagramm
Hinzufügen
Lebenslinie
Nachricht (Aufruf)
Nachricht (Antwort)
Nachricht (Erstellung)
Nachricht (Löschung)
Anmerkung
Anmerkung verknüpfen
© 2016 Altova GmbH
Altova UModel 2017
396
UModel Diagrammsymbole
Kompositionsstrukturdiagramm
13.4 Kompositionsstrukturdiagramm
Hinzufügen
Kollaboration
Kollaborationsanwendung
Part (Eigenschaft)
Klasse
Schnittstelle
Port
Beziehung
Konnektor
Abhängigkeit (Rollenbindung)
Schnittstellenrealisierung
Verwendung
Anmerkung
Anmerkung verknüpfen
Altova UModel 2017
© 2016 Altova GmbH
UModel Diagrammsymbole
Komponentendiagramm
397
13.5 Komponentendiagramm
Hinzufügen:
Paket
Schnittstelle
Klasse
Komponente
Artefakt
Beziehung:
Realisierung
Schnittstellenrealisierung
Verwendung
Abhängigkeit
Anmerkung
Anmerkung verknüpfen
© 2016 Altova GmbH
Altova UModel 2017
398
UModel Diagrammsymbole
Deployment-Diagramm
13.6 Deployment-Diagramm
Hinzufügen:
Paket
Komponente
Artefakt
Knoten
Gerät
Ausführungsumgebung
Beziehung:
Manifestation
Deployment
Assoziation
Generalisierung
Abhängigkeit
Anmerkung
Anmerkung verknüpfen
Altova UModel 2017
© 2016 Altova GmbH
UModel Diagrammsymbole
Interaktionsübersichtsdiagramm
399
13.7 Interaktionsübersichtsdiagramm
Hinzufügen
Aufrufverhalten - Aktion (Interaktion)
Aufrufverhalten - Aktion (Interaktionsverwendung)
Verzweigungsknoten
Verbindungsknoten
Startknoten
Aktivitätsendknoten
Parallelisierungsknoten
Parallelisierungsknoten (Horizontal)
Synchronisationsknoten
Synchronisationsknoten (Horizontal)
Zeitdauerbedingung
Beziehung
Kontrollfluss
Anmerkung
Anmerkung verknüpfen
© 2016 Altova GmbH
Altova UModel 2017
400
UModel Diagrammsymbole
Objektdiagramm
13.8 Objektdiagramm
Beziehung:
Assoziation
Assoziationsklasse
Abhängigkeit
Verwendung
Schnittstellenrealisierung
Generalisierung
Hinzufügen:
Paket
Klasse
Schnittstelle
Enumeration
Datentyp
Primitivtyp
Instanzspezifikation
Anmerkung
Anmerkung verknüpfen
Altova UModel 2017
© 2016 Altova GmbH
UModel Diagrammsymbole
Paketdiagramm
401
13.9 Paketdiagramm
Hinzufügen
Paket
Profil
Beziehung
Abhängigkeit
Paketimport
Paketmerge
Profilzuweisung
Anmerkung
Anmerkung verknüpfen
© 2016 Altova GmbH
Altova UModel 2017
402
UModel Diagrammsymbole
Profildiagramm
13.10 Profildiagramm
Hinzufügen
Profil
Stereotyp
Beziehung
Generalisierung
Profilzuweisung
Paketimport
Elementimport
Anmerkung
Anmerkung verknüpfen
Altova UModel 2017
© 2016 Altova GmbH
UModel Diagrammsymbole
Protokoll-Zustandsdiagramm
403
13.11 Protokoll-Zustandsdiagramm
Hinzufügen
Einfacher Zustand
Zusammengesetzter Zustand
Orthogonaler Zustand
Unterautomatenzustand
Endzustand
Anfangszustand
Eintrittspunkt
Austrittspunkt
Entscheidung
Kreuzung
Beendung
Gabelung
Gabelung (horizontal)
Vereinigung
Vereinigung (horizontal)
Verbindungspunktreferenz
Beziehung
Protocol Transition
Anmerkung
Anmerkung verknüpfen
© 2016 Altova GmbH
Altova UModel 2017
404
UModel Diagrammsymbole
Sequenzdiagramm
13.12 Sequenzdiagramm
Hinzufügen
Lebenslinie
Combined Fragment
Combined Fragment (Alternativen)
Combined Fragment (Loop)
Interaktionsverwendung
Gate
Zustandsinvariante
Zeitdauerbedingung
Zeitbedingung
Nachricht
Nachricht
Nachricht
Nachricht
(Aufruf)
(Antwort)
(Erstellung)
(Löschung)
Asynchrone Nachricht (Aufruf)
Asynchrone Nachricht (Antwort)
Asynchrone Nachricht (Löschung)
Anmerkung
Anmerkung verknüpfen
Keine Nachrichtennummerierung
Einfache Nachrichtennummerierung
Hierarchische Nachrichtennummerierung
Verschieben zusammengehöriger Nachrichten ein/aus
Automatische Erstellung von Antworten auf Nachrichten (Call) ein/aus
Automatische Erstellung von Operationen in der Zielkomponente durch Eingabe von
Operationsnamen ein-/ausschalten
Altova UModel 2017
© 2016 Altova GmbH
UModel Diagrammsymbole
Zustandsdiagramm
405
13.13 Zustandsdiagramm
Hinzufügen
Einfacher Zustand
Zusammengesetzter Zustand
Orthogonaler Zustand
Unterautomatenzustand
Anfangszustand
Endzustand
Eintrittspunkt
Austrittspunkt
Entscheidung
Kreuzung
Beendung
Gabelung
Gabelung (horizontal)
Vereinigung
Vereinigung (horizontal)
Deep history
Shallow history
Verbindungspunktreferenz
Beziehung
Transition
Anmerkung
Anmerkung verknüpfen
Automatische Erstellung von Operationen in der Zielkomponente durch Eingabe von
Operationsnamen ein-/ausschalten
© 2016 Altova GmbH
Altova UModel 2017
406
UModel Diagrammsymbole
Zeitverlaufsdiagramm
13.14 Zeitverlaufsdiagramm
Hinzufügen
Lebenslinie (Zustand/Bedingung)
Lebenslinie (Allgemeiner Wert)
Tick-Symbol
Auslösendes Ereignis
Zeitdauerbedingung
Zeitbedingung
Nachricht (Aufruf)
Nachricht (Antwort)
Asynchrone Nachricht (Aufruf)
Anmerkung
Anmerkung verknüpfen
Altova UModel 2017
© 2016 Altova GmbH
UModel Diagrammsymbole
Use Case-Diagramm
407
13.15 Use Case-Diagramm
Hinzufügen:
Paket
Akteur
Use Case
Beziehung:
Assoziation
Generalisierung
Include
Extend
Anmerkung
Anmerkung verknüpfen
© 2016 Altova GmbH
Altova UModel 2017
408
UModel Diagrammsymbole
XML-Schema-Diagramm
13.16 XML-Schema-Diagramm
Hinzufügen
XSD Target Namespace
XSD Schema
XSD Element (global)
XSD Group
XSD ComplexType
XSD ComplexType (simpleContent)
XSD SimpleType
XSD List
XSD Union
XSD Enumeration
XSD Attribute
XSD AttributeGroup
XSD Notation
XSD Import
Beziehung
XSD Include
XSD Redefine
XSD Restriction
XSD Extension
XSD Substitution
Anmerkung
Anmerkung verknüpfen
Altova UModel 2017
© 2016 Altova GmbH
Kapitel 14
Menüreferenz
410
Menüreferenz
14
Menüreferenz
Im folgenden Abschnitt sind alle Menüs und Menüoptionen in UModel mit einer kurzen
Beschreibung dazu aufgelistet.
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Datei
411
14.1 Datei
Neu
Löscht das Diagrammregister, falls ein früheres Projekt vorhanden ist, und erstellt ein neues
UModel-Projekt.
Öffnen
Öffnet ein zuvor definiertes Modellierungsprojekt. Wählen Sie im Dialogfeld "Öffnen" eine zuvor
gespeicherte Projektdatei (*.ump) aus.
Nachstehend sehen Sie das Standarddialogfeld zum Öffnen von Dateien. Beachten Sie bitte die
Schaltfläche "Zu URL wechseln" am unteren Rand des Dialogfelds.
Wenn Sie auf die Schaltfläche "Zu URL wechseln" klicken, ändert sich das Aussehen des
Dialogfelds und Sie können nun eine UModel-Projektdatei über eine URL öffnen.
1. Geben Sie ins Feld Server-URL die gewünschte URL ein.
2. Geben Sie in die Felder Benutzer und Passwort die entsprechenden Daten ein, falls der
Server passwortgeschützt ist.
3. Klicken Sie auf Durchsuchen um die Verzeichnisstruktur auf dem Server zu sehen und
durch diese zu navigieren.
4. Klicken Sie auf die Datei, die in UModel geladen werden soll. Wenn es sich beim Server
um einen Microsoft® SharePoint® Server handelt, aktivieren Sie das Kontrollkästchen
Microsoft® SharePoint® Server. Nähere Informationen zum Arbeiten mit Dateien dieses
Servertyps finden Sie unter den Anmerkungen weiter unten zu Microsoft® SharePoint®
Server.
© 2016 Altova GmbH
Altova UModel 2017
412
Menüreferenz
Datei
Die Datei-URL erscheint nun im oberen Bereich des Dialogfelds im Feld "Datei-URL".
Die Schaltfläche Öffnen wird erst jetzt aktiv.
5. Klicken Sie auf die Schaltfläche Öffnen, um die Datei zu laden. Die Datei wird nun im
Hauptfenster angezeigt.
Bitte beachten Sie: Die Durchsuchen-Funktion steht nur auf Servern zur Verfügung, die
WebDAV und Microsoft SharePoint Server unterstützen. Die unterstützten Protokolle
sind FTP, HTTP und HTTPS.
Damit Sie mehr Kontrolle über den Ladevorgang haben, können Sie auswählen, ob die
Datei über den lokalen Cache-Speicher oder über einen Proxy-Server (wodurch der
Ladevorgang beträchtlich schneller geht, wenn die Datei bereits einmal geladen war)
geladen werden soll. Alternativ dazu müssen Sie die Datei eventuell neu laden, wenn Sie
z.B. mit einem EPS oder einem Datenbanksystem arbeiten; wählen Sie in diesem Fall
die Option Neu laden.
Anmerkungen zu Microsoft® SharePoint® Server
Beachten Sie bei Dateien auf Microsoft® SharePoint® Servern die folgenden Punkte:
In der Verzeichnisstruktur, die im Fenster der verfügbaren Dateien angezeigt wird
(Abbildung unten), sind die Dateisymbole mit Symbolen versehen, die den Status der
Datei (Eingecheckt/Ausgecheckt) kennzeichnen.
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Datei
413
Wenn Sie mit der rechten Maustaste auf eine Datei klicken, erscheint ein Kontextmenü
mit Befehlen, die für diese Datei zur Verfügung stehen (Abbildung oben).
Im Folgenden sehen Sie die verschiedenen Dateisymbole:
Eingecheckt. Die Datei kann ausgecheckt werden.
Die Datei wurde von einem anderen Benutzer ausgecheckt und
kann nicht ausgecheckt werden.
Lokal ausgecheckt. Die Datei kann bearbeitet und eingecheckt
werden.
Nachdem Sie eine Datei ausgecheckt haben, können Sie sie in Ihrer Altova-Applikation
bearbeiten und mit Datei | Speichern (Strg+S) speichern.
Sie können die bearbeitete Datei über das Kontextmenü im Dialogfeld "URL öffnen" (siehe
Abbildung oben) einchecken.
Wenn eine Datei von einem anderen Benutzer ausgecheckt wurde, kann sie nicht
auscheckt werden.
Wenn eine Datei lokal von Ihnen ausgecheckt wurde, können Sie dies mit dem
Kontextmenübefehl "Auschecken rückgängig" rückgängig machen. In diesem Fall wird
die Datei dem Server unverändert zurückgegeben.
Wenn Sie eine Datei in einer Altova-Applikation auschecken, können Sie sie in einer
anderen Altova-Applikation nicht auschecken. Die Datei gilt bereits als für Sie
ausgecheckt. Daher stehen in diesem Fall in jeder Altova-Applikation, die Microsoft®
SharePoint® Server unterstützt, nur die Befehle Einchecken und Auschecken
rückgängig zur Verfügung.
© 2016 Altova GmbH
Altova UModel 2017
414
Menüreferenz
Datei
Neu laden
Dient zum Neuladen des aktuellen Projekts und zum Speichern oder Verwerfen der Änderungen,
die seit dem letzten Öffnen der Projektdatei vorgenommen wurden.
Speichern
Speichert das aktuell aktive Modellierungsprojekt unter dem aktiven Dateinamen.
Speichern unter
Speichert das aktuell aktive Modellierungsprojekt unter einem anderen Namen bzw. dient zum
Speichern des Projekts unter einem Namen, wenn Sie das Projekt zum ersten Mal speichern.
Kopie speichern unter
Damit können Sie eine Kopie des aktuell aktiven UModel-Projekts unter einem anderen
Dateinamen speichern.
Diagramm als Bild speichern
Öffnet das Dialogfeld "Speichern unter..." und speichert das aktuell aktive Diagramm je nach Wahl
als .png- oder .emf (Enhanced Metafile)-Datei. Es können nun auch sehr große PNG-Dateien im
Gigabyte-Bereich gespeichert werden.
Alle Diagramme als Bilder speichern
Speichert alle Diagramme des derzeit aktiven Projekts als .png- oder .emf (enhanced metafile)Datei.
Aus XMI-Datei importieren
Importiert eine zuvor exportierte XMI-Datei. Wenn die Datei mit UModel erzeugt wurde, werden alle
Erweiterungen usw. beibehalten.
In XMI-Datei exportieren
Exportiert das Modell als XMI-Datei. Sie können die UML-Version sowie die zu exportierenden IDs
auswählen. Nähere Informationen siehe XMI - XML Metadata Interchange.
Als Mail senden
Öffnet Ihre Standard-Mailapplikation und fügt das aktuelle UModel Projekt als Anhang ein.
Drucken
Öffnet das Dialogfeld "Drucken", über das Sie Ihr Modellierungsprojekt ausdrucken können.
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Datei
415
Bei Auswahl der Option "Aktuelle" wird der aktuell definierte Zoomfaktor des
Modellierungsprojekts beibehalten und die Gruppe "Umbruch von Bildern" wird aktiviert.
Bei Auswahl der Option "Verhindern" wird verhindert, dass Modellelemente über Seiten hinweg
umbrochen werden. Sie werden auf einer Seite angezeigt.
Bei Auswahl von "Optimale" wird das Modellierungsprojekt an die Seitengröße angepasst. Sie
können den Zoom-Faktor auch durch Eingabe eines numerischen Werts definieren.
Alle Diagramme drucken
Öffnet das Dialogfeld "Drucken" und druckt alle in der aktuellen Projektdatei enthaltenen UMLDiagramme.
Druckvorschau
Öffnet dasselbe Druckdialogfeld mit denselben Einstellungen wie oben beschrieben.
Druckereinrichtung
Öffnet das Dialogfeld "Druckereinrichtung", in dem Sie einstellen können, welchen Drucker und
welche Papiereinstellungen Sie verwenden möchten.
© 2016 Altova GmbH
Altova UModel 2017
416
Menüreferenz
Bearbeiten
14.2 Bearbeiten
Rückgängig
UModel gestattet eine unbegrenzte Anzahl an Rückgängig-Schritten, sodass Sie Ihren
Modellierungsvorgang Schritt für Schritt zurückverfolgen können.
Wiederherstellen
Mit Hilfe des Befehls "Wiederherstellen" können Sie zuvor rückgängig gemachte Befehle
wiederholen. Sie können sich innerhalb des Verlaufs der rückgängig gemachten Schritte vorwärts
und rückwärts bewegen.
Ausschneiden/Kopieren/Löschen
Die Windows-Standardbearbeitungsbefehle gestatten Ihnen, Modellelemente auszuschneiden, zu
kopieren, usw. Nähere Informationen dazu finden Sie unter Ausschneiden, Kopieren und Einfügen
in UModel Diagramme.
Einfügen
Entweder über die Tastenkürzel Strg+V, den Befehl "Einfügen" aus dem Kontextmenü oder dem
gleichnamigen Befehl aus dem Menü "Bearbeiten". Fügt immer ein neues Modellelement zum
Diagramm und zur Modellstruktur hinzu. Nähere Informationen siehe "Ausschneiden, Kopieren
und Einfügen in UModel Diagramme".
Nur in Diagramm einfügen
Befehl, der über das Kontextmenü aufgerufen wird, d.h. durch Rechtsklick auf den
Diagrammhintergrund. Fügt nur einen Link/eine Ansicht eines bestehenden Elements zum
aktuellen Diagramm nicht aber zur Modell-Struktur hinzu. Nähere Informationen siehe
"Ausschneiden, Kopieren und Einfügen in UModel Diagramme".
Nur aus Diagramm löschen
Löscht die ausgewählten Modellelemente aus dem aktuell aktiven Diagramm. Die gelöschten
Elemente werden nicht aus dem Modellierungsprojekt gelöscht und stehen auf dem Register
"Modell-Struktur" zur Verfügung.
Beachten Sie, dass diese Option nicht zum Löschen von Eigenschaften oder Operationen aus
einer Klasse verfügbar ist. Eigenschaften oder Operationen können ausgewählt und direkt aus der
Klasse gelöscht werden.
Alles markieren
Markiert alle Modellelemente des aktuell aktiven Diagramms. Entspricht der Tastenkombination
Strg+A .
Suchen
Es stehen verschiedene Optionen zum Suchen von Modellelementen zur Verfügung:
Über das Textfeld in der Titelleiste
über die Menüoption Bearbeiten | Suchen
Drücken Sie die Tastenkombination Strg+F um das Dialogfeld "Suchen" zu öffnen.
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Bearbeiten
417
Dient zum Suchen von bestimmtem Text:
in einem der drei Modell-Strukturbereiche: Modell-Struktur, Diagramm-Struktur und
Favoriten.
auf dem Register "Dokumentation" im Fenster "Übersicht".
in jedem aktuell aktiven Diagramm.
im Fenster "Meldungen".
Weitersuchen
F3
Sucht die nächste Instanz desselben Suchstrings auf dem derzeit aktiven Register oder im
derzeit aktiven Diagramm.
Vorheriges suchen Umschalt+F3
Sucht die vorherige Instanz desselben Suchstrings auf dem derzeit aktiven Register oder im
derzeit aktiven Diagramm.
Ersetzen
Dient zum Suchen und Ersetzen eines beliebigen Modellierungselements im Projekt. Wenn das
Element gefunden wird, wird es sowohl im Diagramm als auch in der Modell-Struktur markiert.
Suchen und Ersetzen funktioniert in:
allen Diagrammen
jedem der drei Modell-Struktur-Fenster: auf den Registern Modell-Struktur, DiagrammStruktur und Favoriten.
dem Register "Dokumentation" des Fensters "Übersicht".
© 2016 Altova GmbH
Altova UModel 2017
418
Menüreferenz
Bearbeiten
Als Bitmap kopieren
Kopiert das derzeit aktive Diagramm in die Zwischenablage, von wo aus Sie es in die Applikation
Ihrer Wahl einfügen können.
Bitte beachten Sie:
Diagramme werden in die System-Zwischenablage kopiert. Sie müssen sie in eine andere
Applikation einfügen, um sie zu sehen oder darauf zugreifen zu können.
Auswahl als Bitmap kopieren
Kopiert die aktuell ausgewählten Diagrammelemente in die Zwischenablage, von wo aus Sie
sie in die Applikation Ihrer Wahl einfügen können.
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Projekt
419
14.3 Projekt
Projektsyntax überprüfen...
Überprüft die UModel-Projektsyntax. Die Projektdatei wird auf mehreren Ebenen überprüft. Siehe
Tabelle unten:
Ebene
Überprüft, ...
Meldung...
Projektebene
ob mindestens eine Java Namespace Root existiert Fehler
Komponenten ob die Projektdatei / das Verzeichnis definiert ist
Fehler
ob eine Realisierung vorhanden ist
Fehler
Bei deaktiviertem Kontrollkästchen "Für Code
Engineering verwenden" wird keine Überprüfung
durchgeführt und die Syntaxüberprüfung ist
deaktiviert
Keine
Klasse
ob der Name der Code-Datei definiert ist.
Wenn die Klasse geschachtelt ist, wird keine
Überprüfung durchgeführt.
Fehler, wenn die
lokale Option
"Fehlende
Codedateinamen
generieren" nicht
aktiviert wurde.
Warnung, wenn die
Option aktiviert ist.
ob die Klasse in einem Codesprachen-Namespace
enthalten ist
Fehler
ob der Typ für den Operationsparameter definiert ist
Fehler
ob der Typ für die Eigenschaften definiert ist
Fehler
ob der Rückgabetyp für die Operation definiert ist
Fehler
überprüft auf doppelte Operationen (Namen +
Parametertypen)
Fehler
Wenn Klassen in der Realisierung vorkommen, nur
wenn die Klasse nicht geschachtelt ist.
Warnung
Schnittstelle
ob der Codedateiname definiert ist.
ob die Schnittstelle in einem CodesprachenNamespace enthalten ist
ob der Typ für die Eigenschaften definiert ist
ob der Typ für den Operationsparameter definiert ist
ob der Rückgabetyp für die Operation definiert ist
Fehler, wenn die
lokale Option
"Fehlende
Codedateinamen
generieren" nicht
aktiviert ist.
Warnung, wenn die
Option aktiviert ist.
Fehler
© 2016 Altova GmbH
Fehler
Fehler
Fehler
Altova UModel 2017
420
Menüreferenz
Projekt
überprüft auf doppelte Operationen (Namen +
Parametertypen)
ob Schnittstellen in einer Komponentenrealisierung
vorkommen
Fehler
Enumeration
Gehört zum Java Namespace Root:
Gibt eine Warnung aus, dass kein Code generiert
wird.
Warnung
Gehört nicht zur Java Namespace Root:
Keine
Es wird keine Überprüfung durchgeführt und die
Syntaxüberprüfung ist für die Enumeration
deaktiviert. Es wird an dem enthaltenen Paket keine
Überprüfung durchgeführt
Warnung
Syntaxüberprüfung für alle an der Codegenerierung beteiligten UML-Elemente
Klasse
Überprüft, ob der Name ein gültiger Java-Name ist
(keine unzulässigen Zeichen, Name ist kein Keyword)
Fehler
Klasseneigenschaft
Überprüft, ob der Name ein gültiger Java-Name ist
(keine unzulässigen Zeichen, Name ist kein Keyword)
Fehler
Klassenoperation
Überprüft, ob der Name ein gültiger Java-Name ist
(keine unzulässigen Zeichen, Name ist kein Keyword)
Überprüft, ob Rückgabeparameter vorhanden sind
Fehler
Klassenoperationsparameter
Überprüft, ob der Name ein gültiger Java-Name ist
Fehler
(keine unzulässigen Zeichen, Name ist kein Keyword)
Überprüft ob der Typ einen gültigen Java-Typnamen hat
Schnittstelle
Überprüft, ob der Name ein gültiger Java-Name ist
(keine unzulässigen Zeichen, Name ist kein Keyword)
Fehler
Schnittstellenoperation
Überprüft, ob der Name ein gültiger Java-Name ist
(keine unzulässigen Zeichen, Name ist kein Keyword)
Fehler
Schnittstellenoperationsparameter
Überprüft, ob der Name ein gültiger Java-Name ist
(keine unzulässigen Zeichen, Name ist kein Keyword)
Fehler
Schnittstelleneigenschaften
Überprüft, ob der Name ein gültiger Java-Name ist
(keine unzulässigen Zeichen, Name ist kein Keyword)
Fehler
Paket mit
StereotypNamespace
Überprüft, ob der Name ein gültiger Java-Name ist
(keine unzulässigen Zeichen, Name ist kein Keyword)
Fehler
Paket ohne
StereotypNamespace
Kein zu überprüfendes Element
Keine
Klasse
Mehrfachvererbung
Fehler
Bitte beachten Sie:
Einschränkungen an Modellelementen werden nicht überprüft, da sie nicht Teil der JavaCodegenerierung sind. Nähere Informationen dazu siehe "Einschränken von
Modellelementen".
Versionskontrolle
Nähere Informationen und Anleitungen zu Versionskontrollservern und Clients finden Sie unter
Versionskontrolle.
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Projekt
421
Quellverzeichnis importieren...
Öffnet das unten gezeigte Dialogfeld "Quellverzeichnis importieren". Ein Beispiel dazu finden Sie
unter "Round-Trip Engineering (Code - Modell - Code)".
Quellprojekt importieren...
Öffnet den unten gezeigten Assistenten "Quellprojekt importieren". Durch Klicken auf die
Durchsuchen-Schaltfläche
können Sie die Projektdatei und den jeweiligen Projekttyp
auswählen. Ein Beispiel dazu finden Sie unter "Importieren von Quellcode in Projekte".
Java-Projekte:
Derzeit werden JBuilder .jpx, Eclipse .project Projektdateien sowie NetBeans
(project.xml) unterstützt.
C#-Projekte:
MS Visual studio.NET-Projekte, csproj, csdprj..., sowie
Borland .bdsproj-Projektdateien
VB.NET-Projekte:
MS Visual Studio-Projekte, vbproj, vbdproj
Binärtypen importieren
Öffnet das Dialogfeld "Binärtypen importieren", über das Sie Java-, C#- und VB-Binärdateien
importieren können. Nähere Informationen dafür finden Sie unter "Importieren von Java-, C#- und
VB-Binärdateien.
XML-Schemaverzeichnis importieren
Öffnet das Dialogfeld "XML-Schemaverzeichnis importieren", über das Sie alle XML-Schemas in
diesem Verzeichnis und optional dazu alle XML-Schemas in den Unterverzeichnissen dieses
Verzeichnisses importieren können.
XML-Schema-Datei importieren
Öffnet das Dialogfeld "XML-Schema-Datei importieren" zum Importieren von Schema-Dateien.
Nähere Informationen finden Sie unter "XML-Schema-Diagramme".
Sequenzdiagramm generieren...
Öffnet das Dialogfeld "Operationen auswählen", in dem Sie (mehrere) Operationen auswählen
können, die die Basis für das generierte Sequenzdiagramm bilden sollen.
© 2016 Altova GmbH
Altova UModel 2017
422
Menüreferenz
Projekt
Nachdem Sie die Operationen ausgewählt und auf OK geklickt haben, wird das Dialogfeld
"Sequenzdiagrammgenerierung" geöffnet, in dem Sie weitere Einstellungen zur
Diagrammgenerierung vornehmen können.
Merge Programmcode aus UModel-Projekt
Öffnet das Dialogfeld "Synchronisierungseinstellungen", wobei das Register "Code von Modell"
aktiv ist. Wenn Sie auf die Schaltfläche "Projekteinstellungen" klicken, können Sie die
Einstellungen für die jeweilige Programmiersprache auswählen.
Mergen oder Überschreiben von Code
Angenommen, es wurde bereits Code anhand von einem Modell erstellt und es wurden seither
Änderungen an Modell und Code vorgenommen. z.B:
Modellelemente wurden in UModel hinzugefügt z.B. eine neue Klasse X
Eine neue Klasse wurde zum externen Code hinzugefügt z.B. Klasse Y
Mergen (eines Modells in Code) bedeutet, dass:
die neu hinzugefügte Klasse Y im externen Code beibehalten wird.
die neu hinzugefügte Klasse X aus UModel zum Code hinzugefügt wird.
Überschreiben (von Code anhand eines Modells) bedeutet, dass:
die neu hinzugefügte Klasse Y im externen Code gelöscht wird
die neu hinzugefügte Klasse X aus UModel zum Code hinzugefügt wird.
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Projekt
423
Merge UModel-Projekt aus Programmcode
Öffnet das Dialogfeld "Synchronisierungseinstellungen", wobei das Register "Modell von Code"
aktiv ist. Wenn Sie auf die Schaltfläche "Projekteinstellungen" klicken, können Sie die
Einstellungen für die jeweilige Programmiersprache auswählen.
Mergen oder Überschreiben von Code
Angenommen, es wurde bereits Code anhand von einem Modell erstellt und es wurden seither
Änderungen an Modell und Code vorgenommen. z.B:
Modellelemente wurden in UModel hinzugefügt z.B. eine neue Klasse X
Eine neue Klasse wurde zum externen Code hinzugefügt z.B. Klasse Y
Mergen (von Code in das Modell) bedeutet, dass:
die neu hinzugefügte Klasse X in UModel beibehalten wird
die neu hinzugefügte Klasse Y aus externem Code zum Modell hinzugefügt wird
Überschreiben (von Code anhand eines Modells) bedeutet, dass:
die neu hinzugefügte Klasse X im externen Code gelöscht wird
die neu hinzugefügte Klasse Y aus externem Code zum Modell hinzugefügt wird.
© 2016 Altova GmbH
Altova UModel 2017
424
Menüreferenz
Projekt
Projekteinstellungen
Gestattet Ihnen das Definieren von Einstellungen für bestimmte Programmiersprachen für Ihr
Projekt.
Synchronisierungseinstellungen...
Öffnet das Dialogfeld "Synchronisierungseinstellungen", siehe Screenshot oben.
Projekt zusammenführen...
Führt zwei UModel-Projektdateien in einem Modell zusammen. Die erste Datei, die Sie öffnen, ist
die Datei, in die die zweite Datei überführt wird. Nähere Informationen dazu finden Sie unter
Zusammenführen von UModel-Projekten.
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Projekt
425
Unterprojekt inkludieren
Siehe Inkludieren anderer UMdoel-Projekte.
Unterprojekt als Projekt öffnen
Öffnet das ausgewählte Unterprojekt als neues Projekt.
Meldungen löschen
Löscht die Meldungen, Warnungen und Fehler, die im Fenster "Meldungen" zur
Syntaxüberprüfung und Codezusammenführung angezeigt werden.
Bitte beachten Sie:
Fehlermeldungen weisen im Allgemeinen auf Probleme hin, die vor der Codegenerierung bzw. vor
der Aktualisierung des Modellcodes während der Codegenerierung behoben werden müssen.
Warnmeldungen weisen im Allgemeinen auf Probleme hin, die auch später behoben werden
können. Fehlermeldungen und Warnmeldungen werden von der Syntaxüberprüfung, dem Compiler
für die spezifische Sprache, dem UModel Parser, der die neu generierte Quelldatei liest, sowie
beim Import von XMI-Dateien, generiert.
Dokumentation generieren
Gestattet die Generierung von Dokumentation in den Formaten HTML, Microsoft Word und RTF
für das derzeit offene Projekt. Nähere Informationen dazu finden Sie unter Generieren von UMLDokumentation.
In keinem Diagramm verwendete Elemente auflisten
Erstellt eine Liste aller Elemente, die in keinem Diagramm des Projekts verwendet werden.
Freigegebene Pakete auflisten
Listet alle freigegebenen Pakete des aktuellen Projekts auf.
Inkludierte Pakete auflisten
Listet alle im aktuellen Projekt inkludierten Pakete auf. Die Projekte Java Profile (Java Profile.ump)
und Java Lang (Java Lang.ump) werden automatisch in dem mit UModel mitgelieferten Beispiel
"Bankview" zur Verfügung gestellt.
© 2016 Altova GmbH
Altova UModel 2017
426
Menüreferenz
Layout
14.4 Layout
Die Befehle des Menüs "Layout" gestatten Ihnen, die Elemente Ihrer Modelldiagramme
anzuordnen und aneinander auszurichten.
Bei Verwendung der Marquee-Technik (Aufziehen eines Rechtecks über dem Diagramm) zur
Markierung mehrerer Elemente wird das Element mit der strichlierten Umrandung, d.h. das zuletzt
markierte Element, zum "aktiven" Element. Bei allen Befehle zum Ausrichten wird dieses
Element als Ursprungselement verwendet, anhand dessen die folgenden Befehle ausgeführt
werden.
Ausrichten:
Dieser Befehl dient je nach Auswahl des jeweiligen Befehls zum Ausrichten von Modellelementen
entlang ihrer Ränder oder Mittelpunkte.
Gleichmäßig anordnen:
Mit dieser Gruppe von Befehlen können Sie ausgewählte Elemente sowohl in horizontaler als
auch vertikaler Richtung gleichmäßig anordnen.
Größe angleichen:
Mit Hilfe dieser Befehle können Sie die Breite und Höhe der ausgewählten Elemente anhand des
aktiven Elements anpassen.
Anordnen:
Mit Hilfe dieser Gruppe von Befehlen können Sie die ausgewählten Elemente vertikal oder
horizontal in einer Linie anordnen.
Linienart:
Mit Hilfe dieser Gruppe von Befehlen können Sie die Art der Linie auswählen, mit der die
verschiedenen Modellelemente verbunden werden sollen. Die Linien können jede Art von
Abhängigkeit oder Assoziation darstellen, die in den verschiedenen Diagrammen verwendet
werden.
Größe automatisch anpassen:
Mit diesem Befehl werden die ausgewählten Elemente an die jeweils optimale Größe angepasst.
Automatisches Layout:
Dieser Befehl dient zum Auswählen der Art, wie Modellelemente auf dem UML-Diagrammregister
dargestellt werden sollen.
Mit "Zentriert" werden die Modellelemente zentriert ausgerichtet.
Bei Auswahl von "Hierarchisch" werden die Elemente nach ihrer Beziehung, übergeordneten
Klasse, abgeleiteten Klasse usw. dargestellt.
Mit "Block" werden die Elemente nach Elementgröße gruppiert in Rechteckform dargestellt.
Textlabels neu positionieren:
Positioniert die Namen der (ausgewählten) Modellelemente zurück an ihre Standardposition.
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Ansicht
427
14.5 Ansicht
Mit Hilfe der Befehle in diesem Menü können Sie:
zu Registern der verschiedenen Fenster wechseln bzw. diese aktivieren
die Sortierkriterien für die Modellelemente der Register "Modell-Struktur" und
"Favoriten" definieren
die Gruppierungskriterien der Diagramme auf dem Register "Diagramm-Struktur"
definieren
bestimmte UML-Elemente auf den Registern "Favoriten" und "Modell-Struktur" ein- oder
ausblenden
den Zoomfaktor des aktuellen Diagramms definieren
© 2016 Altova GmbH
Altova UModel 2017
428
Menüreferenz
Extras
14.6 Extras
Im Menü "Extras" können Sie:
Ihre Version anpassen: Ihre eigenen Symbolleisten, Tastaturkürzel, Menüs und Makros
definieren
die globalen Programmeinstellungen/optionen definieren
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Extras
429
14.6.1 Benutzerdefinierte Tools
Wenn Sie den Mauszeiger über den Befehl Benutzerdefinierte Tools platzieren, wird ein
Untermenü mit benutzerdefinierten Befehlen angezeigt, die externe Applikationen verwenden. Sie
können diese Befehle im Dialogfeld "Anpassen" auf dem Register "Extras" erstellen. Wenn Sie
auf einen dieser benutzerdefinierten Befehle klicken, wird die mit diesem Befehl verknüpfte Aktion
ausgeführt.
Der Befehl Benutzerdefinierte Tools | Anpassen öffnet das Register "Extras" im Dialogfeld
"Anpassen" (Hier können Sie die benutzerdefinierten Befehle, die im Menü des Befehls
Benutzerdefinierte Tools angezeigt werden, erstellen).
© 2016 Altova GmbH
Altova UModel 2017
430
Menüreferenz
Extras
14.6.2 Anpassen...
Der Befehl "Anpassen" dient zum Anpassen von UModel an Ihre persönlichen Bedürfnisse.
Befehle
Symbolleisten
Extras
Tastatur
Menü
Optionen
Befehle
Auf dem Register "Befehle" können Sie Ihre Menüs oder Symbolleisten anpassen.
So fügen Sie einen Befehl zu einer Symbolleiste oder einem Menü hinzu:
1. Öffnen Sie dieses Dialogfeld durch Klicken auf Extras | Anpassen.
2. Wählen Sie im Listenfeld "Kategorien" die Befehlskategorie aus. Die verfügbaren Befehle
werden im Listenfeld "Befehle" angezeigt.
3. Klicken Sie auf einen Befehl in der Liste der Befehle und ziehen Sie ihn in ein
vorhandenes Menü bzw. eine vorhandene Symbolleiste.
4. Wenn Sie den Cursor über eine Position halten, an die der Befehl gezogen werden kann,
wird ein I-Zeichen angezeigt.
5. Lassen Sie die Maustaste an der Position los, an der der Befehl eingefügt werden soll.
An der Spitze des Mauszeigers erscheint beim Ziehen des Befehls eine kleine
Schaltfläche. Das Häkchen unterhalb des Mauszeigers bedeutet, dass der Befehl nicht
an der aktuellen Cursorposition abgelegt werden kann.
An den Stellen, an die der Befehl gezogen werden kann (also über der Symbolleiste oder
einem Menü) verschwindet das Häkchen.
Wenn Sie den Cursor beim Ziehen über ein Menü ziehen, wird dieses geöffnet, sodass
Sie den Befehl an einer beliebigen Stelle im Menü ablegen können.
Befehle können in Menüs oder Symbolleisten platziert werden. Wenn Sie Ihre eigene
Symbolleiste erstellt haben, können Sie darin Ihre eigenen Befehle/Symbole einordnen.
Bitte beachten Sie:
Auf dieselbe Weise können Sie auch die Befehle in den Kontextmenüs (wird durch
Rechtsklick aufgerufen) bearbeiten. Klicken Sie auf das Register "Menü" und wählen Sie
anschließend aus der Liste der Kontextmenüs das jeweilige Kontextmenü aus.
So löschen Sie einen Befehl oder ein Menü:
1. Öffnen Sie dieses Dialogfeld durch Auswahl von Extras | Anpassen.
2. Klicken Sie auf den Menüeintrag bzw. das zu löschende Symbol und ziehen Sie es mit
der Maus.
3. Lassen Sie die Maustaste los, sobald das Häkchensymbol unterhalb des Mauszeigers
erscheint.
Der Befehl bzw. der Menüeintrag wird aus dem Menü bzw. der Symbolleiste gelöscht.
Symbolleisten
Auf dem Register "Symbolleisten" können Sie bestimmte Symbolleisten aktivieren oder
deaktivieren sowie Ihre eigenen Symbolleisten erstellen.
Symbolleisten enthalten Befehle für die am häufigsten verwendeten Menübefehle. Zu jedem
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Extras
431
Symbol erhalten Sie eine kurze Erklärung in Form eines Tooltipps, wenn Sie den Mauszeiger
direkt über das Element platzieren. In der Statusleiste wird eine detailliertere Beschreibung des
Befehls angezeigt.
Sie können die Symbolleisten von ihrer Standardposition an eine beliebige Stelle auf dem
Bildschirm ziehen, wo sie als abgedocktes Fenster angezeigt werden. Alternativ dazu können Sie
die Symbolleisten auch am linken oder rechten Rand des Hauptfensters andocken.
So aktivieren oder deaktivieren Sie eine Symbolleiste:
1. Klicken Sie auf das Kontrollkästchen, um die jeweilige Symbolleiste zu aktivieren (bzw.
zu deaktivieren).
So erstellen Sie eine neue Symbolleiste:
1. Klicken Sie auf die Schaltfläche Neu... und geben Sie der Symbolleiste im Dialogfeld
"Symbolleistenname" einen Namen.
2. Fügen Sie über das Register Befehle des Dialogfelds "Anpassen" Befehle zur
Symbolleiste hinzu.
So setzen Sie die Menüleiste zurück
Klicken Sie auf den Menüleisteneintrag und
anschließend auf die Schaltfläche Zurücksetzen, um die Menübefehle auf den Zustand
zum Zeitpunkt der Installation zurückzusetzen
So setzen Sie alle Symbolleisten- und Menübefehle zurück
Klicken Sie auf die Schaltfläche Alle zurücksetzen, um alle Symbolleistenbefehle auf
den Zustand zum Zeitpunkt der Installation des Programms zurückzusetzen. Sie werden
gefragt, ob alle Symbolleisten und Menüs zurückgesetzt werden sollen.
Klicken Sie auf "Ja", um den Vorgang zu bestätigen.
Textlabels zeigen:
Bei Aktivierung dieser Option wird erklärender Text unterhalb der Symbolleistenbefehle angezeigt.
Extras
Über das Register "Extras" können Sie im Menü "Extras" Ihre eigenen Menüeinträge und damit
verknüpften Argumente zum Starten externer Tools über das UModel Menü "Extras" erstellen.
Klicken Sie (in der Leiste "Menüinhalte") auf das Ordnersymbol, um einen neuen Menüeintrag
hinzuzufügen und verknüpfen Sie ihn über das Feld "Befehl" mit einer Anwendung.
© 2016 Altova GmbH
Altova UModel 2017
432
Menüreferenz
Extras
Auf dem Register "Extras" können nun Argumente definiert werden. Argumente sind Variablen,
denen bestimmte Werte zugewiesen werden, wenn das externe Tool über den Menübefehl
gestartet wird.
Beispiel: Öffnen der Quellcodedatei der gerade ausgewählten UML-Klasse in Notepad.
1. Wählen Sie den Menübefehl Extras | Anpassen und klicken Sie auf das Register Extras.
2. Geben Sie den Namen und Pfad der externen Applikation ein, z.B. C:\...\notepad.exe.
3. Klicken Sie auf die Flyout-Schaltfläche des Felds "Argumente" und wählen Sie das
gewünschte Argument aus, z.B. Codedateiname.
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Extras
433
4. Klicken Sie zum Fertigstellen auf die Schaltfläche "Schließen".
5. Klicken Sie auf das Menü "Extras" und wählen Sie den Eintrag "Codedatei öffnen".
Die Datei BankServer.cs wird in Nodepad geöffnet und kann bearbeitet werden.
UModel-Argumente
Projektdateiname
Der Dateiname der aktiven UModel-Projektdatei, z.B. “Test.ump”.
Projektdateipfad
Der absolute Dateipfad der aktiven UModel-Projektdatei, z.B. “c:\MyDirectory\Test.ump”.
Fokussierte UML-Daten - Name
Der Name des UML-Elements, das sich gerade im Fokus befindet, z.B. “Class1”.
Fokussierte UML-Daten - UML Qualified Name
Der qualifizierte Name des UML-Elements, das sich gerade im Fokus befindet, z.B.
“Package1::Package2::Class1”.
Fokussierte UML-Daten - Codedateiname
Der Codedateiname der im Fenster "Eigenschaften" (relativ zur realisierenden Komponente)
angegebenen UML-Klasse, -Schnittstelle oder Enumeration, die sich gerade im Fokus befindet,
z.B. “Class1.cs” oder “MyNamespace\Class1.Java”.
Fokussierte UML-Daten – Codedateipfad
Der Codedateipfad der im Fenster "Eigenschaften" angegebenen UML-Klasse, Schnittstelle oder
Enumeration die sich gerade im Fokus befindet, z.B. “C:\Temp\MySource\Class1.cs”.
© 2016 Altova GmbH
Altova UModel 2017
434
Menüreferenz
Extras
Fokussierte UML-Daten – Codeprojektdateiname
Der Dateiname des Codeprojekts, zu dem die gerade fokussierte UML-Klasse, Schnittstelle oder
Enumeration gehört.
Der Codeprojektdateiname kann relativ zur UModel-Projektdatei angegeben werden und ist
derselbe, der auch in den Eigenschaften der Komponenten angezeigt wird, z.B. “C:\Temp
\MySource\MyProject.vcproj” or “MySource\MyProject.vcproj”.
Fokussierte UML-Daten - Codeprojektdateipfad
Der Dateipfad des Codeprojekts, zu dem die gerade fokussierte UML-Klasse, Schnittstelle oder
Enumeration gehört, z.B. “C:\Temp\MySource\MyProject.vcproj”.
Tastatur
Auf dem Register "Tastatur" können Sie Tastaturkürzel für jeden beliebigen Befehl definieren (oder
ändern).
So weisen Sie einem Befehl ein neues Tastaturkürzel zu:
1. Wählen Sie im Listenfeld "Kategorie" die Befehlskategorie aus.
2. Wählen Sie in der Liste "Befehle" den Befehl aus, dem Sie ein neues Tastaturkürzel
zuweisen möchten.
3. Klicken Sie in das Textfeld "Tastaturkürzel eingeben:" und drücken Sie die Tasten, mit
denen dieser Befehl aufgerufen werden soll.
Die Tastenkombination wird sofort im Textfeld angezeigt. Falls diese Tastenkombination
bereits zugewiesen wurde, so wird diese Funktion unterhalb des Textfelds angezeigt.
4. Klicken Sie auf die Schaltfläche Zuweisen, um das Tastaturkürzel permanent
zuzuweisen.
Das Tastaturkürzel erscheint nun im Listenfeld "Aktuelle Tasten".
(Um den Eintrag in diesem Textfeld zu löschen, drücken Sie eine der Steuerungstasten:
Strg, ALT oder Umschalttaste.)
So heben Sie eine Tastenzuweisung auf (oder löschen ein Tastaturkürzel):
1. Klicken Sie in der Liste "Aktuelle Tasten" auf das zu löschende Tastaturkürzel.
2. Klicken Sie auf die jetzt aktiv gewordene Schaltfläche Entfernen.
3. Klicken Sie auf die Schaltfläche "Schließen", um alle im Dialogfeld "Anpassen"
vorgenommenen Änderungen zu bestätigen.
Menü
Auf dem Register "Menü" können Sie die Hauptmenüleisten sowie die Kontextmenüs anpassen.
Sie können sowohl die Standard- als auch die UModel-Projekt-Menüleiste anpassen.
Das Standardmenü ist das Menü, das angezeigt wird, wenn keine XML-Dokumente
irgendeiner Art geöffnet sind.
Das UModel Projektmenü ist die Menüleiste, die angezeigt wird, wenn eine *.ump-Datei
geöffnet ist.
So passen Sie ein Menü an:
1. Wählen Sie die gewünschte Menüleiste aus dem Listenfeld "Menüs anzeigen für" aus.
2. Klicken Sie auf das Register Befehle und ziehen Sie die Befehle in die Menüleiste Ihrer
Wahl.
So löschen Sie Befehle aus einem Menü:
1. Rechtsklicken Sie auf den Befehl oder das Symbol für den Befehl und
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Extras
435
2. Wählen Sie die Option Löschen aus dem Popup-Menü aus.
oder
1. Wählen Sie Extras | Anpassen, um das Dialogfeld "Anpassen" zu öffnen und
2. Ziehen Sie die Befehl aus dem Menü und lassen Sie die Maustaste los, sobald unterhalb
des Mauszeigers ein Häkchen angezeigt wird.
So setzen Sie eine der Menüleisten zurück:
1. Wählen Sie im Listenfeld entweder den Eintrag "Standardmenü" oder "UModel-Projekt"
aus und
2. Klicken Sie unterhalb des Menünamens auf die Schaltfläche Zurücksetzen.
Sie werden daraufhin gefragt, ob Sie die Menüleiste wirklich zurücksetzen möchten.
So passen Sie eines der Kontextmenüs (Rechtsklickmenüs) an:
1. Wählen Sie das Kontextmenü aus dem Listenfeld "Kontextmenü auswählen" aus.
2. Klicken Sie auf das Register Befehle und ziehen Sie die jeweiligen Befehle in das
geöffnete Kontextmenü.
So löschen Sie Befehle aus einem Kontextmenü:
1. Rechtsklicken Sie auf den Befehl oder das Symbol für den Befehl und
2. Wählen Sie im Popup-Menü die Option Löschen aus.
oder,
1. Wählen Sie Extras | Anpassen, um das Dialogfeld "Anpassen" zu öffnen und
2. Ziehen Sie den Befehl aus dem Kontextmenü heraus und lassen Sie die Maustaste los,
sobald unterhalb des Mauszeigers ein Häkchen angezeigt wird.
So setzen Sie eines der Kontextmenüs zurück:
1. Wählen Sie das Kontextmenü aus dem Listenfeld aus und
2. Klicken Sie unterhalb des Kontextmenünamens auf die Schaltfläche Zurücksetzen.
Sie werden gefragt, ob Sie das Kontextmenü wirklich zurücksetzen möchten.
So schließen Sie ein Kontextmenüfenster:
1. Klicken Sie auf das Schließen-Symbol in der rechten oberen Ecke der Titelleiste oder
2. Klicken Sie im Dialogfeld "Anpassen" auf die Schaltfläche "Schließen".
Menüschatten
Klicken Sie auf das Kontrollkästchen "Menüschatten", wenn die Menüs mit Schatten
angezeigt werden sollen.
Optionen
Auf dem Register "Optionen" können Sie allgemeine Einstellungen vornehmen.
Wenn das Kontrollkästchen Tooltip in Symbolleiste einblenden aktiv ist, wird ein Tooltipp
angezeigt, wenn der Mauszeiger über eine Symbolleisten-Schaltfläche platziert wird. In diesem
Tooltipp wird eine kurze Beschreibung der Schaltflächenfunktion sowie das dazugehörige
Tastaturkürzel, falls eines zugewiesen wurde, angezeigt.
Wenn das Kontrollkästchen Große Symbole aktiv ist, werden anstatt der Standardsymbole
größere Symbole angezeigt.
© 2016 Altova GmbH
Altova UModel 2017
436
Menüreferenz
Extras
14.6.3 Symbolleisten und Fenster wiederherstellen
Mit diesem Befehl wird UModel geschlossen und mit den Standardeinstellungen neu gestartet.
Vor dem Schließen wird ein Dialogfeld angezeigt, in dem Sie gebeten werden, den Befehl zu
bestätigen
Dieser Befehl ist hilfreich, wenn Sie Symbolleisten oder Fenster verschoben oder ausgeblendet
oder deren Größe angepasst haben und nun alle Originaleinstellungen wiederherstellen möchten.
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Extras
437
14.6.4 Optionen
Wählen Sie den Menüeintrag Extras | Optionen, um Ihre Projektoptionen zu definieren.
Auf dem Register Ansicht können Sie folgende Einstellungen festlegen:
wo das Programmlogo angezeigt werden soll.
den Inhalt der Applikationstitelleiste
die Elementarten, die aufgelistet werden sollen, wenn Sie auf dem Register "ModelStruktur" oder "Favoriten" auf die Kontextmenüoption "In keinem Diagramm verwendete
Elemente auflisten" klicken. Sie haben auch die Möglichkeit, Elemente in inkludierten
Dateien zu ignorieren.
ob ein in einem Diagramm ausgewähltes Element in der Modell-Struktur automatisch
ausgewählt/synchronisiert werden soll.
die Standardtiefe der hierarchischen Ansicht auf dem Register "Hierarchie" bei
Verwendung der Option Graph. Ansicht anzeigen .
Die Einstellungen für automatisches hierarchisches Layout, über Sie für das
Hierarchiefenster die Verschachtelungstiefe nach oben und unten festlegen können.
"Jedes Element nur einmal erweitern". Dadurch kann im selben Bild/Diagramm kann nur
eines derselben Classifier-Elemente erweitert werden.
ob Sie Elemente beim Ziehen mit der Maus in einem Diagramm an Hilfslinien ausrichten
möchten.
Auf dem Register Bearbeiten können Sie folgende Einstellungen definieren:
Ob ein neues auf dem Register "Modell-Struktur" erstelltes Diagramm im Hauptfenster
automatisch geöffnet werden soll.
© 2016 Altova GmbH
Altova UModel 2017
438
Menüreferenz
Extras
Standardsichtbarkeit beim Hinzufügen neuer Elemente - Eigenschaften oder Operationen.
die Standard-Codesprache, wenn eine neue Komponente hinzugefügt wird.
Ob eine neu hinzugefügte Einschränkung auch ihren Besitzer (Owner) einschränken soll.
Ob Sie gefragt werden möchten, bevor Elemente aus einem Projekt, vom Register
Favoriten oder aus einem der Diagramme gelöscht werden. Wenn Sie Elemente hier
löschen, kann diese Eingabeaufforderung deaktiviert werden. Sie können die
Eingabeaufforderung "vor dem Löschen fragen" hier zurücksetzen.
Die Zeit nach der Syntaxfehler-Popup-Fenster geschlossen werden sollen.
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Extras
439
Auf dem Register Diagrammbearbeitung können Sie folgende Einstellungen definieren:
wie viele Objekte automatisch zu einem Diagramm hinzugefügt werden können, bevor
eine Eingabeaufforderung erscheint.
die Anzeige von Stilen, wenn diese automatisch zu einem Diagramm hinzugefügt werden.
ob automatisch Assoziationen zwischen Modellelementen erstellt werden sollen, wenn
Elemente zu einem Diagramm hinzugefügt werden.
ob die Assoziationen zu Collections aufgelöst werden sollen.
ob Vorlagen von unbekannten externen Elementen als nicht vollständig qualifiziert
aufgelöst werden sollen.
ob bestehende Collection-Vorlagen verwendet oder neue definiert werden sollen.
Collection-Vorlagen sollten als voll qualifiziert definiert werden, also a.b.c.List. Wenn die
Vorlage diesen Namespace hat, erstellt UModel automatisch eine Collection-Assoziation.
Ausnahme: Wenn die Vorlage zum Paket der unbekannten externen Elemente gehört
und die Option "Unbekannte externe Elemente: nicht qualifizierte auflösen" aktiviert ist,
so wird nur der Vorlagenname berücksichtigt (d.h. List anstelle von a.b.c.List).
Ob das Autokomplettierungsfenster bei der Bearbeitung von Attributen oder Operationen
im Klassendiagramm verfügbar sein soll.
Auf dem Register Datei können Sie folgende Einstellungen definieren:
welche Aktionen durchgeführt werden sollen, wenn Dateien geändert werden.
ob der Inhalt des Registers "Favoriten" sowie alle derzeit offenen Diagramme mit dem
aktuellen Projekt geladen und gespeichert werden soll.
ob das zuletzt geöffnete Projekt beim Starten der Applikation automatisch geöffnet
werden soll.
ob die Projektdatei mit CR/LF-Zeilen und Tabulatoreinrückungen im Pretty-Print-Format
© 2016 Altova GmbH
Altova UModel 2017
440
Menüreferenz
Extras
gespeichert werden soll.
Auf dem Register Code Engineering können Sie folgende Einstellungen vornehmen:
die Umstände, unter denen das Meldungsfenster angezeigt werden soll.
ob alle Code-Elemente, d.h. jene, die in einer Java-, C# - oder VB-Namespace Root
enthalten sind, sowie jene, die einer Java-, C#- oder VB-Komponente zugewiesen sind,
überprüft werden sollen oder ob nur Elemente, die für das Code Engineering
verwendet werden, d.h. Elemente, bei denen das Kontrollkästchen "für Code
Engineering verwenden" aktiv ist, überprüft werden sollen.
ob im zusammenzuführenden Code fehlende Codedateinamen generiert werden sollen.
Beim Aktualisieren von Programmcode:
ob eine Syntaxüberprüfung durchgeführt werden soll.
ob fehlende Komponentenrealisierungen automatisch generiert werden sollen.
ob im zusammengeführten Code fehlende Codedateinamen generiert werden sollen
ob im Codedateipfad Namespaces verwendet werden sollen
Die im Code verwendete Einrückungsmethode, d.h. Tabulatoren oder beliebig viele
Leerzeichen
welche Verzeichnisse beim Aktualisieren eines UModel-Projekts anhand von Code oder
einem Verzeichnis ignoriert werden sollen. Trennen Sie die einzelnen Verzeichnisse
durch ein Semikolon ";". Untergeordnete Verzeichnisse desselben Namens werden
ebenfalls ignoriert.
den Pfad zur XMLSpy-Datei RootCatalog.xml, welche es UModel sowie XMLSpy
erlaubt, allgemein verwendete Schemas (sowie Stylesheets und andere Dateien) aus
lokalen Benutzerordnern aufzurufen. Dadurch wird die allgemeine
Verarbeitungsgeschwindigkeit erhöht und Benutzer können auf diese Art auch offline
arbeiten.
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
© 2016 Altova GmbH
Extras
441
Altova UModel 2017
442
Menüreferenz
Extras
Auf dem Register Versionskontrolle können Sie folgende Einstellungen vornehmen:
Auswahl des aktuellen Versionskontroll-Plug-in über die Auswahlliste. Über die
Schaltfläche "Erweitert" können Sie die genauen Einstellungen für das ausgewählte
Versionskontroll-Plug-in definieren. Diese Einstellungen sind unterschiedlich, je nachdem,
welches Versionskontroll-Plug-in Sie verwenden.
Die Anmelde-ID für das Versionskontrollsystem.
Spezifische Ein- und Auscheck-Einstellungen.
Die Schaltfläche "Zurücksetzen" steht zur Verfügung, wenn Sie in einem der Dialogfelder
die Option "Wenn Dialogfelder mit "..nicht mehr anzeigen" ausgeblendet waren, klicken
Sie auf "Zurücksetzen", damit sie wieder angezeigt werden" aktiviert haben. Daraufhin
wird diese "nicht mehr anzeigen"-Meldung wieder angezeigt.
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Fenster
443
14.7 Fenster
Überlappend:
Mit diesem Befehl werden alle offenen Dokumentenfenster so angeordnet, dass sie einander
überlappend angezeigt werden.
Horizontal anordnen:
Mit diesem Befehl werden alle offenen Dokumentenfenster horizontal nebeneinander angeordnet,
sodass alle gleichzeitig sichtbar sind.
Vertikal anordnen:
Mit diesem Befehl werden alle offenen Dokumentenfenster vertikal übereinander angeordnet,
sodass alle gleichzeitig sichtbar sind.
Symbole anordnen:
Damit werden Diagramme, die beliebig und in Symbolform angeordnet sind, entlang des unteren
Rands des Diagrammansichtsbereichs positioniert.
Schließen:
Schließt das derzeit aktive Diagrammregister.
Alle schließen:
Schließt alle derzeit geöffneten Diagrammregister.
Alle bis auf das aktive schließen:
Schließt alle Diagrammregister mit Ausnahme des derzeit aktiven.
Nächstes:
Wechselt zum nächsten Modelldiagrammregister in der Reihe der Register oder zum nächsten
Hyperlink-Element.
Vorheriges:
Wechselt zum vorherigen Modelldiagrammregister in der Reihe der Register oder zum vorherigen
Hyperlink-Element.
Fensterliste:
In dieser Liste werden alle derzeit offenen Fenster angezeigt, sodass Sie zwischen ihnen
wechseln können.
Sie können auch mit Hilfe der Tastaturkürzel Strg-TAB oder Strg F6 zwischen den offenen
Fenstern hin- und herwechseln.
© 2016 Altova GmbH
Altova UModel 2017
444
Menüreferenz
Hilfe
14.8 Hilfe
Inhaltsverzeichnis
Beschreibung
Mit dem Befehl Inhaltsverzeichnis wird die Bildschirmhilfe für <%APPNAME%
geöffnet, wobei das Inhaltsverzeichnis auf der linken Seite des Hilfefensters angezeigt
wird. Das Inhaltsverzeichnis bietet eine Übersicht über das gesamte Hilfedokument.
Wenn Sie auf einen Eintrag im Inhaltsverzeichnis klicken, gelangen Sie zu diesem
Thema.
Index
Beschreibung
Mit dem Befehl Index wird die Bildschirmhilfe für UModel geöffnet, wobei auf der linken
Seite des Hilfefensters der Stichwortindex angezeigt wird. Im Index werden Stichwörter
aufgelistet und Sie können durch Doppelklick auf das Stichwort zum jeweiligen Thema
navigieren. Wenn ein Stichwort mit mehr als einem Thema verknüpft ist, können Sie das
Thema aus einer Liste von Themen auswählen.
Suchen
Beschreibung
Mit dem Befehl Suchen wird die Bildschirmhilfe für UModel geöffnet, wobei auf der
linken Seite des Hilfefensters das Suchdialogfeld angezeigt wird. Um nach einem Begriff
zu suchen, geben Sie ihn in das Eingabefeld ein und drücken Sie die Eingabetaste.
Das Hilfesystem führt eine Volltextsuche am gesamten Hilfedokument durch und gibt
eine Trefferliste zurück. Doppelklicken Sie auf einen Eintrag, um das Thema
anzuzeigen.
Software-Aktivierung
Beschreibung
Nachdem Sie Ihre Altova-Software heruntergeladen haben, können Sie sie entweder mit
Hilfe eines kostenlosen Evaluierungs-Keycode oder eines käuflich erworbenen
permanenten Lizenzkeycode aktivieren.
Kostenloser Evaluierungs-Keycode. Wenn Sie die Software zum ersten Mal
starten, wird das Dialogfeld "Software-Aktivierung" angezeigt. Es enthält eine
Schaltfläche, über die Sie einen kostenlosen Evaluierungs-Keycode anfordern
können. Geben Sie in das Dialogfeld, das daraufhin angezeigt wird, Ihren
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Hilfe
445
Namen, den Namen Ihrer Firma und Ihre E-Mail-Adresse ein und klicken Sie auf
"Jetzt anfordern!". Der Evaluierungs-Keycode wird an die von Ihnen angegebene
E-Mail-Adresse gesendet und sollte in wenigen Minuten eintreffen. Geben Sie
den Schlüssel nun im Dialogfeld "Software-Aktivierung" in das Feld Key-Code
ein und klicken Sie auf OK, um Ihr Altova-Produkt zu aktivieren. Die Software
wird für einen Zeitraum von 30 Tagen aktiviert.
Permanenter Lizenz Keycode. Das Dialogfeld "Software-Aktivierung" enthält
eine Schaltfläche, über die Sie einen permanenten Lizenz-Keycode erwerben
können. Wenn Sie auf diese Schaltfläche klicken, gelangen Sie zum Altova
Online Shop, wo Sie einen permanenten Lizenz-Keycode für Ihr Produkt
erwerben können. Bei Ihrem permanenten Lizenz-Keycode handelt es sich
entweder um eine Einzelbenutzerlizenz oder um eine Mehrfachlizenz. Beide
Arten werden per E-Mail zugesandt. Eine Einzelbenutzerlizenz enthält Ihre
Lizenzdaten, Ihren Namen, die Firma, E-Mail-Adresse und Keycode. Eine
Mehrfachlizenz enthält Ihre Lizenzdaten, ihren Firmennamen und den
Keycode. Beachten Sie, dass gemäß Ihrer Lizenzvereinbarung auf den
Computern Ihres Unternehmens nur so viele Versionen der Altova-Software
installiert werden dürfen, wie lizenziert wurden (Mehrplatzlizenz).
Anmerkung: Stellen Sie bitte sicher, dass die von Ihnen in das Registrierungsdialogfeld
eingegebenen Daten genau mit denen in Ihrer Lizenz-E-Mail übereinstimmen. Geben
Sie außerdem bei Mehrplatzlizenzen den Namen des jeweiligen Benutzers in das Feld
"Name" ein.
Das Dialogfeld "Software-Aktivierung" (Abbildung unten) kann jederzeit über den Befehl
Hilfe | Software-Aktivierung aufgerufen werden.
Sie können die Software auf die folgenden Arten aktivieren:
durch Eingabe der Lizenzschlüsselinformationen (Klicken Sie auf Neuen
Keycode eingeben) oder
durch Abruf einer Lizenz über einen Altova LicenseServer auf Ihrem Netzwerk
(klicken Sie um unteren Rand des Dialogfelds "Software-Aktivierung" auf Altova
LicenseServer verwenden). Der Altova LicenseServer muss in seinem
Lizenz-Pool eine Lizenz für Ihre Altova-Produkt haben. Wenn im LicenceServerPool eine Lizenz verfügbar ist, wird dies im Dialogfeld "Software-Aktivierung"
angezeigt (Abbildung unten) und Sie können auf Speichern klicken, um die
Lizenz abzurufen.
© 2016 Altova GmbH
Altova UModel 2017
446
Menüreferenz
Hilfe
Beachten Sie, dass eine Lizenz erst sieben Tage nach Abruf dieser Lizenz
wieder an den LicenseServer zurückgegeben werden kann. Sobald die Lizenz
durch Klick auf Lizenz zurückgeben an den Server zurückgegeben wurde,
kann sie von einem anderen Client abgerufen werden.
Altova LicenseServer bietet IT-Administratoren einen Echtzeitüberblick über alle AltovaLizenzen in einem Netzwerk. Dazu werden die Einzelheiten zu jeder Lizenz sowie
Client-Zuweisungen und die Verwendung von Lizenzen durch Clients angezeigt. Der
Vorteil der Verwendung von LicenseServer liegt in seinen Funktionen zur Verwaltung
großer Altova-Lizenzpools. Altova LicenseServer steht kostenlos auf der Altova Website
zur Verfügung. Nähere Informationen zu Altova LicenseServer und der Lizenzierung
mittels Altova LicenseServer finden Sie in der Dokumentation zu Altova LicenseServer.
Bestellformular
Beschreibung
Sobald Sie eine lizenzierte Version des Software-Produkts bestellen möchten, klicken
Sie im Dialogfeld "Software-Aktivierung" (siehe oben) auf die Schaltfläche
Permanenten Key-Code erwerben... im zum sicheren Online-Shop von Altova
weitergeleitet zu werden.
Registrierung
Altova UModel 2017
© 2016 Altova GmbH
Menüreferenz
Hilfe
447
Beschreibung
Bei Aufruf dieses Befehls wird die Altova-Produktregistrierungsseite auf einem Register
Ihres Browsers geöffnet. Durch Registrierung Ihrer Altova-Software stellen Sie sicher,
dass Sie immer die neuesten Produktinformationen erhalten.
Auf Updates überprüfen
Beschreibung
Überprüft, ob am Altova Server eine neuere Version Ihres Produkts vorhanden ist und
zeigt eine entsprechende Meldung an.
Support Center
Beschreibung
Der Befehl Support Center ist ein Link zum Altova Support Center im Internet. Im
Support Center finden Sie Antworten auf häufig gestellt Fragen, Diskussionsforen, in
denen Sie Software-Probleme besprechen können und ein Formular, um unsere
Mitarbeiter vom technischen Support zu kontaktieren.
Fragen und Antworten im Web
Beschreibung
Der Befehl Fragen und Antworten im Web ist ein Link zur Altova-Fragen- und
Antworten-Datenbank im Internet. Diese Datenbank wird ständig aktualisiert, wenn die
Mitarbeiter von Altova von unseren Kunden mit neuen Fragen konfrontiert werden.
Komponenten und Gratistools downloaden
Beschreibung
Dieser Befehl ist ein Link zum Komponenten Download Center von Altova im Internet.
Von hier können Sie Software-Komponenten verschiedener anderer Anbieter
herunterladen, die Sie mit Altova Produkten verwenden können. Dabei handelt es sich
um XSLT- und XSL-FO-Prozessoren, Applikationsserverplattformen usw. Die im
Komponenten Download Center verfügbare Software ist normalerweise kostenlos.
© 2016 Altova GmbH
Altova UModel 2017
448
Menüreferenz
Hilfe
UModel im Internet
Beschreibung
Der Befehl UModel im Internet ist ein Link zur Altova Website im Internet. Hier
erfahren Sie mehr über UModel und verwandte Technologien und Produkte auf der
Altova Website.
Über UModel
Beschreibung
Mit dem Befehl Über UModel wird das Willkommensfenster und die Versionsnummer
Ihres Produkts angezeigt. Wenn Sie die 64-Bit-Verson von UModel verwenden, wird dies
durch das Suffix (x64) nach dem Applikationsnamen angezeigt. Die 32-Bit-Version hat
kein Suffix.
Altova UModel 2017
© 2016 Altova GmbH
Kapitel 15
Code Generator
450
Code Generator
15
Code Generator
UModel enthält einen integrierten Codegenerator, der automatisch Java-, C#, Visual Basic oder
XML-Schemadateien anhand von UML-Modellen generieren kann.
Anmerkung zur Verwendung von Aliassen:
Beim Reverse Engineering von Code, der Namespace- oder Klassen-Aliasse enthält, können Sie
jetzt auswählen, ob der Alias aufgelöst werden soll (Kontrollkästchen "Aliasse auflösen" im
Dialogfeld "Quellprojekt/Verzeichnis importieren").
Beim Aktualisieren von Code, d.h. wenn der Code anhand des Modells aktualisiert wird, werden
wieder die korrekten Aliasdefinitionen verwendet. Der Geltungsbereich der Aliasdefinitionen sind
die Dateien, in denen diese vorkommen.
z.B.
using Q = System.Collections.Generic.Queue<String>;
Q myQueue;
Aliasse, bei denen es potenziell zu einem Konflikt kommen kann, werden zu den "unbekannten
externen Elementen" hinzugefügt, wenn ihre Verwendung nicht klar ist.
Anmerkung: Die Einstellung zum Auflösen von Aliassen kann jederzeit im Dialogfeld
"Projekteinstellungen" geändert werden.
Altova UModel 2017
© 2016 Altova GmbH
Code Generator
SPL (Spy Programming Language)
451
15.1 SPL (Spy Programming Language)
In diesem Abschnitt erhalten Sie eine Übersicht über Spy Programming Language (SPL), die
Template-Sprache von Code Generator.
Es wird vorausgesetzt, dass Sie bereits über Programmiererfahrung verfügen und mit Operatoren,
Funktionen, Variablen und Klassen sowie den Grundzügen von in SPl häufig verwendeter
objektorientierter Programmierung vertraut sind.
Im Ordner \UModelspl finden Sie die von UModel verwendeten Vorlagen. Anhand dieser Dateien
können Sie Ihre eigenen Vorlagen entwickeln.
Funktionsweise von Code Generator:
Die Basis von Code Generator bilden die Vorlagendateien (.spl) und das von UModel
bereitgestellte Objektmodell. Die Vorlagendateien enthalten SPL-Anweisungen zum Erstellen von
Dateien, Lesen von Informationen aus dem Objektmodell und Ausführen von Berechnungen, die in
der Zielprogrammiersprache auch Literalcodefragmente enthalten.
Die Vorlagendatei wird von Code Generator interpretiert und je nach Vorlage wird eine .java, .csQuellcodedatei oder eine andere Dateiart ausgegeben.
© 2016 Altova GmbH
Altova UModel 2017
452
Code Generator
SPL (Spy Programming Language)
15.1.1 Grundlegende SPL-Struktur
Eine SPL-Datei enthält Literaltext, der ausgegeben werden soll, der zwischendurch Code
Generator-Anweisungen enthält.
Code Generator-Anweisungen sind in eckige Klammern eingeschlossen '[' und ']'. Innerhalb einer
Klammer können mehrere Anweisungen stehen. Zusätzliche Anweisungen müssen durch eine
neue Zeile oder einen Doppelpunkt ':' getrennt werden.
Gültige Beispiele sind:
[$x = 42
$x = $x + 1]
or
[$x = 42: $x = $x + 1]
Hinzufügen von Text zu Dateien
Text, der nicht innerhalb von [ und ] steht, wird direkt in die Ausgabedatei geschrieben.
Um eckige Klammern als Literale auszugeben, setzen Sie davor als Excape-Zeichen einen
umgekehrten Schrägstrich: \[ und \]. Um einen umgekehrten Schrägstrich auszugeben,
verwenden Sie \\.
Kommentare
Kommentare innerhalb eines Anweisungsblocks beginnen immer mit einem ' Zeichen und enden
an der nächsten Zeile oder an einem Zeichen, zum Beenden eines Blocks ].
Altova UModel 2017
© 2016 Altova GmbH
Code Generator
SPL (Spy Programming Language)
453
15.1.2 Variablen
Jede etwas komplexere SPL-Datei enthält Variablen. Einige Variablen sind vom Code Generator
vordefiniert. Sie können jederzeit neue Variablen erstellen, indem Sie diesen Werte zuweisen.
Das $-Zeichen wird zur Deklarierung oder Verwendung einer Variablen verwendet. Vor der
Variable muss immer ein $ stehen. Bei Variablennamen muss die Groß- und Kleinschreibung
beachtet werden.
Variablentypen:
Integer - wird auch als Boolescher Wert verwendet, wobei 0 false ist und alle anderen
Werte true.
String
Objekt - wird von UModel bereitgestellt
Iterator (siehe foreach-Anweisung)
Variablentypen werden durch die erste Zuweisung deklariert.
[$x = 0]
x ist nun ein Integer.
[$x = "teststring"]
x wird nun als String behandelt.
Strings:
String-Konstanten müssen wie im oben gezeigten Beispiel immer innerhalb von doppelten
Anführungszeichen stehen. \n und \t innerhalb von doppelten Anführungszeichen werden als neue
Zeile und Tabulator interpretiert, \" ist ein literales doppeltes Anführungszeichen und \\ ist ein
umgekehrter Schrägstrich. String-Konstanten können auch mehrere Zeilen einnehmen.
Bei der Verkettung von Strings wird das & Zeichen verwendet.
[$BasePath = $outputpath & "/" & $JavaPackageDir]
Objekte
Objekte stehen für die Informationen, die im UModel-Projekt enthalten sind. Objekte haben
Eigenschaften, die über den . Operator aufgerufen werden können. In SPL können keine neuen
Objekte erstellt werden (sie werden durch den Code Generator vordefiniert, aus der InputKomponente abgeleitet). Sie können Objekte jedoch Variablen zuweisen.
Beispiel:
class [=$class.Name]
In diesem Beispiel wird das Wort "class" ausgegeben, gefolgt von einem Leerzeichen und dem
Wert der Eigenschaft Name des Objekts $class.
In der folgenden Tabelle sehen Sie die Beziehung zwischen UML-Elementen und ihren SPLEntsprechungen sowie eine kurze Beschreibung dazu.
© 2016 Altova GmbH
Altova UModel 2017
454
Code Generator
SPL (Spy Programming Language)
Vordefinierte Variablen
UML-Element
SPLMultiplizit
Eigenschaft
ät
BehavioralFeature isAbstract
UML
UModel
Attribute /
Association
Attribute /
Association
Beschreibung
isAbstract:Boolean
BehavioralFeature raisedExcepti
on
*
raisedException:Type
BehavioralFeature ow nedParam
eter
*
ow nedParameter:Para
meter
BehavioredClassif interfaceReali
ier
zation
*
interfaceRealization:Int
erfaceRealization
Class
ow nedOperat
ion
*
ow nedOperation:Oper
ation
Class
nestedClassif
ier
*
nestedClassifier:Classi
fier
Classifier
namespace
*
namespace:Packag packages w ith code
e
language
<<namespace>> set
Classifier
rootNamespa
ce
*
project root
namespace:String
Classifier
generalization
*
Classifier
isAbstract
ClassifierTemplate constrainingC
Parameter
lassifier
generalization:Generali
zation
isAbstract:Boolean
*
constrainingClassifier
Comment
body
DataType
ow nedAttribu
te
*
ow nedAttribute:Proper
ty
DataType
ow nedOperat
ion
*
ow nedOperation:Oper
ation
Element
kind
Element
ow ner
Element
appliedStereo
type
*
Element
ow nedComm
ent
*
ow nedComment:Comm
ent
ElementImport
importedElem
ent
1
importedElement:Packa
geableElement
Enumeration
ow nedLiteral
*
ow nedLiteral:Enumera
tionLiteral
Enumeration
nestedClassif
ier
*
nestedClassifier::Cl
assifier
Enumeration
interfaceReali
zation
*
interfaceRealization:
Interface
EnumerationLiteral ow nedAttribu
te
*
ow nedAttribute:Pro
perty
EnumerationLiteral ow nedOperat
ion
*
ow nedOperation:Op
eration
Altova UModel 2017
VB only - root
namespace
body:String
kind:String
0..1
ow ner:Element
appliedStereotype:S applied stereotypes
tereotypeApplicatio
n
© 2016 Altova GmbH
Code Generator
SPL (Spy Programming Language)
EnumerationLiteral nestedClassif
ier
*
nestedClassifier:Cla
ssifier
Feature
isStatic
Generalization
general
1
general:Classifier
Interface
ow nedAttribu
te
*
ow nedAttribute:Proper
ty
Interface
ow nedOperat
ion
*
ow nedOperation:Oper
ation
Interface
nestedClassif
ier
*
nestedClassifier:Classi
fier
1
contract:Interface
InterfaceRealizatio contract
n
isStatic:Boolean
MultiplicityElement low erValue
0..1
low erValue:ValueSpe
cification
MultiplicityElement upperValue
0..1
upperValue:ValueSpe
cification
NamedElement
name
name:String
NamedElement
visibility
visibility:VisibilityKind
NamedElement
isPublic
isPublic:Boolean
NamedElement
isProtected
isProtected:Boolean visibility <protected>
NamedElement
isPrivate
isPrivate:Boolean
visibility <private>
NamedElement
isPackage
isPackage:Boolean
visibility <package>
NamedElement
namespacePr
efix
namespacePrefix:St XSD only - namespace
ring
prefix w hen exists
NamedElement
parseableNa
me
parseableName:Stri CSharp, VB only - name
ng
w ith escaped
keyw ords (@)
Namespace
elementImport
*
Operation
ow nedReturn
Parameter
0..1
ow nedReturnParam parameter w ith direction
eter:Parameter
return set
Operation
type
0..1
type
Operation
ow nedOperat
ionParameter
*
ow nedOperationPar all parameters excluding
ameter:Parameter
parameter w ith direction
return set
Operation
implementedIn
terface
1
implementedInterfac CSharp only - the
e:Interface
implemented interface
Operation
ow nedOperat
ionImplementa
tions
*
implementedOperati VB only - the
on:OperationImplem implemented interfaces/
entation
operations
OperationImpleme implementedO
ntation
perationOw n
er
1
implementedOperati interface implemented
onOw ner:Interface by the operation
visibility <public>
elementImport:ElementI
mport
type of parameter w ith
direction return set
OperationImpleme implementedO
ntation
perationName
name:String
OperationImpleme implementedO
ntation
perationParse
ableName
parseableName:Stri name of the
ng
implemented operation
w ith esacped
keyw ords
© 2016 Altova GmbH
455
name of the
implemented operation
Altova UModel 2017
456
Code Generator
Package
SPL (Spy Programming Language)
namespace
*
namespace:Packag packages w ith code
e
language
<<namespace>> set
PackageableEleme ow ningPacka
nt
ge
0..1
ow ningPackage
set if ow ner is a
package
PackageableEleme ow ningName
nt
spacePackag
e
0..1
ow ningNamespace ow ning package w ith
Package:Package
code language
<<namespace>> set
Parameter
direction
direction:ParameterDir
ectionKind
Parameter
isIn
isIn:Boolean
direction <in>
Parameter
isInOut
isInOut:Boolean
direction <inout>
Parameter
isOut
isOut:Boolean
direction <out>
Parameter
isReturn
isReturn:Boolean
direction <return>
Parameter
isVarArgList
isVarArgList:Boolea true if parameter is a
n
variable argument list
Parameter
defaultValue
0..1
defaultValue:ValueSp
ecification
Property
defaultValue
0..1
defaultValue:ValueSp
ecification
RedefinableEleme isLeaf
nt
Slot
name
Slot
values
Slot
isLeaf:Boolean
name:String
name of the defining
feature
value
value:String
value of the first value
specification
StereotypeApplica name
tion
name:String
name of applied
stereotype
taggedValue:Slot
first slot of the instance
specification
StereotypeApplica taggedValue
tion
*
value:ValueSpecificati
on
*
StructuralFeature isReadOnly
isReadOnly
StructuredClassifi ow nedAttribu
er
te
*
ow nedAttribute:Proper
ty
TemplateBinding
signature
1
signature:TemplateSig
nature
TemplateBinding
parameterSu
bstitution
*
parameterSubstitution:
TemplateParameterSu
bstitution
TemplateParamete paramDefault
r
TemplateParamete ow nedParam
r
eteredElemen
t
paramDefault:String template parameter
default value
1
ow nedParameteredEle
ment:ParameterableEle
ment
TemplateParamete parameterSu
rSubstitution
bstitution
parameterSubstituti Java only - code
on:String
w ildcard handling
TemplateParamete parameterDim
rSubstitution
ensionCount
parameterDimension code dimension count
Count:Integer
of the actual parameter
TemplateParamete actual
rSubstitution
Altova UModel 2017
1
Ow nedActual:Paramet
erableElement
© 2016 Altova GmbH
Code Generator
SPL (Spy Programming Language)
TemplateParamete formal
rSubstitution
1
formal:TemplateParam
eter
TemplateSignature template
1
template:Templateable
Element
TemplateSignature ow nedParam
eter
*
ow nedParameter:Tem
plateParameter
TemplateableElem isTemplate
ent
isTemplate:Boolean true if template
signature set
TemplateableElem ow nedTempl
ent
ateSignature
0..1
ow nedTemplateSignat
ure:TemplateSignature
TemplateableElem templateBindi
ent
ng
*
templateBinding:Templ
ateBinding
Type
typeName
*
TypedElement
type
TypedElement
postTypeModi
fier
ValueSpecificatio value
n
457
0..1
typeName:Packagea qualified code type
bleElement
names
type:Type
postTypeModifier:St postfix code modifiers
ring
value:String
string value of the value
specification
Hinzufügen eines Präfixes zu Attributen einer Klasse bei der Codegenerierung
Eventuell müssen Sie allen neuen Attributen in Ihrem Projekt die Zeichen "m_" voranstellen.
Alle neuen Kodierungselemente werden unter Verwendung der SPL-Vorlagen geschrieben:
Wenn Sie einen Blick in UModelSPL\C#[Java]\Default\Attribute.spl werfen, können Sie die
Schreibweise des Namens ändern, z.B. können Sie
write $Property.name
durch
write "m_" & $Property.name
ersetzen
Es wird unbedingt empfohlen, Ihr Modell sofort nach der Codegenerierung anhand des Codes
aktualisieren, um sicherzustellen, dass Code und Modell synchron sind.
Bitte beachten Sie:
Kopieren Sie, wie bereits erwähnt, die SPL-Vorlagen ein Verzeichnis höher hinein (d.h. oberhalb
des Standardverzeichnisses für UModelSPL\C#) bevor Sie sie ändern. Damit stellen Sie sicher,
dass sie bei Installation einer neuen Version von UModel nicht überschrieben werden. Stellen Sie
bitte sicher, dass Sie im Dialogfeld "Synchronisierungseinstellungen" auf dem Register Code von
Modell das Kontrollkästchen "Benutzerdefinierte setzt Standardvorlage außer Kraft" aktiviert
haben.
SPL-Vorlagen
SPL-Vorlagen können über die Menüoption Projekt | Projekteinstellungen (siehe Abbildung
unten) pro UModel-Projekt definiert werden. Auch relative Pfade werden unterstützt. Vorlagen, die
im angegebenen Verzeichnis nicht gefunden werden, werden im lokalen Standard-Verzeichnis
gesucht.
© 2016 Altova GmbH
Altova UModel 2017
458
Code Generator
Globale Objekte
$Options
$Indent
$IndentStep
$NamespacePrefix
SPL (Spy Programming Language)
ein Objekt, das globale Optionen enthält:
generateComments:bool doc-Kommentare generieren (true/false)
ein String zum Einrücken von generiertem Code und zur Anzeige der
aktuellen Verschachtelungsebene.
ein String zum Einrücken von generiertem Code und zur Darstellung
einer Verschachtelungsebene.
nur XSD – das Target Namespace Präfix, falls vorhanden
Routinen zur Behandlung von Strings
integer Compare(s)
Der Rückgabewert gibt die lexikographische Beziehung des String zu s an (unter
Berücksichtigung der Groß- und Kleinschreibung):
<0:
der String ist kleiner als s
0:
der String ist identisch mit s
>0:
der String ist größer als s
integer CompareNoCase(s)
Der Rückgabewert gibt die lexikographische Beziehung des String zu s an (ohne
Berücksichtigung der Groß- und Kleinschreibung):
<0:
der String ist kleiner als s
0:
der String ist identisch mit s
>0:
der String ist größer als s
integer Find( s )
Durchsucht den String nach der ersten Instanz eines Substring s.
Gibt den nullbasierten Index des ersten Zeichens von s oder -1 zurück, wenn s nicht gefunden
wird.
Altova UModel 2017
© 2016 Altova GmbH
Code Generator
SPL (Spy Programming Language)
459
string Left( n )
Gibt die ersten n Zeichen des String zurück.
integer Length()
Gibt die Länge des String zurück.
string MakeUpper()
Gibt einen String zurück, der in Großbuchstaben konvertiert wurde.
string MakeUpper( n )
Gibt einen String zurück, dessen erste n Zeichen in Großbuchstaben konvertiert wurden.
string MakeLower()
Gibt einen String zurück, der in Kleinbuchstaben konvertiert wurde.
string MakeLower( n )
Gibt einen String zurück, dessen erste n Zeichen in Kleinbuchstaben konvertiert wurden.
string Mid( n )
Gibt einen String zurück, der mit der nullbasierten Indexposition n beginnt
string Mid( n, m )
Gibt einen String zurück, der mit der nullbasierten Indexposition n beginnt und die Länge m hat
string RemoveLeft( s )
Gibt einen String zurück, der den Substring s ausnimmt, wenn Left( s.Length() ) dem Substring s
entspricht.
string RemoveLeftNoCase( s )
Gibt einen String zurück, der den Substring s ausnimmt, wenn Left( s.Length() ) dem Substring s
entspricht (Groß- und Kleinschreibung wird ignoriert).
string RemoveRight( s )
Gibt einen String zurück, der den Substring s ausnimmt, wenn Right( s.Length() dem Substring s
entspricht.
string RemoveRightNoCase( s )
Gibt einen String zurück, der den Substring s ausnimmt, wenn Right( s.Length() dem Substring s
entspricht (Groß- und Kleinschreibung wird ignoriert).
string Repeat( s, n )
Gibt einen String zurück, der den Substring s n mal enthält.
string Right( n )
Gibt die letzten n Zeichen des String zurück.
© 2016 Altova GmbH
Altova UModel 2017
460
Code Generator
SPL (Spy Programming Language)
15.1.3 Operatoren
Operatoren in SPL funktionieren wie in den meisten anderen Programmiersprachen.
Liste von SPL-Operatoren absteigend nach Vorrangigkeit gereiht:
.
( )
true
false
Objekteigenschaft aufrufen
Gruppierung eines Ausdrucks
Boolesche Konstante "true"
Boolesche Konstante "false"
&
String-Verkettung
not
Zeichen für negative Zahl
Logische Negation
*
/
%
Multiplizieren
Dividieren
Modulo
+
-
Addieren
Subtrahieren
<=
<
>=
>
Kleiner oder gleich
Kleiner als
Größer oder gleich
Größer als
=
<>
Gleich
Nicht gleich
and
or
Logische Konjunktion (mit short circuit-Auswertung)
Logische Disjunktion (mit short circuit-Auswertung)
=
Zuweisung
Altova UModel 2017
© 2016 Altova GmbH
Code Generator
SPL (Spy Programming Language)
461
15.1.4 Bedingungen
SPL erlaubt die Verwendung von Standard-"if"-Anweisungen. Die Syntax lautet wie folgt:
if condition
statements
else
statements
endif
or, without else:
if condition
statements
endif
Beachten Sie bitte, dass für die Bedingung keine runden Klammern verwendet werden!
Wenn in allen anderen Programmiersprachen werden Bedingungen mit logischen und
Vergleichsoperatoren konstruiert.
Bedingungen:
Wie bei jeder anderen Programmiersprache, werden Bedingungen mit logischen und
Vergleichsoperatoren erstellt:
Beispiel:
[if $namespace.ContainsPublicClasses and $namespace.Prefix <> ""]
whatever you want ['inserts whatever you want, in the resulting file]
[endif]
Switch
SPL enthält auch eine Multiple Choice-Anweisung.
Syntax:
switch $variable
case X:
statements
case Y:
case Z:
statements
default:
statements
endswitch
Die Case-Bezeichnungen müssen Konstanten oder Variablen sein.
Die switch-Anweisung in SPL fällt nicht durch die Cases (wie in C), daher wird auch keine
"break"-Anweisung benötigt.
© 2016 Altova GmbH
Altova UModel 2017
462
Code Generator
SPL (Spy Programming Language)
15.1.5 Collections und foreach
Collections und Iteratoren
Eine Collection enthält mehrere Objekte - wie ein gewöhnliches Array. Iteratoren lösen das
Problem des Speicherns und Inkrementierens von Array Indizes beim Aufrufen von Objekten.
Syntax:
foreach iterator in collection
statements
next
Beispiel:
[foreach $class in $classes
if not $class.IsInternal
]
class [=$class.Name];
[
endif
next]
Beispiel 2:
[foreach $i in 1 To 3
Write "// Step " & $i & "\n"
‘ Do some work
next]
Foreach iteriert durch alle Datenelemente in $classes und führt für die Anweisung den Code der
auf die Anweisung folgt, bis zur nächsten Anweisung aus.
In jeder Iteration wird $class dem nächsten Klassenobjekt zugewiesen. Sie arbeiten einfach mit
dem Klassenobjekt, anstelle classes[i]->class->Name(), zu verwenden, wie das in C++ der Fall
wäre.
Alle Collection-Iteratoren haben die folgenden zusätzlichen Eigenschaften:
Index
der aktuelle Index beginnend mit 0
IsFirst
true, wenn das aktuelle Objekt das erste der Collection ist (Index ist 0)
IsLast
true, wenn das aktuelle Objekt das letzte einer Collection ist
Beispiel:
[foreach $enum in $facet.Enumeration
if not $enum.IsFirst
], [
endif
]"[=$enum.Value]"[
next]
Routinen zur Bearbeitung von Collections:
collection SortByName( bAscending )
gibt eine Collection zurück, deren Elemente in aufsteigender oder absteigender Reihenfolge (unter
Berücksichtigung der Groß- und Kleinschreibung) nach Namen sortiert sind .
Altova UModel 2017
© 2016 Altova GmbH
Code Generator
SPL (Spy Programming Language)
463
collection SortByNameNoCase( bAscending )
gibt eine Collection zurück, deren Elemente in aufsteigender oder absteigender Reihenfolge (ohne
Berücksichtigung der Groß- und Kleinschreibung) nach Namen sortiert sind .
Beispiel:
$SortedNestedClassifier = $Class.nestedClassifier.SortByNameNoCase( true )
collection SortByKind( bAscending )
gibt eine Collection zurück, deren Elemente in aufsteigender oder absteigender Reihenfolge nach
kind-Namen (z.B. “Class”, “Interface”,…) sortiert sind.
collection SortByKindAndName( bAscendingKind, bAscendingName )
gibt eine Collection zurück, deren Elemente in aufsteigender oder absteigender Reihenfolge nach
"kind" (z.B. “Class”, “Interface”,…) sortiert sind, wobei berücksichtigt wird, ob die "kinds" sortiert
in aufsteigender oder absteigender Reihenfolge (unter Berücksichtigung der Groß- und
Kleinschreibung) im Namen identisch sind.
collection SortByKindAndNameNoCase( bAscending )
gibt eine Collection zurück, deren Elemente in aufsteigender oder absteigender Reihenfolge nach
"kind" (z.B. “Class”, “Interface”,…) sortiert sind, wobei berücksichtigt wird, ob die "kinds" sortiert
in aufsteigender oder absteigender Reihenfolge (ohne Berücksichtigung der Groß- und
Kleinschreibung) im Namen identisch sind.
© 2016 Altova GmbH
Altova UModel 2017
464
Code Generator
SPL (Spy Programming Language)
15.1.6 Subroutinen
Code Generator unterstützt nun Subroutinen in der Form von Prozeduren oder Funktionen.
Funktionen:
Übergabe von Werten nach Wert und nach Referenz
Lokale/globale Parameter (lokal innerhalb von Subroutinen)
Lokale Variablen
Rekursiver Aufruf (Subroutinen können sich selbst aufrufen)
Deklaration einer Subroutine
Subroutinen
Syntax-Beispiel:
Sub SimpleSub()
... lines of code
EndSub
Sub ist das Schlüsselwort, das die Prozedur notiert.
SimpleSub ist der Name, der der Subroutine zugewiesen wurde.
Runde Klammern können eine Parameterliste enthalten.
Der Code-Block einer Subroutine beginnt direkt nach der geschlossenen Klammer nach
dem Parameter.
EndSub notiert das Ende des Code-Blocks.
Bitte beachten Sie:
Eine rekursive oder kaskadierende Subroutine-Deklaration ist nicht zulässig, d.h. eine
Subroutine darf keine weiteren Subroutinen enthalten.
Parameter
Parameter können auch durch Prozeduren unter Verwendung der folgenden Syntax übergeben
werden:
Alle Parameter müssen Variablen sein
Variablen muss das $-Zeichen vorangestellt werden
Lokale Variablen werden in einer Subroutine definiert
Globale Variablen werden explizit außerhalb von Subroutinen deklariert
Mehrere Parameter werden innerhalb runder Klammern durch Kommas "," voneinander
getrennt
Parameter können Werte übergeben
Parameter - Übergabe von Werten
Parameter können auf zwei Arten übergeben werden: nach Wert oder nach Referenz, wobei die
Schlüsselwörter ByVal bzw. ByRef verwendet werden.
Syntax:
' define sub CompleteSub()
[Sub CompleteSub( $param, ByVal $paramByValue, ByRef $paramByRef )
] ...
Altova UModel 2017
© 2016 Altova GmbH
Code Generator
SPL (Spy Programming Language)
465
ByVal definiert, dass der Parameter nach Wert übergeben wird. Beachten Sie, dass die
meisten Objekte nur nach Referenz übergeben werden können.
ByRef definiert, dass der Parameter nach Referenz übergeben wird. Dies ist die
Standardeinstellung, wenn weder ByVal noch ByRef definiert ist.
Funktionsrückgabewerte
Für die Rückgabe eines Werts von einer Subroutine verwenden Sie ein Return-Statement. Eine
solche Funktion kann von innerhalb eines Ausdrucks aufgerufen werden.
Beispiel:
' define a function
[Sub MakeQualifiedName( ByVal $namespacePrefix, ByVal $localName )
if $namespacePrefix = ""
return $localName
else
return $namespacePrefix & ":" & $localName
endif
EndSub
]
Subroutinenaufruf
Verwenden Sie zum Aufrufen einer Subroutine call, gefolgt vom Namen der Prozedur und ggf. den
Parametern.
Call SimpleSub()
oder,
Call CompleteSub( "FirstParameter", $ParamByValue, $ParamByRef )
Funktionsaufruf
Um eine Funktion (jede Subroutine, die ein Return-Statement enthält) aufzurufen, verwenden Sie
einfach deren Namen in einem Ausdruck. Verwenden Sie zum Aufrufen von Funktionen nicht das
Call-Statement.
Beispiel:
$QName = MakeQualifiedName($namespace, "entry")
© 2016 Altova GmbH
Altova UModel 2017
466
Code Generator
Fehlercodes
15.2 Fehlercodes
Betriebssystem-Fehlercodes
201
Datei nicht gefunden: '%s'
202
Datei '%s' kann nicht erstellt werden
203
Datei '%s' konnte nicht geöffnet werden
204
Datei '%s' kann nicht in '%s' kopiert werden
Syntax-Fehlercodes
401
Keyword erwartet
402
'%s' erwartet
403
Es wurde keine Output-Datei angegeben
404
Unerwartetes Dateiende
405
Keyword nicht zulässig
Runtime-Fehlercodes
501
Unbekannte Variable '%s'
502
Umdefinition der Variablen '%s'
503
Variable '%s' ist kein Container
504
Unbekannte Eigenschaft '%s'
505
Kann %s nicht in %s konvertieren
507
Unbekannte Funktion
508
Funktion ist bereits definiert
509
Ungültiger Parameter
510
Division durch Null
511
Unbekannte Methode
512
Falsche Parameteranzahl
513
Stapelüberlauf
Altova UModel 2017
© 2016 Altova GmbH
Kapitel 16
Lizenzinformationen
468
Lizenzinformationen
16
Lizenzinformationen
Dieser Anhang enthält die folgenden Informationen:
Informationen über den Vertrieb dieses Software-Produkts
Informationen zur Software-Aktivierung und Lizenzüberwachung
Informationen im Zusammenhang mit dem intellektuellen Eigentum dieses SoftwareProdukts
die Endbenutzer-Lizenzvereinbarung zu diesem Software-Produkt
Lesen Sie die Informationen bitte sorgfältig - sie sind rechtlich bindend, da Sie sich bei der
Installation dieses Software-Produkts damit einverstanden erklärt haben.
Altova UModel 2017
© 2016 Altova GmbH
Lizenzinformationen
Electronic Software Distribution
469
16.1 Electronic Software Distribution
Dieses Produkt ist über EDS (Electronic Software Distribution), also auf elektronischem Weg
erhältlich, eine Methode, die die folgenden einzigartigen Vorteile bietet:
Sie können die Software kostenlos testen, bevor Sie sich zu einem Kauf entscheiden.
Wenn Sie sich entschieden haben, die Software zu kaufen, können Sie Ihre Bestellung
online abgeben und das Produkt steht Ihnen sofort im vollen Lizenzumfang zur Verfügung.
Sie erhalten immer die neueste Version unserer Software
Die Software enthält ein umfassendes Online-Hilfesystem. Die neueste Version des
Benutzerhandbuchs steht auf unserer Website www.altova.com (i) im HTML-Format zum
Aufrufen online und (ii) im PDF-Format zum Download und Ausdrucken zur Verfügung.
30-Tage-Evaluierungszeitraum
Nachdem Sie dieses Software-Produkt heruntergeladen haben, können Sie es 30 Tage lang
kostenlos testen. Während dieses Zeitraums werden Sie nach etwa 20 Tagen in regelmäßigen
Abständen daran erinnert, dass die Software noch nicht lizenziert wurde. Diese
Erinnerungsmeldung wird allerdings nur einmal, nämlich bei jedem Start des Programms,
angezeigt. Wenn Sie das Programm nach Ablauf des 30-tägigen Evaluierungszeitraums
weiterverwenden möchten, müssen Sie eine Altova Software-Lizenz erwerben, die Sie in Form
eines Keycodes erhalten, der in das Dialogfeld "Software-Aktivierung" eingegeben werden muss,
um das Produkt zu aktivieren. Sie können Ihre Lizenz online in unserem Web-Shop unter Altova
Shop erwerben.
Weitergabe der Software an andere Mitarbeiter in Ihrem Unternehmen zu Testzwecken
Wenn Sie die Evaluierungsversion der Software auch anderen Personen in Ihrem Unternehmen
über das Netzwerk zur Verfügung stellen möchten oder wenn Sie sie auf einem PC installieren
möchten, der nicht mit dem Internet verbunden ist, sollten Sie nur das Installationsprogramm
weitergeben - vorausgesetzt es wurde nicht modifiziert. Jeder, der das von Ihnen zur Verfügung
gestellte Installationsprogramm aufruft, muss einen eigenen Evaluierungs-Keycode für 30 Tage
anfordern. Nach Ablauf des Testzeitraums, muss eine Lizenz erworben werden, damit das
Produkt weiter verwendet werden kann.
Nähere Informationen finden Sie in der Altova Software-Lizenzvereinbarung am Ende dieses
Handbuchs.
© 2016 Altova GmbH
Altova UModel 2017
470
Lizenzinformationen
Software-Aktivierung und Lizenzüberwachung
16.2 Software-Aktivierung und Lizenzüberwachung
Im Rahmen der Aktivierung der Software durch Altova, verwendet die Software unter Umständen
Ihr internes Netzwerk und Ihre Internetverbindung, um die Lizenzdaten während der Installation,
Registrierung, der Verwendung oder der Aktualisierung an einen von Altova betriebenen
Lizenzserver zu übertragen und die Authentizität der Lizenzdaten zu überprüfen, damit AltovaSoftware nicht ohne Lizenz oder auf unzulässige Art und Weise verwendet werden kann und um
den Kundenservice gleichzeitig zu verbessern. Bei der Aktivierung werden zwischen Ihrem
Computer und dem Altova-Lizenzserver für die Lizenzierung erforderliche Daten wie Informationen
über Betriebssystem, IP-Adresse, Datum/Uhrzeit, Software-Version und Computername sowie
andere Informationen ausgetauscht.
Ihr Altova-Produkt verfügt über ein integriertes Lizenzüberwachungsmodul, das ebenfalls dazu
beiträgt, unbeabsichtigte Verletzungen der Lizenzvereinbarung zu vermeiden. Ihr Produkt kann
entweder mit einer Einzelplatzlizenz oder einer Mehrfachlizenz erworben werden. Je nach Lizenz
stellt das Lizenzüberwachungsmodul sicher, dass nicht mehr als die lizenzierte Anzahl an
Benutzern die Applikation gleichzeitig verwendet.
Bei dieser Lizenzüberwachungsmethode wird Ihr LAN-Netzwerk verwendet, um die
Kommunikation zwischen Instanzen der Applikation, die auf verschiedenen Computern laufen, zu
überwachen.
Einzelplatzlizenz
Beim Start der Applikation wird im Rahmen der Lizenzüberprüfung ein kurzes BroadcastDatagramm abgesendet, um andere Instanzen des Produkts, die auf anderen Computern im
selben Netzwerk laufen, zu finden. Wenn keine Antwort einlangt, wird ein Port geöffnet, der
Informationen von anderen Instanzen der Applikation empfangen kann.
Mehrfachlizenz
Wenn Sie im selben LAN mehrere Instanzen der Applikation verwenden, kommunizieren diese
beim Start kurz miteinander, um Keycode-Informationen auszutauschen, damit Sie sicher sein
können, dass nicht mehr als die lizenzierte Anzahl an Lizenzen gleichzeitig in Verwendung ist.
Dieselbe Lizenzüberwachungstechnologie wird auch bei Unix und vielen anderen
Datenbankentwicklungstools verwendet. Sie gestattet Benutzern den Erwerb von Parallellizenzen
für mehrere Benutzer zu vernünftigen Preisen.
Wir sind außerdem bestrebt, nur wenige, kleine Netzwerkpakete zu versenden, um Ihr Netzwerk
nicht zu überlasten. Die von Ihrem Altova Produkt verwendeten TCP/IP Ports (2799) sind offiziell
bei IANA registriert, (nähere Informationen siehe IANA Website (http://www.iana.org/)) und unser
Lizenzüberwachungsmodul basiert auf einer bewährten und erprobten Technologie.
Wenn Sie eine Firewall verwenden, werden Sie unter Umständen feststellen, dass die Computer,
auf denen Altova-Produkte laufen, über Port 2799 miteinander kommunizieren. Sie können diesen
Netzwerkverkehr zwischen verschiedenen Gruppen in Ihrem Unternehmen natürlich blockieren,
solange Sie mit anderen Mitteln sicherstellen können, dass Ihre Lizenzvereinbarung eingehalten
Altova UModel 2017
© 2016 Altova GmbH
Lizenzinformationen
Software-Aktivierung und Lizenzüberwachung
471
wird.
Sie werden außerdem auch feststellen, dass Ihr Altova Produkt viele nützliche Funktionen enthält,
die Ihre Internet-Verbindung verwenden, diese stehen jedoch nicht mit der
Lizenzüberwachungsfunktion in Zusammenhang.
© 2016 Altova GmbH
Altova UModel 2017
472
Lizenzinformationen
Rechte am geistigen Eigentum
16.3 Rechte am geistigen Eigentum
Die Software und alle Kopien, deren Anfertigung Ihnen von Altova gestattet ist, sind das geistige
Eigentum von Altova und dessen Lieferanten und stehen in deren Besitz. Struktur, Organisation
und Code der Software stellen wertvolle Betriebsgeheimnisse und vertrauliche Informationen von
Altova und dessen Lieferanten dar. Die Software ist durch gesetzliche Bestimmungen
urheberrechtlich geschützt. Diese gesetzlichen Bestimmungen beinhalten (ohne darauf
beschränkt zu sein) das Urheberrecht der Vereinigten Staaten, internationale Verträge und das in
den Ländern, in denen die Software genutzt wird, geltende Recht. Altova behält sich das
Eigentum an allen Patenten, Urheberrechten, Branchengeheimnissen, Warenzeichen und
sonstigen geistigen Eigentumsrechten, die hinsichtlich der Software bestehen, vorbehält. Das
Eigentumsrecht von Altova erstreckt sich auch auf alle Bilder, Fotografien, Animationen, Videos,
Audioaufzeichnungen, Musikstücke, Texte und „Applets“, die Teil der Software sind, und alle
dazugehörigen Unterlagen in gedruckter Form. Mitteilungen über geltend gemachte Verstöße
gegen geistige Eigentumsrechte sind an den Copyright Agenten von Altova zu richten (nähere
Angaben dazu finden Sie auf der Website von Altova).
Altova Software enthält Software-Komponenten Dritter, die ebenfalls urheberrechtlich geschützt
sind. Unter anderem sind diese Urheberrechte ausführlich unter http://www.altova.com/
legal_3rdparty.html aufgelistet.
Alle anderen Namen oder Warenzeichen sind das Eigentum ihrer jeweiligen Inhaber.
Altova UModel 2017
© 2016 Altova GmbH
Lizenzinformationen
Altova Endbenutzer-Lizenzvereinbarung
473
16.4 Altova Endbenutzer-Lizenzvereinbarung
DIES IST EIN RECHTSGÜLTIGES DOKUMENT -- BITTE BEWAHREN SIE ES SORGFÄLTIG
AUF
ALTOVA® ENDBENUTZER-LIZENZVERTRAG
Lizenzgeber:
Altova GmbH
Rudolfsplatz 13a/9
A-1010 Wien
Österreich
Wichtig – Bitte sorgfältig lesen. Benutzerinformation:
Dieser Endbenutzer-Lizenzvertrag („Vertrag“) ist ein rechtsgültiger Vertrag, der zwischen
Ihnen und Altova GmbH („Altova“) abgeschlossen wurde. Bevor Sie die von Altova
bereitgestellte Software („Software“) sowie die dazugehörige Dokumentation (u.a.
Unterlagen in gedruckter Form, Online-Dateien oder Dokumentation in elektronischer
Form („Dokumentation“) verwenden, lesen Sie bitte dieses Dokument sorgfältig durch.
Indem Sie auf die untenstehenden Schaltflächen „Ich akzeptiere“ und „Weiter“ klicken,
oder indem Sie die Software installieren oder auf sonstige Weise nutzen, stimmen Sie
zu, dass Sie die Bedingungen dieses Vertrags sowie die Datenschutzbestimmungen
(„Datenschutzbestimmungen“) von Altova, inklusive jedoch nicht ausschließlich die
nachfolgend festgelegten Garantieausschlüsse, Haftungsbeschränkungen sowie
Datennutzungs- und Kündigungsregelungen als rechtsverbindlich anerkennen, auch
wenn Sie die Software nicht käuflich erwerben. Sie stimmen zu, dass diese
Vereinbarung in demselben Umfang gültig und durchsetzbar ist, wie ein von Ihnen
persönlich unterzeichneter Vertrag. Wenn Sie den Bedingungen dieses Lizenzvertrags nicht
zustimmen, sind Sie nicht zur Verwendung der Software berechtigt und müssen alle
heruntergeladenen Kopien, die sich in Ihrem Besitz oder unter Ihrer Kontrolle befinden, vernichten.
Während des Installationsvorganges können Sie eine Kopie dieses Vertrages zum Zeitpunkt Ihrer
Zustimmung ausdrucken. Auf unserer Website finden Sie eine Kopie dieses Vertrags unter http://
www.altova.com/de/eula. Eine Kopie der Datenschutzbestimmungen kann unter http://
www.altova.com/de/privacy eingesehen werden.
1. SOFTWARELIZENZ
(a)
Lizenzgewährung.
(i) Sofern Sie diesem Vertrag zugestimmt haben, gewährt Ihnen Altova eine nicht
ausschließliche und nicht übertragbare (mit Ausnahme der nachfolgenden Bestimmungen)
Lizenz, ohne das Recht zur Vergabe von Sublizenzen, zur Installation und Verwendung der
Software auf einem kompatiblen Einzelplatzrechner oder einer Workstation im selben LAN, wobei
die maximale Zahl an Computern, die im Lizenzumfang enthalten sind, nicht überschritten werden
darf. Vorbehaltlich der Beschränkungen gemäß Abschnitt 1 (c), dürfen Sie eine Kopie der
Software auf mehr als einem Ihrer kompatiblen Einzelplatzrechnern oder Workstations installieren
und verwenden, wenn Sie eine Named-User-Lizenz erworben haben. Vorbehaltlich der
Beschränkungen gemäß den Abschnitten 1(d) und 1(e) darf die Software gleichzeitig im Netzwerk
verwendet werden. Die maximale Zahl an Computern und/oder Benutzern sowie die Art der
Lizenz, d.h. Einzelplatzlizenz, Named-User-Lizenz oder Parallellizenz, wird beim Kauf der
Software festgelegt und genau angegeben. Einzelplatzlizenzen sind als fixe Lizenzen und nicht
als Parallellizenzen zu verwenden, d.h. es ist nicht erlaubt, die Software auf einem Rechner zu
deinstallieren, um sie auf einem anderen Rechner zu installieren und die Sofware anschließend
© 2016 Altova GmbH
Altova UModel 2017
474
Lizenzinformationen
Altova Endbenutzer-Lizenzvereinbarung
wieder zu deinstallieren und wieder auf dem ursprünglichen Rechner zu installieren. Die
Installation sollte statisch sein. Dessen ungeachtet ist die Deinstallation und Neuinstallation in
einigen eingeschränkten Fällen, z.B. wenn ein Mitarbeiter das Unternehmen verlässt oder wenn
ein Rechner ausgemustert wird, gestattet. Während des Evaluierungszeitraums (wie nachfolgend
definiert) darf die Software nur von einem Benutzer und auf nur einem (1) Einzelplatzrechner oder
einer Workstation installiert und genutzt werden. Wenn Sie die Lizenz im Rahmen eines Pakets
von Altova-Softwareprodukten („Produktpaket“) erworben haben, von denen Sie nicht jedes
Produkt einzeln installiert haben, gelten die Bestimmungen dieses Vertrags für die Verwendung
der gesamten Software, die im Lieferumfang des Produktpakets enthalten ist.
(ii) Wenn Sie eine Lizenz für SchemaAgent erworben haben, dann gelten die
Bestimmungen dieses Lizenzvertrags zur Nutzung der Software für den darin inkludierten
SchemaAgent-Server („SchemaAgent-Server“). Dabei dürfen Sie den SchemaAgent-Server jedoch
ausschließlich in Verbindung mit der Altova-Software und nur für die in der dazugehörigen
Dokumentation beschriebenen Zwecke verwenden.
(iii) Wenn Sie eine Lizenz für Software erworben haben, die es dem Benutzer ermöglicht
den Quellcode zu generieren, dann sind Sie durch die Ihnen im Rahmen dieser Lizenz erteilte
Genehmigung zur Installation und Verwendung der Software auch berechtigt, den Quellcode zu
generieren, und zwar (i) anhand von Modulen der Altova Library, die in der Software inkludiert sind
(der auf diese Weise generierte Code wird als „beschränkter Quellcode“ bezeichnet), und (ii)
anhand Ihrer eigenen Schemata oder Mappings (der anhand Ihres eigenen Quellmaterials
generierte Code wird als „unbeschränkter Quellcode“ bezeichnet). Zusätzlich zu den durch diesen
Lizenzvertrag eingeräumten Rechten gewährt Ihnen Altova eine nicht ausschließliche, nicht
übertragbare und eingeschränkte Lizenz, den gesamten generierten Code (bestehend aus dem
beschränkten und unbeschränkten Quellcode) in eine ausführbare Objektcodeform zu übersetzen
und diese zu verwenden, zu kopieren, weiterzugeben oder zu lizenzieren. Sie sind nur dann
befugt, den beschränkten Quellcode in unkompilierter Form ab- oder weiterzugeben,
weiterzulizenzieren, zu verkaufen oder an Dritte zu übertragen, wenn die betreffende Partei bereits
in Form eines gesonderten Lizenzvertrags mit Altova zur Verwendung des beschränkten
Quellcodes berechtigt ist. Ungeachtet anderslautender Bestimmungen in diesem Lizenzvertrag
dürfen Sie die Altova-Library-Module oder den beschränkten Quellcode (oder sonstiges geistiges
Eigentum von Altova enthalten in oder in Verbindung mit den Altova- Library-Modulen oder dem
beschränkten Quellcode) nicht in solcher Art und Weise weitergeben, in andere Software
einbetten, mit anderer Software verbinden oder auf andere Weise verwenden, die den
beschränkten Quellcode den Bestimmungen des „Copylefts“, der freien Software oder einer Open
Source Lizenz unterwerfen würde, welche die Offenlegung des beschränkten Quellcodes oder der
Altova-Library- Module erforderlich machen würde. Ungeachtet anderslautender Bestimmungen in
diesem Lizenzvertrag dürfen Sie die Software nicht verwenden, um ohne vorherige schriftliche
Einwilligung von Seiten Altovas andere Software-Programme zu entwickeln und zu vertreiben, die
eine direkte Konkurrenz zu Altova-Software oder einem Altova-Dienst darstellen. Altova behält
sich alle übrigen Rechte an der Software vor. Bei den Bestandteilen von UModel, für die ein
Reverse Engineering Ihres eigenen oder eines anderen Quellcodes, den Sie rechtmäßig erworben
haben, zulässig ist, stellt eine solche Verwendung durch Sie keinen Verstoß gegen diesen
Lizenzvertrag dar. Soweit dies nicht in Abschnitt 1(j) ausdrücklich gestattet wird, ist ein Reverse
Engineering der Software explizit untersagt.
(iv) Falls beschränkter Quellcode in Form ausführbaren Objektcodes inkludiert wird,
verpflichten Sie sich, folgende Informationen (1) in den Willkommensbildschirm, oder falls nicht
vorhanden, in einen oder mehrere der durch den Endbenutzer jederzeit aufrufbaren Bildschirme
und (2) - in elektronischer und/oder gedruckter Form in die Dokumentation zu inkludieren: "Teile
dieses Programms wurden unter Verwendung von Altova® [Name der Altova Software, z.B.
MapForce® 2016] entwickelt und enthalten Bibliotheken, die im Eigentum der Altova GmbH
Altova UModel 2017
© 2016 Altova GmbH
Lizenzinformationen
Altova Endbenutzer-Lizenzvereinbarung
475
(Copyright © 2007-2016 Altova GmbH (www.altova.com) stehen."
(b)
Verwendung auf einem Server zur Installation und Verwendung von
SchemaAgent. Sie sind berechtigt, ein (1) Exemplar der Software auf einem Dateiserver
ausschließlich innerhalb Ihres internen Netzwerks zu installieren und von dort auf die maximale
Zahl von betrieblich genutzten Computern innerhalb dieses Netzwerks, die in der Lizenz
angegeben ist, herunterzuladen und zu installieren. Wenn Sie eine Lizenz für SchemaAgent
erworben haben, können Sie SchemaAgent auf jedem Server oder jeder Workstation installieren
und in Verbindung mit Ihrer Software verwenden. Jede sonstige Netzwerknutzung ist unzulässig;
dies umfasst insbesondere die direkte Verwendung oder die Nutzung der Software über Befehle,
Daten oder Anweisungen von oder an einen Computer, der nicht Teil Ihres internen Netzwerks ist,
die Verwendung für Internet- oder Webhosting-Dienste sowie die Verwendung durch einen
Benutzer, der nicht unter einer gültigen Lizenz von Altova zur Verwendung dieses Exemplars der
Software berechtigt ist.
(c)
Benutzerdefinierte Nutzung. Wenn Sie eine Lizenz der „benutzerdefinierten Version“
der Software erworben haben, sind Sie berechtigt, die Software auf bis zu fünf (5) kompatiblen
Einzelplatzrechnern oder Workstations zu installieren, auf denen Sie der primäre Nutzer sind.
Dadurch können Sie von einem Computer zu einem anderen je nach Bedarf wechseln,
vorausgesetzt, dass die Software von Ihnen als benutzerdefinierter Nutzer jeweils nur ein (1) Mal
gleichzeitig verwendet wird. Wenn Sie mehrere benutzerdefinierte Lizenzen erworben haben,
erhält jeder individuell definierte Nutzer einen gesonderten Lizenzschlüssel.
(d)
Parallellizenz für die Verwendung im selben LAN (Local Area Network). Wenn
Sie eine Parallellizenz Software-Version erworben haben, können Sie die Software auf mehreren
kompatiblen und betrieblich genutzten Computern installieren, jedoch höchstens zehnmal (10mal) die maximale Anzahl der Benutzer, vorausgesetzt, dass nur die maximale Zahl von
Benutzern die Software wirklich gleichzeitig nutzen sowie weiters vorausgesetzt, dass die
Computer, auf welchen die Software installiert ist, in dasselbe LAN (Local Area Network)
eingebunden sind. Die maximale Zahl der Parallelbenutzer wird beim Kauf der Software festgelegt.
Sofern die Parallelbenutzer Version der Software an mehr als einem Standort oder in mehr als
einem Netzwerk verwendet werden soll, sind für jedes separate LAN (Local Area Network)
separate Parallelbenutzerlizenzen erforderlich, wobei die Einschränkungen hinsichtlich der
maximalen Zahl der Benutzer und der Anzahl der Nutzer, die die Software benutzen, anwendbar
sind. Für den Fall, dass ein Computer nicht in dasselbe LAN (Local Area Network) eingebunden
ist, ist für diesen eine lokal installierte Benutzerlizenz oder eine Parallellizenz für die Verwendung
in einer virtuellen Umgebung erforderlich.
(e)
Parallellizenz für die Verwendung in einer virtuellen Umgebung. Wenn Sie eine
Parallellizenz erworben haben, sind Sie berechtigt, ein Exemplar der Software auf einem einzigen
Terminalserver
(Microsoft
Terminal
Server
oder
Citrix
Metaframe),
einem
Anwendungsvirtualisierungsserver (Microsoft App-V, Citrix XenApp oder VMWare ThinApp) oder
einer virtuellen Maschine in Ihrem Intranet zu installieren, damit einzelne Benutzer in Ihrer
Organisation von einem anderen Computer über einen
Terminalserver,
einen
Anwendungsvirtualisierungsserver oder eine virtuelle Maschine auf die Software zugreifen und
diese nutzen können. Jedoch darf die Zahl der Benutzer, die über einen solchen Netzwerk- oder
Terminalserver bzw. eine virtuelle Maschine zum selben Zeitpunkt auf die Software zugreifen, die
maximale Zahl der im Lizenzumfang enthaltenen User nicht überschreiten. Außerdem darf die
Gesamtanzahl der Benutzer, die die Software über den Terminal Server, den
Anwendungsvirtualisierungsserver oder eine virtuelle Maschine verwenden, die zehn (10)-fache
Anzahl der lizenzierten Benutzer nicht übersteigen. Parallellizenz-Freischaltcodes können nicht
auf mehr als einem Host Terminal Server, Anwendungsvirtualisierungsserver oder einer virtuellen
Maschine bereitgestellt werden. Sie müssen mit Hilfe geeigneter Maßnahmen sicherstellen,
© 2016 Altova GmbH
Altova UModel 2017
476
Lizenzinformationen
Altova Endbenutzer-Lizenzvereinbarung
dass nicht mehr als die maximale Anzahl der in der Lizenz vorgesehenen Benutzer gleichzeitig
auf die Software zugreifen. Altova gibt über die Performance der Altova-Software in einer
Umgebung, in der Terminalserver oder virtuelle Maschinen verwendet werden, keinerlei
Zusicherungen oder Gewährleistungen ab. Die Anwendung der Altova-Software auf die vorstehend
beschriebene Weise ist ausdrücklich von der eingeschränkten Garantie, die durch Abschnitt 5
dieses Lizenzvertrags eingeräumt wird, ausgeschlossen. Ebenso wird kein technischer Support
bei Problemen geleistet, die aufgrund der Anwendung in einer solchen Umgebung auftreten.
(f)
Kopien für Sicherungs- und Archivierungszwecke. (iii) Sie dürfen eine (1) Kopie der
Software für Sicherungs- und eine Kopie für Archivierungszwecke herstellen, sofern diese nicht auf
einem Computer installiert oder verwendet werden. Außerdem müssen bei Kopien zu Sicherungsund Archivierungszwecken alle im Original enthaltenen urheber- und patentrechtlichen Angaben
sowie alle anderen Angaben hinsichtlich geistiger Eigentumsrechte von Ihnen reproduziert werden
und in der jeweiligen Kopie der Software unverändert enthalten sein. Die Befugnis zum Anlegen
einer Sicherungs- und Archivierungskopie darf nur an Dritte übertragen werden, wenn gleichzeitig
eine Übertragung aller Rechte an der Software gemäß Abschnitt 3 erfolgt.
(g)
Freischaltcodes, Upgrades und Updates. Bevor Sie die Software kaufen bzw. im
Rahmen Ihrer Registrierung für den Evaluierungszeitraum von dreißig (30) Tagen erhalten Sie
einen Evaluierungs-Freischaltcode. Wenn Sie sich in der Folge dazu entscheiden, die Software
von Altova GmbH oder einem autorisierten Vertriebshändler zu kaufen, erhalten Sie einen
uneingeschränkten Freischaltcode. Mit diesem können Sie die Software nach dem
Evaluierungszeitraum aktivieren. Ohne ausdrückliche schriftliche Genehmigung von Altova dürfen
Sie an Freischaltcodes keine Lizenzen einräumen und Freischaltcodes nicht reproduzieren oder
vertreiben. Wenn die von Ihnen in Lizenz erworbene Software ein Upgrade oder Update ist, ersetzt
das Upgrade oder Update das sie zuletzt heruntergeladen oder installiert haben, die zuvor
lizenzierte Kopie der Software. Durch das betreffende Upgrade oder Update und den
dazugehörigen Freischaltcode wird keine zweite Lizenz für die Software gewährt, und Sie dürfen
die Kopie des Upgrades oder Updates nicht zusätzlich zu der Kopie der Software verwenden, die
dadurch ersetzt wird und dessen Lizenz beendet wurde.
(h)
Eigentumsrecht. Das Eigentumsrecht an der Software wird Ihnen nicht übertragen. Alle
Exemplare der Software und alle von Ihnen angefertigte Kopien verbleiben – vorbehaltlich der Ihnen
durch diesen Vertrag eingeräumten Rechte – im Eigentum von Altova. Dokumente, Dateien,
Stylesheets, generierter Programmcode (dies beinhaltet auch den unbeschränkten Quellcode)
und Schemata, die Sie unter Verwendung der Software anlegen oder erstellen, sind in
Übereinstimmung mit der dazugehörigen Dokumentation und den Bestimmungen dieses Vertrags
Ihr Eigentum außer diese wurden mit einer Testsoftware gemäß Abschnitt 4 dieser Vereinbarung
erstellt. In diesem Fall wird Ihnen nur eine beschränkte Lizenz zur Nutzung sämtlicher
Ergebnisse, welche einen generierten Programmcode (inklusive eines unbeschränkten
Quellcodes) enthalten, wie Java, C++, C#, VB.NET oder XSLT und verbundene Projektdateien und
Build Scripts sowie generierte XML, XML Schematas, Dokumentationen, UML Diagrammen und
Datenbankstrukturen, für die 30 Tage dauernde Testperiode eingeräumt.
(i)
Reverse Engineering. Sofern dies nicht ausdrücklich nach geltendem Recht der
Europäischen Union gestattet ist, sind Sie nicht berechtigt, an der Software Reverse Engineering
durchzuführen, die Software zu dekompilieren, zu disassemblieren, oder auf andere Weise zu
versuchen, den Quellcode, zugrunde liegende Konzepte, Techniken für Benutzerschnittstellen
oder Algorithmen der Software direkt oder indirekt zu entschlüsseln. Davon ausgenommen ist
lediglich das ausdrücklich nach geltendem Recht der Europäischen Union gestattete Maß an
Dekompilierung, das erforderlich ist, um die Funktionsfähigkeit der Software mit anderen
Softwareprogrammen zu erzielen. Dies ist Ihnen jedoch erst dann gestattet, wenn Sie zuerst bei
Altova die dafür notwendigen Informationen angefordert haben und Altova Ihnen diese nicht zur
Altova UModel 2017
© 2016 Altova GmbH
Lizenzinformationen
Altova Endbenutzer-Lizenzvereinbarung
477
Verfügung gestellt hat. Altova ist berechtigt, für die Bereitstellung solcher Informationen
angemessene Bedingungen aufzustellen und eine angemessene Entschädigung zu verlangen. Die
von Altova zur Verfügung gestellten Informationen bzw. alle von Ihnen im Sinne der hier
festgelegten Bestimmungen rechtmäßig erworbenen Informationen dürfen nur zu den hierin
angeführten Zwecken verwendet und keinesfalls an Dritte weitergegeben oder zur Entwicklung von
Software genutzt werden, die der Software, die Gegenstand dieses Lizenzvertrags ist, in
wesentlichen Aspekten ähnlich ist. Informationen im Sinne dieses Absatzes können von
Benutzern aus der Europäischen Union bei der Kundendienstabteilung von Altova angefordert
werden.
(j)
Sonstige Beschränkungen. Sie sind nicht berechtigt, die Software (zur Gänze oder
teilweise) zu verleihen, zu vermieten, per Leasing zur Verfügung zu stellen, weiterzulizenzieren,
weiterzugeben oder auf sonstige Weise Dritten zu überlassen, es sei denn, dies ist durch die
Bestimmungen in Abschnitt 3 oder an anderer Stelle in diesem Lizenzvertrag ausdrücklich
gestattet. Sofern dies nicht ausdrücklich in diesem Vertrag gestattet ist, dürfen Sie die Software
nicht kopieren. Alle Kopien, zu deren Anfertigung Sie berechtigt sind, müssen die im Original
enthaltenen urheber- und patentrechtlichen Angaben sowie alle anderen Angaben hinsichtlich
geistiger Eigentumsrechte unverändert enthalten. Die Software darf nicht verändert, adaptiert oder
übersetzt werden. Sie dürfen weder direkt noch indirekt ein Pfand- oder Sicherungsrecht an der
Software bestellen oder die Bestellung eines solchen zulassen. Es ist Ihnen nicht gestattet,
wissentlich eine Handlung vorzunehmen, durch die die Software öffentlich zugänglich wird, oder
die Software in einer Computerumgebung zu verwenden, die nicht in diesem Vertrag angegeben
ist. Die Verwendung oder der Zugriff auf die Software durch Dritte im Zusammenhang mit einer
kommerziellen Dienstleistung wie z.B. für eine Cloud-basierte oder webbasierte SaaSVerwendung ist nicht gestattet.
Sie haben die geltenden gesetzlichen Bestimmungen und die Anweisungen von Altova in
Bezug auf die Benutzung der Software einzuhalten. Sie sind verpflichtet, Ihre Mitarbeiter und
Vertreter, die Zugriff auf die Software haben, von den in diesem Vertrag enthaltenen
Beschränkungen in Kenntnis zu setzen und diese auf sie zu überbinden.
(k)
KEINE GARANTIE. ES WIRD KEINE GARANTIE ODER GEWÄHRLEISTUNG FÜR DIE
FEHLERFREIHEIT DER SOFTWARE ABGEGEBEN ODER GEWÄHRT UND VON ALTOVA
KEINERLEI
HAFTUNG
DIESBEZÜGLICH
ÜBERNOMMEN.
UNABHÄNGIG
VON
IRGENDWELCHEN SUPPORTLEISTUNGEN NACH IRGENDEINEM TECHNISCHEN STANDARD
IST DIE SOFTWARE KEINESFALLS FÜR DIE VERWENDUNG IN ODER IM ZUSAMMENHANG
MIT KERNKRAFTANLAGEN, FLUGGERÄTENAVIGATION, KOMMUNIKATIONSSYSTEMEN
ODER LUFTVERKEHRSKONTROLLEINRICHTUNGEN, MEDIZINISCHEN GERÄTEN ODER
LEBENSERHALTUNGSSYSTEMEN, MEDIZINISCHEN ODER DIE GESUNDHEITSVORSORGE
BETREFFENDEN ANWENDUNGEN, ODER SONSTIGEN ANWENDUNGEN KONZIPIERT, BEI
DENEN FEHLER DER SOFTWARE ODER FEHLER BEI DER DATENVERARBEITUNG ZU
TODESFÄLLEN, PERSONENSCHÄDEN ODER SCHWEREN SACH- ODER UMWELTSCHÄDEN
FÜHREN KÖNNTEN. SIE ERKLÄREN SICH DAMIT EINVERSTANDEN, DASS SIE DIE
ALLEINIGE VERANTWORTUNG FÜR DIE EIGNUNG UND ZWECKMÄSSIGKEIT DER
SOFTWARE UND ALLE MIT DER SOFTWARE ERSTELLTEN ODER VERARBEITETEN DATEN
FÜR DEN BEABSICHTIGTEN VERWENDUNGSZWECK TRAGEN UND SIE WERDEN ALTOVA
UND DEREN GESCHÄFTSFÜHRER SOWIE ANGESTELLTE HINSICHTLICH ALLER
ANSPRÜCHE, FORDERUNGEN UND KLAGEN DRITTER, DIE AUF DIE EIGNUNG UND
ZWECKMÄSSIGKEIT DER VON IHNEN VERWENDETEN SOFTWARE ODER DIE VON DER
SOFTWARE ERSTELLTEN DATEN GEGRÜNDET SIND, SCHAD- UND KLAGLOS HALTEN.
2. GEISTIGE EIGENTUMSRECHTE
© 2016 Altova GmbH
Altova UModel 2017
478
Lizenzinformationen
Altova Endbenutzer-Lizenzvereinbarung
Die Software und alle Kopien, deren Anfertigung Ihnen von Altova gestattet ist, sind das geistige
Eigentum von Altova und dessen Lieferanten und stehen in deren Besitz. Struktur, Organisation
und Code der Software stellen wertvolle Betriebsgeheimnisse und vertrauliche Informationen von
Altova und dessen Lieferanten dar. Die Software ist durch gesetzliche Bestimmungen
urheberrechtlich geschützt. Diese gesetzlichen Bestimmungen beinhalten (ohne darauf
beschränkt zu sein) das Urheberrecht der Vereinigten Staaten, internationale Verträge und das in
den Ländern, in denen die Software genutzt wird, geltende Recht. Sie anerkennen, dass sich
Altova das Eigentum an allen Patenten, Urheberrechten, Branchengeheimnissen, Warenzeichen
und sonstigen geistigen Eigentumsrechten, die hinsichtlich der Software bestehen, vorbehält. Das
Eigentumsrecht von Altova erstreckt sich auch auf alle Bilder, Fotografien, Animationen, Videos,
Audioaufzeichnungen, Musikstücke, Texte und „Applets“, die Teil der Software sind, und alle
dazugehörigen Unterlagen in gedruckter Form. Sie dürfen keine Handlungen vornehmen, die sich
nachteilig auf die geistigen Eigentumsrechte von Altova an der Software auswirken. Warenzeichen
dürfen nur in Übereinstimmung mit den anerkannten Standards für die Verwendung von
Warenzeichen (einschließlich der namentlichen Nennung der Warenzeicheninhaber) verwendet
werden. Die Verwendung von Warenzeichen ist nur zur Kennzeichnung von Druckmaterialien, die
mit der Software hergestellt wurden, gestattet. Es entstehen Ihnen daraus keinerlei
Eigentumsrechte an dem betreffenden Warenzeichen. Altova®, XMLSpy®, Authentic®,
StyleVision®,
MapForce®,
UModel®,
DatabaseSpy®,
DiffDog®,
SchemaAgent®,
SemanticWorks®, MissionKit®, Markup Your Mind®, Nanonull™, RaptorXML™, RaptorXML
Server™, RaptorXML +XBRL Server™, Powered By RaptorXML™, FlowForce Server™,
StyleVision Server™ und MapForce Server™ sind (in mehreren Ländern eingetragene oder
angemeldete) Warenzeichen der Altova GmbH. Unicode und das Logo von Unicode sind
Warenzeichen von Unicode, Inc. Windows, Windows XP, Windows Vista, Windows 7 und
Windows 8 sind Warenzeichen von Microsoft. W3C, CSS, DOM, MathML, RDF, XHTML, XML und
XSL sind (in mehreren Ländern eingetragene) Warenzeichen des World Wide Web Consortium
(W3C). Marken des W3C sind von den Dachinstitutionen des Konsortiums (MIT, INRIA und Keio)
eingetragen und stehen in deren Eigentum. Sofern dies nicht ausdrücklich hierin festgelegt ist,
entstehen Ihnen aus diesem Vertrag keinerlei geistige Eigentumsrechte an der AltovaXML
Software. Mitteilungen über geltend gemachte Verstöße gegen geistige Eigentumsrechte sind an
den Copyright Agent von Altova zu richten (nähere Angaben dazu finden Sie auf der Website von
Altova).
3. ÜBERTRAGUNGSBESCHRÄNKUNG
Ungeachtet der vorstehenden Bestimmungen dürfen Sie alle Ihre Rechte zur Verwendung der
Software an eine andere natürliche oder juristische Person unter der Voraussetzung übertragen,
dass: (a) Sie den vorliegenden Vertrag, die Software und sonstige Soft- oder Hardware, die mit der
Software, die Gegenstand dieses Vertrags ist, geliefert, verpackt oder auf dieser vorinstalliert ist,
einschließlich aller Kopien, Updates und früherer Versionen sowie aller Exemplare von
Fontsoftware, die in andere Formate konvertiert wurde, an die betreffende Person übertragen; (b)
Sie keine Kopien, einschließlich Sicherungskopien und sonstiger, auf einem Computer
gespeicherter Kopien, zurückbehalten; (c) der Empfänger von Altova einen persönlichen
Freischaltcode von Altova erhält; und (d) der Empfänger die Bestimmungen dieses Vertrags sowie
alle anderen Bestimmungen akzeptiert, zu denen Sie die Softwarelizenz rechtmäßig erworben
haben. Ungeachtet der vorstehenden Ausführungen dürfen Sie keine Schulungs-, Vorab- oder
Musterkopien der Software an Dritte übertragen.
4. ZUSÄTZLICHE BEDINGUNGEN FÜR VORAB- UND TESTVERSIONEN
Wenn es sich bei dem von Ihnen mit dieser Lizenz erworbenen Produkt um eine unverkäufliche
Vorabversion oder um Beta-Software („Pre-Release-Software“) handelt, gelten die in diesem
Abschnitt enthaltenen Bedingungen. Diese gelten außerdem für alle Test- und/oder
Altova UModel 2017
© 2016 Altova GmbH
Lizenzinformationen
Altova Endbenutzer-Lizenzvereinbarung
479
Demoversionen von Altova-Software („Testsoftware“) und bleiben so lange gültig, bis Sie eine
Lizenz erwerben. Wenn Bestimmungen dieses Abschnitts im Widerspruch zu anderen, in diesem
Vertrag enthaltenen Bestimmungen stehen, dann gehen die Bedingungen dieses Abschnitts
hinsichtlich Pre-Release-Software und Testsoftware allen anderen Bestimmungen dieses
Lizenzvertrags vor, soweit dies für die Auflösung des Widerspruchs erforderlich ist. Sie erkennen
an, dass es sich bei der Pre-Release-Software um eine Vorabversion handelt, die nicht das
endgültige Produkt von Altova darstellt, und in der Fehler, Funktionsstörungen oder andere
Probleme auftreten können, die möglicherweise zu einem System- oder Hardwareabsturz oder fehler bzw. zu Datenverlust führen. DIE PRE-RELEASE-SOFTWARE UND/ODER
TESTSOFTWARE WIRD IHNEN DAHER OHNE GEWÄHR FÜR DEREN VERWENDUNG ODER
LEISTUNGSMERKMALE ZUR VERFÜGUNG GESTELLT, UND ALTOVA ÜBERNIMMT
DIESBEZÜGLICH
KEINERLEI
AUSDRÜCKLICHE
ODER
STILLSCHWEIGENDE
GEWÄHRLEISTUNGS- ODER HAFTUNGSVERPFLICHTUNGEN. SOFERN UND SOWEIT FÜR
PRE-RELEASE- UND/ODER TESTSOFTWARE KEIN HAFTUNGSSAUSSCHLUSS, SONDERN
NUR EINE HAFTUNGSBESCHRÄNKUNG GESETZLICH ZULÄSSIG IST, BESCHRÄNKT SICH
DIE HAFTUNG VON ALTOVA UND DESSEN LIEFERANTEN AUF INSGESAMT FÜNFZIG USDOLLAR (50 USD). Wenn die Testversion mit einer Time-out-Funktion ausgestattet ist, kann sie
nach Ablauf des Evaluierungszeitraums nicht mehr verwendet werden. Mit dem Ablauf dieses
Zeitraums endet Ihre Lizenz automatisch, wenn Sie sie nicht verlängern. Ihre Lizenz zur Nutzung
sämtlicher mit der Testsoftware erstellten Ergebnisse, welche einen generierten Progammcode
(inklusive den unbeschränkten Quellcode) wie Java, C++, C#, VB.NET oder XSLT und verbundene
Projektdateien und Build Scripts sowie generierte XML, XML Schematas, Dokumentationen, UML
Diagramme und Datenbankstrukturen enthalten, erlischt automatisch nach Ablauf der
vorgesehenen Testperiode. Die Lizenz zum Gebrauch dieser Ergebnisse lebt nach dem Kauf einer
Lizenz für die Software, die Sie getestet und mit der Sie das Ergebnis erstellt haben, wieder auf.
Der Zugriff auf Dateien, die mit der Testsoftware erstellt wurden, erfolgt auf Ihr alleiniges Risiko.
Sie bestätigen, dass Altova Ihnen weder zugesichert noch garantiert hat, die Pre-ReleaseSoftware zu einem späteren Zeitpunkt anderen Personen anzukündigen oder zur Verfügung zu
stellen. Sie bestätigen ferner, dass Altova sich Ihnen gegenüber weder ausdrücklich noch
stillschweigend verpflichtet hat, die Pre-Release-Software öffentlich anzukündigen oder
einzuführen, und dass Altova kein Produkt anbieten muss, das der Pre-Release-Software ähnlich
oder mit ihr kompatibel ist. Sie bestätigen folglich, dass jegliche Forschungs- oder
Entwicklungsarbeit, die Sie in Bezug auf die Pre-Release-Software oder damit verbundene
Produkte ausführen, in Ihr alleiniges Risiko fällt. Wenn Altova Sie dazu auffordert, werden Sie für
die Dauer dieses Vertrags Altova Rückmeldung bezüglich Ihrer Tests und der Pre-ReleaseSoftware geben, einschließlich entsprechender Berichte über Fehler und Funktionsstörungen.
Wenn Sie die Pre-Release-Software im Rahmen einer gesonderten schriftlichen Vereinbarung
erhalten haben, unterliegt Ihre Verwendung der Software den darin enthaltenen Bedingungen. Es
ist Ihnen nicht gestattet, die Pre-Release-Software unterzulizenzieren, per Leasing zur Verfügung
zu stellen, zu verleihen, zu vermieten, weiterzugeben oder auf sonstige Weise Dritten zu
überlassen. Sie verpflichten sich, bei Erhalt einer späteren unveröffentlichten Version der PreRelease-Software bzw. bei Erhalt einer kommerziellen Vollversion von Altova (entweder als
Einzelprodukt oder als Teil eines Gesamtprodukts) die zuvor von Altova erhaltene Pre-ReleaseSoftware zurückzugeben oder zu vernichten und den Bestimmungen des Lizenzvertrags für die
betreffende spätere Version der Pre-Release-Software Folge zu leisten.
5. EINGESCHRÄNKTE GARANTIE UND HAFTUNGSBESCHRÄNKUNG
(a)
Eingeschränkte Garantie und Garantieansprüche der Kunden. Altova garantiert der
Person/Rechtspersönlichkeit, die ursprünglich die Lizenz für die Verwendung der Software gemäß
den Bestimmungen dieses Vertrags erworben hat, dass (i) die Software über einen Zeitraum von
neunzig (90) Tagen nach Erhalt im Wesentlichen in Übereinstimmung mit der dazugehörigen
Dokumentation funktioniert, und (ii) die von Altova zur Verfügung gestellten Supportleistungen im
© 2016 Altova GmbH
Altova UModel 2017
480
Lizenzinformationen
Altova Endbenutzer-Lizenzvereinbarung
Wesentlichen auf die in Abschnitt 6 dieses Vertrags niedergelegte Weise erfolgen. In einigen
Ländern sind Beschränkungen über die Dauer einer stillschweigenden Garantie nicht zulässig, so
dass die obigen Beschränkungen und Ausschlüsse eventuell für Sie nicht zutreffen. Im
größtmöglichen rechtlich zulässigen Maß sind stillschweigende Garantien in Bezug auf die
Software (sofern solche existieren) auf neunzig (90) Tage beschränkt. Die gesamte Haftung von
Altova und dessen Lieferanten, sowie Ihre einzigen Garantieansprüche, sind nach dem Ermessen
von Altova auf eine der beiden folgenden Optionen beschränkt: (i) Erstattung des Kaufpreises
(wenn zutreffend), oder (ii) Reparatur oder Austausch der Software, die unter die eingeschränkte
Garantie von Altova fällt und die unter Vorlage einer Kopie des Kaufbelegs bei Altova reklamiert
wird. Diese eingeschränkte Garantie gilt nicht, wenn die Funktionalität der Software durch ein
Versehen, durch Missbrauch, falsche Anwendung, Trojaner, Viren oder einen sonstigen
schädlichen externen Code beeinträchtigt wurde. Die Garantie für jede Ersatzsoftware erstreckt
sich auf die Restdauer des ursprünglichen Garantiezeitraums oder auf dreißig (30) Tage, je
nachdem, welcher Zeitraum länger ist. Die eingeschränkte Garantie gilt nicht für Test- und/oder
Pre-Release-Software.
(b)
Keine weiteren Garantien, Haftungsausschluss.
MIT AUSNAHME DER
VORSTEHEND
ANGEFÜHRTEN
EINGESCHRÄNKTEN
GARANTIE
UND
DEN
DIESBEZÜGLICHEN GARANTIEANSPRÜCHEN BESTEHEN SEITENS ALTOVA ODER
DESSEN LIEFERANTEN KEINERLEI WEITEREN GARANTIEVERPFLICHTUNGEN. ALTOVA
UND DESSEN LIEFERANTEN ÜBERNEHMEN KEINE GEWÄHR FÜR DIE ANWENDUNG ODER
DIE ERGEBNISSE AUS DER NUTZUNG DER SOFTWARE. MIT AUSNAHME DER
VORSTEHEND ANGEFÜHRTEN EINGESCHRÄNKTEN GARANTIE SOWIE IM HINBLICK AUF
ALLE ANDEREN GEWÄHRLEISTUNGEN, BEDINGUNGEN, ZUSICHERUNGEN ODER
ANSPRÜCHE, DIE NACH DER FÜR IHR LAND GELTENDEN RECHTSORDNUNG NICHT
AUSGESCHLOSSEN ODER EINGESCHRÄNKT WERDEN KÖNNEN, SCHLIESSEN ALTOVA
UND
DESSEN
LIEFERANTEN
ALLE
ANDEREN
AUSDRÜCKLICHEN
ODER
STILLSCHWEIGENDEN GEWÄHRLEISTUNGEN, BEDINGUNGEN, ZUSICHERUNGEN UND
ANSPRÜCHE AUS, DIE SICH AUS DEM GESETZ, DER RECHTSPRAXIS, EINEM
GEWOHNHEITSRECHT, EINEM HANDELSBRAUCH ODER AUS SONSTIGEN GRÜNDEN
ERGEBEN. ALTOVA UND DESSEN LIEFERANTEN SCHLIESSEN IM GRÖSSTMÖGLICHEN
RECHTLICH ZULÄSSIGEN UMFANG ALLE ANDEREN AUSDRÜCKLICHEN UND
STILLSCHWEIGENDEN GARANTIEN UND GEWÄHRLEISTUNGEN AUS. DIES BEINHALTET
UNTER ANDEREM GARANTIEN IM HINBLICK AUF MARKTGÄNGIGKEIT, EIGNUNG FÜR
EINEN BESTIMMTEN ZWECK, ZUFRIEDENSTELLENDE QUALITÄT, INFORMATIONSGEHALT
ODER
–RICHTIGKEIT,
UNGESTÖRTE
NUTZUNG,
EIGENTUMSRECHT
UND
NICHTVERLETZUNG VON RECHTEN DRITTER UND DIE ERBRINGUNG ODER
NICHTERBRINGUNG VON SUPPORTLEISTUNGEN IN BEZUG AUF DIE SOFTWARE. MIT
DIESER EINGESCHRÄNKTEN GARANTIE WERDEN IHNEN BESTIMMTE RECHTE
EINGERÄUMT. UNTER UMSTÄNDEN BESITZEN SIE NOCH ANDERE RECHTE; DIE JA NACH
LAND/RECHTSORDNUNG UNTERSCHIEDLICH SEIN KÖNNEN.
(c)
Haftungseinschränkung. SOWEIT DIE ANWENDBAREN GESETZE DIES ZULASSEN,
HAFTEN ALTOVA ODER DESSEN LIEFERANTEN, AUCH WENN EINE IM RAHMEN DER
GARANTIE DURCHGEFÜHRTE ABHILFEMASSNAHME IHREN WESENTLICHEN ZWECK
NICHT ERFÜLLT, IN KEINEM FALL FÜR KONKRETE, ZUFÄLLIG ENTSTANDENE,
MITTELBARE, UNMITTELBARE ODER FOLGESCHÄDEN JEGLICHER ART (INSBESONDERE
SCHÄDEN AUS ENTGANGENEM GEWINN, GESCHÄFTSUNTERBRECHUNGEN, VERLUST
VON GESCHÄFTSINFORMATIONEN ODER ANDEREN FINANZIELLEN VERLUSTEN), DIE
DURCH DIE NUTZUNG ODER DIE UNMÖGLICHKEIT DER NUTZUNG DER SOFTWARE ODER
DIE NICHTERBRINGUNG VON SUPPORTLEISTUNGEN ENTSTANDEN SIND, SELBST WENN
ALTOVA AUF DIE MÖGLICHKEIT EINES SOLCHEN SCHADENS HINGEWIESEN WURDE. IIN
JEDEM FALL IST DIE GESAMTHAFTUNG VON ALTOVA GEMÄSS DIESEM VERTRAG AUF
Altova UModel 2017
© 2016 Altova GmbH
Lizenzinformationen
Altova Endbenutzer-Lizenzvereinbarung
481
DIE HÖHE DES FÜR DAS SOFTWAREPRODUKT ENTRICHTETEN BETRAGES BESCHRÄNKT.
Da es in einigen Ländern und Rechtsordnungen nicht zulässig ist, die Haftung für Schäden
auszuschließen oder zu beschränken, gilt die obige Einschränkung unter Umständen nicht für
Sie. In solchen Ländern und Rechtsordnungen gilt die Beschränkung der Haftung durch Altova im
größtmöglichen rechtlich zulässigen Umfang, und der Ausschluss bzw. die Beschränkung der in
diesem Lizenzvertrag beinhalteten Garantien und Haftungen hat keine Auswirkung auf die
Konsumentenschutzrechte von Personen, die Waren auf andere Weise als im Zuge ihrer
geschäftlichen Tätigkeit erwerben. Der vorstehende Haftungssauschluss/die vorstehende
Haftungsbeschränkung sind wesentliche Bestandteile des zwischen Ihnen und Altova
abgeschlossenen Vertrags.
(d)
Ansprüche in Zusammenhang mit Urheberrechtsverletzungen. Altova wird Sie
gegenüber allen Forderungen, Prozessen oder Verfahren schad- und klaglos halten bzw. alle
Ansprüche, Prozesse oder Verfahren beilegen, die Dritte mit dem Argument gegen Sie erheben,
dass der Inhalt der Software gegen ein Urheberrecht verstößt oder ein geistiges oder sonstiges
Eigentumsrecht verletzt, das durch das Recht der Vereinigten Staaten oder der Europäischen
Union geschützt ist (insgesamt als „Ansprüche“ bezeichnet). Dies erfolgt – soweit nicht
ausdrücklich etwas Anderes festgelegt ist – jedoch nur insoweit, als der betreffende Anspruch
sich direkt aus der Verwendung der Software ergibt und nach Maßgabe der in Abschnitt 5 dieses
Vertrags festgelegten Beschränkungen. Altova ist von jedem Anspruch innerhalb von zehn (10)
Geschäftstagen, nachdem Sie erstmals davon benachrichtigt wurden, in Kenntnis zu setzen.
Außerdem haben Sie mit Altova in angemessenem Umfang bei der Abwehr solcher Ansprüche zu
kooperieren und Altova dabei zu unterstützen, ohne dass Sie dafür Kosten geltend machen
können. Das Recht auf Entscheidungen in Bezug auf solche Ansprüche liegt allein bei Altova
(dies beinhaltet auch, ohne darauf beschränkt zu sein, die Auswahl der Rechtsberater und das
Recht, für Sie einen Vergleich zu den von Altova für zweckmäßig erachteten Bedingungen
einzugehen). Sie können auf eigene Kosten einen Rechtsberater hinzuziehen und an den
Verfahrens- oder Vergleichsverhandlungen teilnehmen. Altova kommt bis zu einer Höhe von
insgesamt maximal dem Kaufpreis der Software für die Schäden, Kosten und Anwaltsgebühren
auf, zu deren Bezahlung Sie in Zusammenhang mit solchen Ansprüchen verpflichtet werden (oder
die Sie aufgrund eines Vergleichs zu entrichten haben), soweit diese nicht von einer Versicherung
oder dritten Partei übernommen werden. Ist oder wird die Software Gegenstand von aufgrund einer
Urheberrechtsverletzung vorgebrachten Ansprüchen, oder wird ihre Verwendung untersagt, oder ist
es nach Ansicht des Rechtsberaters von Altova wahrscheinlich, dass ein solcher Umstand eintritt,
so wird Altova versuchen, eine Beilegung herbeizuführen, indem alle wirtschaftlich vertretbaren
Anstrengungen unternommen werden, um die Software zu modifizieren oder eine Lizenz für die
weitere Verwendung der Software zu erwerben. Wenn es nach Ansicht des Rechtsberaters von
Altova nicht möglich ist, den bevorstehenden oder bereits vorgebrachten Anspruch bzw. die
Verfügung, mit der die Verwendung der Software untersagt wurde, durch angemessene
Abänderung oder den Erwerb einer Lizenz beizulegen, so kann Altova diesen Vertrag ohne
negative Konsequenzen für Altova beenden und Ihnen anteilig alle bereits an Altova entrichteten
Gebühren zurückerstatten. MIT AUSNAHME DER VORSTEHEND ANGEFÜHRTEN
BESTIMMUNGEN OBLIEGEN ALTOVA KEINERLEI HAFTUNGSVERPFLICHTUNGEN FÜR
ANSPRÜCHE IN ZUSAMMENHANG MIT URHEBERRECHTSVERLETZUNGEN. Diese
Haftungsverpflichtung gilt nicht in Fällen, in denen die Urheberrechtsverletzung, ob patentrechtlich
oder anderweitig, infolge einer Kombination der Altova-Software mit zusätzlich von Ihnen
bereitgestellten Elementen verursacht wurde.
6. SUPPORT UND WARTUNG
Zusätzlich zu der Version des Softwareprodukts, für das Sie eine Lizenz erhalten haben, bietet
Altova eine Reihe von optionalen „Support- & Wartungspaketen“ („Software & Maintenance
Package“, „SMP“) an, die Sie zusätzlich zu Ihrer Lizenz für die Software erwerben können. Der für
© 2016 Altova GmbH
Altova UModel 2017
482
Lizenzinformationen
Altova Endbenutzer-Lizenzvereinbarung
das jeweilige SMP geltende Supportzeitraum (wie nachfolgend definiert) wird beim Kauf des SMP
festgelegt. Die Support- und Wartungsservices und die Upgrades, die Ihnen zur Verfügung stehen,
hängen davon ab, ob Sie ein SMP erwerben bzw. für welche Version des SMP Sie sich
entscheiden.
(a)
Wenn Sie kein SMP erwerben, erhalten Sie beim Kauf lediglich die Software, danach
jedoch keinerlei Wartungsreleases oder Updates. Obwohl die Möglichkeit besteht, dass Altova
Ihnen in Einzelfällen Wartungsreleases als kostenlose Zusatzleistung zur Verfügung stellt, sind in
diesen Releases keine neuen Produktfeatures, die über das beim Kauf der Software bestehende
Maß hinausgehen, beinhaltet. In jedem Fall erhalten Sie dreißig (30) Tage lang ab Kauf der
Software (der „Supportzeitraum” im Sinne dieses Absatzes 6(a)) kostenlosen technischen
Support von Altova. Außerdem kann Altova in Einzelfällen auch während des dreißig (30) Tage
dauernden Evaluierungszeitraums technischen Support als kostenlose Zusatzleistung zur
Verfügung stellen. Technischen Support erhalten Sie ausschließlich über ein webbasiertes
Supportformular, wobei es keine garantierte Reaktionszeit gibt.
(b)
Mit dem Erwerb eines SMP haben Sie während des dafür geltenden Supportzeitraums
Anspruch auf die von Ihnen erworbene Produktversion sowie auf alle Wartungsreleases und
Updates für diese Produktversion, die während des für Sie geltenden Supportzeitraums
freigegeben werden. Während des Supportzeitraums Ihres SMP erhalten Sie auch Upgrades auf
die entsprechende Produktversion der Software, mit der auf eine höhere Version der Software, für
die Sie die Lizenz erworben haben, gewechselt wird und die während Ihres Supportzeitraums
freigegeben werden. Die einzelnen Upgradeeditionen, auf die Sie innerhalb Ihres Supportzeitraums
Anspruch haben, sind in dem von Ihnen erworbenen SMP im Detail angeführt. Software, die als
gesondertes Produkt eingeführt wird, ist nicht im SMP enthalten. Wartungsreleases, Updates und
Upgrades können neue Features enthalten, dies muss aber nicht der Fall sein. Darüber hinaus
erhalten Sie während des Supportzeitraums bevorzugten technischen Support von Altova, und
zwar ausschließlich über ein webbasiertes Supportformular. Altova wird alle wirtschaftlich
vertretbaren Anstrengungen unternehmen, um alle Anfragen per E-Mail innerhalb von
achtundvierzig (48) Stunden während der Geschäftszeiten (Montag bis Freitag, 8.00 bis 22.00 Uhr
UTC, ausgenommen Feiertage in Österreich und den USA) zu beantworten. Außerdem wird
Altova sich in angemessenem Umfang darum bemühen, Workarounds für Fehler, die bei der
Software aufgetreten sind, zur Verfügung zu stellen.
Während des Supportzeitraums können Sie Altova Fehler oder Defekte in der Software melden.
Wenn nach Altovas Einschätzung ein reproduzierbarer schwerwiegender Fehler vorliegt, der die
Verwendung und Funktionalität der Software erheblich beeinträchtigt, wird Altova wirtschaftlich
vertretbaren Anstrengungen unternehmen um Korrekturen oder provisorische Lösungen
anzubieten, die in zukünftigen Updates oder Wartungsreleases enthalten sind. Diese Updates
oder Wartungsreleases werden von Altova von Zeit zu Zeit zur Verfügung gestellt.
Es steht im Ermessen von Altova, einen schriftlichen Nachweis über von Ihnen festgestellte Fehler
oder Funktionsstörungen zu verlangen oder Beispieldateien anzufordern, aus denen das
aufgetretene Softwareproblem hervorgeht. In einem solchen Fall müssen Sie die angeforderten
Nachweise oder Dateien, aus denen ausreichend detailliert hervorgeht, in welchen Aspekten
Fehler bei der Software auftreten, so schnell wie möglich per E-Mail, Fax oder Expresspost mit
Zustellung am nächsten Tag an Altova übermitteln. Bei der Diagnose oder Analyse von Fehlern
haben Sie in zumutbarem Rahmen mit Altova zu kooperieren. Fehlerbehebungen können in
Wartungsreleases, Updates oder neuen Hauptversionen der Software enthalten sein. Altova ist
nicht verpflichtet, unwesentliche Fehler, d.h. Fehler, die die Benutzung der Software nach dem
Ermessen von Altova nicht wesentlich beeinträchtigen, zu beheben. Sie erhalten von Altova unter
keinen Umständen Beratung, Unterstützung oder Hilfestellung, die allgemeiner Natur ist und nicht
in unmittelbarem Zusammenhang mit der Software steht.
Altova UModel 2017
© 2016 Altova GmbH
Lizenzinformationen
Altova Endbenutzer-Lizenzvereinbarung
483
Bei der Aktualisierung der Software kann es unter Umständen vorkommen, dass vor der
Installation auch Software aktualisiert werden muss, die nicht unter diesen Vertrag fällt. Für
Updates von Betriebssystem- und Anwendungssoftware, die nicht ausdrücklich Gegenstand
dieses Vertrags ist, sind ausschließlich Sie verantwortlich. Solche Updates sind nicht im Umfang
dieser Lizenz enthalten und werden nicht von Altova zur Verfügung gestellt. Die Erfüllung der in
diesem Abschnitt 6 festgelegten Verpflichtungen durch Altova versteht sich unter der Bedingung,
dass Sie die Software ordnungsgemäß verwenden und diesen Vertrag ausnahmslos jederzeit
einhalten. Altova ist nicht verpflichtet, technischen Support zu leisten, wenn nach Ansicht von
Altova die Fehlfunktion der Software auf einen der folgenden Gründe zurückzuführen ist: (i) Fehler,
die durch die Verlegung der Software auf einen anderen Rechner oder Speicherort hervorgerufen
werden; (ii) Änderungen, Modifikationen oder Versuche, die Software abzuwandeln, die von Altova
nicht schriftlich genehmigt wurden; (iii) äußere Einflüsse auf die Software, wie z.B.
Naturkatastrophen, Stromausfälle, Stromschwankungen oder Computerausfälle; (iv) Ihr
Versäumnis die Software auf dem von Altova festgelegten Release Level zu halten; oder (v)
Nutzung der Software ohne vorherige Genehmigung durch Altova zusammen mit einer anderen
Software. Sie alleine sind dafür verantwortlich: (i) allen Betriebs- und Fehlerbehebungsanleitungen
von Altova Folge zu leisten, Altova unverzüglich von Fehlern oder Defekten an der Software zu
informieren und Altova eine genaue Beschreibung dieser Fehler und/oder Defekte zu liefern; (ii) für
den Schutz Ihrer vertraulichen Informationen zu sorgen; (iii) Datensicherungssysteme und -abläufe
für die Wiederherstellung verlorener oder geänderter Dateien, Daten oder Programme einzurichten
und anzuwenden.
7. AKTIVIERUNG DER SOFTWARE, UPDATES UND LIZENZÜBERWACHUNG
(a)
Lizenzzählung. Die Software enthält ein integriertes Lizenzzählungsmodul zum Zweck
der Überwachung der Einhaltung der Lizenzbestimmungen in kleinen LANs (Local Area
Networks). Dieses Lizenzzählungsmodul versucht, mit anderen Rechnern in Ihrem LAN zu
kommunizieren. Sie gestatten Altova, Ihr internes Netzwerk zu Lizenzüberwachungszwecken zu
verwenden. Dieses Lizenzzählungsmodul soll Sie zwar bei der Lizenzüberwachung unterstützen,
sollte aber nicht das einzige Mittel zu diesem Zweck darstellen. Sollte die oben genannte
Kommunikation durch Ihre Firewall-Einstellungen verhindert werden, müssen Sie eine zuverlässige
Methode implementieren, um die Verwendung der Software durch den Endbenutzer zu
überwachen und zu verhindern, dass mehr als die zulässige Anzahl an Benutzern die Software
verwendet.
(b)
Lizenzüberwachung. Sie sind verpflichtet, eine Methode oder ein Tool zu verwenden,
um sicherzustellen, dass die maximale Anzahl der Benutzer nicht überschritten wird. Sollten Sie
nicht in der Lage sein, die Verwendung der Software-Lizenzen in Ihrem Unternehmen genau
überwachen zu können, kann Ihnen Altova, ohne jedoch dadurch auf jegliche aufgrund von
Verletzungen des Vertrags entstandene Forderungen zu verzichten, zusätzliche
Lizenzüberwachungstools zur Verfügung stellen. Falls Ihnen ein solches Tool von Altova zur
Verfügung gestellt wird, sind Sie verpflichtet, es (a) zur Überwachung der Einhaltung dieses
Vertrags zu verwenden und (b) Altova die Verwendung Ihres internen Netzwerks zum Zweck der
Lizenzüberwachung und -zählung und der Generierung von Überwachungsberichten, die von Zeit
zu Zeit an Altova gesendet werden, zu gestatten.
(c)
Aktivierung der Software. Die Software kann Ihr internes Netzwerk und Ihre
Internetverbindung verwenden, um Angaben über Ihre Lizenz im Zuge der Installation,
Registrierung, Benutzung oder Aktualisierung an einen Altova Master-Lizenzserver zu
übertragen und diese zu verifizieren, um auf diese Weise eine nicht lizenzierte oder
illegale Verwendung der Software zu verhindern und den Kundenservice von Altova
weiter zu verbessern. Die Aktivierung erfolgt über einen Austausch von lizenzbezogenen
© 2016 Altova GmbH
Altova UModel 2017
484
Lizenzinformationen
Altova Endbenutzer-Lizenzvereinbarung
Daten zwischen Ihrem Computer und dem Altova Master-Lizenzserver. Sie stimmen
dieser Vorgangsweise von Altova zu und verpflichten sich, allen diesbezüglichen
Vorgaben Folge zu leisten. Sie erklären sich damit einverstanden, dass die Verwendung
von Freischaltcodes, welche nicht von Altova erstellt werden oder wurden und nicht
rechtmäßig von Altova oder einem dazu berechtigten Wiederverkäufer erworben
wurden, zum Zweck der Aktivierung oder Nutzung der Software die gewerblichen
Schutzrechte von Altova sowie die Bestimmungen dieses Vertrages verletzt. Sie erklären
sich weiters damit einverstanden, dass Versuche mit dem Zweck der Umgehung oder
Deaktivierung
der
urheberrechtlichen
Schutzmaßnahmen,
von
Lizenzmanagementsystemen oder des Altova Master-Lizenzservers die gewerblichen
Schutzrechte von Altova sowie die Bestimmungen dieses Lizenzvertrages verletzen.
Altova behält sich ausdrücklich das Recht vor, alle rechtlich verfügbaren sowie
angemessenen Mittel zu ergreifen, um derartige Praktiken zu verhindern und
entgangenen Gewinn, Schäden und Kosten zurückerstattet zu bekommen.
(d)
LiveUpdate. Altova stellt Ihnen ein neues LiveUpdate Benachrichtigungsservice zur
Verfügung, welches kostenlos ist. Altova kann Ihr internes Netzwerk und Ihre Internetverbindung
verwenden, um Angaben über Ihre Lizenz an einen LiveUpdate-Server von Altova zu übertragen,
um Ihre Lizenz in gewissen Zeitabständen zu verifizieren und festzustellen, ob ein Update für Sie
verfügbar ist.
(e)
Verwendung von Daten Der gesamte Wortlaut der Datenschutzbestimmungen von
Altova
kann
unter
http://www.altova.com/de/privacy
eingesehen
werden.
Die
Datenschutzbestimmungen sind durch Bezugnahme Teil dieses Vertrags. Durch Ihre Zustimmung
zu den Bestimmungen dieses Vertrags bzw. durch Benutzung der Software erklären Sie sich
damit einverstanden, dass Altova für die in diesem Vertrag und/oder in den
Datenschutzbestimmungen (in der jeweils geltenden Fassung) genannten Zwecke Daten erhebt,
verarbeitet und weitergibt. Altova behält sich das Recht vor, diese Bestimmung des Vertrags und/
oder der Datenschutzbestimmungen jederzeit zu ändern. Wir legen Ihnen nahe, die auf der
Website von Altova veröffentlichten Datenschutzbestimmungen von Zeit zu Zeit erneut
durchzulesen.
(f)
Recht zur Überprüfung. Sie erklären sich damit einverstanden, dass Altova dazu
berechtigt ist, die Einhaltung der Bestimmungen dieses Vertrags jederzeit nach vorheriger
Benachrichtigung zu überprüfen. Falls sich bei der Überprüfung herausstellt, dass Sie
Bestimmungen dieses Vertrags verletzen, haben Sie zusätzlich zu allen anderen aus der
Lizenzverletzung entstehenden Haftungsansprüchen alle angemessenen Kosten, die Altova durch
die Überprüfung entstehen, zu ersetzen.
(g)
Hinweis für Benutzer in Europa. Bitte beachten Sie, dass die in Absatz 7(d)
beschriebenen Informationen von Altova, Inc., einem Unternehmen mit Sitz in Beverly,
Massachusetts, USA, oder seinen Tochterunternehmen, Zweigniederlassungen oder weltweit
ansässigen autorisierten Partnern zum Zweck der Datenverarbeitung, Analyse und Überprüfung
nach außerhalb der EU transferiert werden können. Sie werden darauf hingewiesen, dass in den
USA ein Datenschutzmodell zur Anwendung kommt, das teils auf Gesetzen, teils auf
Regierungsverordnungen und zum Teil auf Selbstregulierung beruht. Des Weiteren werden Sie
darauf hingewiesen, dass der Rat der Europäischen Union befunden hat, dass dieses
amerikanische Modell den in Artikel 25 der Datenrichtlinie der Europäischen Union (Richtlinie
95/46/EC, 1995 O.J. (L 281) 31) festgelegten Datenschutzbestimmungen nicht "in ausreichendem
Ausmaß" Rechnung trägt. Laut Artikel 26 der Datenrichtlinie der Europäischen Union, dürfen
persönliche Daten dann von der Europäischen Union in ein Drittland übertragen werden, wenn die
jeweilige Person ihre Zustimmung zur Übertragung derartiger Informationen eindeutig gegeben hat,
unabhängig davon, in welchem Ausmaß diese Daten in anderen Ländern geschützt sind. Durch
Altova UModel 2017
© 2016 Altova GmbH
Lizenzinformationen
Altova Endbenutzer-Lizenzvereinbarung
485
Ihre Zustimmung zu diesem Vertrag gestatten Sie die Übertragung aller derartiger Informationen
an die USA sowie deren Verarbeitung gemäß diesem Vertrag und Altovas
Datenschutzbestimmungen.
8. DAUER UND BEENDIGUNG
Dieser Vertrag wird folgendermaßen beendet: (a) indem Sie Altova eine schriftliche
Benachrichtigung von der Vertragsbeendigung übermitteln; (b) durch Altova in Form einer
diesbezüglichen schriftlichen Benachrichtigung, wenn Sie gegen diesen Vertrag verstoßen und
diesen Verstoß nicht innerhalb von 10 (zehn) Tagen, nachdem Altova Ihnen dies mitgeteilt hat,
berichtigen; oder (c) auf Verlangen eines autorisierten Vertriebshändlers von Altova, wenn Sie eine
Lizenzzahlung nicht entrichten oder sonstige Zahlungsverpflichtungen nicht einhalten. Der Vertrag
einer früheren Version der Software, für die Sie ein Upgrade oder ein Update durchgeführt haben,
wird mit Ihrer Zustimmung zu dem Vertrag, der für das Upgrade oder Update gilt, automatisch
beendet. Bei Beendigung des Vertrags dürfen Sie die gesamte Software, die Gegenstand dieses
Vertrags ist, nicht mehr verwenden, müssen alle Kopien, die in Ihrem Besitz oder Einflussbereich
stehen, vernichten, und müssen in zumutbarem Rahmen alle von Altova geforderten Maßnahmen
ergreifen, um sicherzustellen, dass keine Kopien der Software in Ihrem Besitz oder
Einflussbereich verbleiben. Die in den Abschnitten 1(h), 1(i), 1(j), 1(k), 1(l), 2, 5, 7, 9, 10, 11 und
11 niedergelegten Bestimmungen bleiben auch nach Beendigung dieses Vertrags weiterhin
aufrecht.
9. EINGESCHRÄNKTE RECHTE UND EXPORTBESCHRÄNKUNGEN
Die Entwicklung der Software wurde ausschließlich privat finanziert. Bei der Software handelt es
sich um kommerzielle Computersoftware, die mit eingeschränkten Rechten ausgestattet ist.
Die Verwendung, Vervielfältigung oder Weitergabe der Software durch die US-Regierung, eine
Behörde oder einen Kooperationspartner der US-Regierung unterliegt den Beschränkungen im
Rahmen dieses Vertrags sowie den Beschränkungen nach FAR 12.211 und 12.212 (48 C.F.R.
§12.211 und 12.212) bzw. DFARS 227.7202 (48 C.F.R. §227-7202). Dabei wird eine Lizenz für
kommerzielle Computersoftware und kommerzielle Computerdokumentation an die US-Regierung
als Endnutzer ausschließlich in Form einer Lizenz für kommerziell genutzte Güter erteilt, weshalb
es sich bei den damit verbundenen Rechten um dieselben Rechte handelt, die allen anderen
Endnutzern im Rahmen dieses Vertrags gewährt werden. Beim Hersteller handelt es sich um
Altova GmbH, Rudolfsplatz, 13a/9, A-1010 Wien, Österreich/EU. Die Software und/oder
Dokumentation darf ausschließlich unter Einhaltung aller anwendbaren Exportbestimmungen der
Vereinigten Staaten von Amerika sowie des Landes, in dem Sie die Software erhalten haben,
verwendet, exportiert oder wiedereingeführt werden. Insbesondere darf die Software und/oder
Dokumentation nicht (i) in ein Land exportiert oder wiedereingeführt werden, über das die
Vereinigten Staaten ein Embargo verhängt haben, oder einem Staatsangehörigen oder Bewohner
eines solchen Landes überlassen werden; oder (ii) einer Person überlassen werden, die auf der
Liste der Specially Designated Nationals des U.S. Treasury Department oder dem Table of Denial
Orders des U.S. Department of Commerce verzeichnet sind. Indem Sie die Software benutzen,
erklären Sie, dass Sie weder in einem dieser Länder ansässig sind noch seiner Kontrolle
unterliegen, noch ein Staatsangehöriger oder Bewohner eines dieser Länder sind, noch auf einer
der vorstehend erwähnten Listen genannt werden.
10. U.S.-REGIERUNGSBEHÖRDEN
Für Ämter, Institutionen oder Ministerien der Regierung der Vereinigten Staaten gelten für diesen
Vertrag ungeachtet der vorstehenden Bestimmungen amerikanisches Recht. Falls keine
amerikanischen Bundesgesetze anwendbar sind, so gelten die Gesetze des Commonwealth of
Massachusetts. Des Weiteren unterliegen alle Ansprüche, Forderungen, Beschwerden und
© 2016 Altova GmbH
Altova UModel 2017
486
Lizenzinformationen
Altova Endbenutzer-Lizenzvereinbarung
Streitigkeiten ungeachtet anderslautender Bestimmungen in diesem Vertrag (einschließlich aber
nicht beschränkt auf Absatz 5 ((Garantie)) den folgenden amerikanischen Gesetzen bzw. anderen
US-Verordnungen: Contract Disputes Act (41 U.S.C. §§7101 et seq.), Tucker Act (28 U.S.C.
§1346(a) und §1491) oder dem Federal Tort Claims Act (28 U.S.C. §§1346(b), 2401-2402, 26712672, 2674-2680), FAR 1.601(a) und 43.102 (Contract Modifications); FAR 12.302(b). Der Klarheit
halber stellen wir fest: Wenn Sie ein amerikanisches bundestaatliches, staatliches oder
regionales Amt, eine Institution oder Behörde oder ein öffentliches und akkreditiertes
amerikanisches Bildungsinstitut sind, so können Schadenersatzansprüche an Sie nur im Rahmen
des geltenden amerikanischen Rechts (z.B. Anti-Deficiency Act) geltend gemacht werden und nur
in dem Ausmaß, in dem Sie die Autorisierungsbefugnis dazu haben.
11. SOFTWARE DRITTER
Die dieser Lizenz unterliegende Software kann Software Dritter enthalten, für die ergänzende
Vermerke und/oder Nutzungsbedingungen gelten. Diese Vermerke und ergänzenden
Nutzungsbedingungen für die Software Dritter können über unsere Website unter http://
www.altova.com/legal_3rdparty.html eingesehen werden und sind durch Bezugnahme Teil dieses
Lizenzvertrags. Indem Sie Ihre Zustimmung zu den Bedingungen dieses Vertrags erteilen,
stimmen Sie auch automatisch allen ergänzenden Bestimmungen, die möglicherweise darin
enthalten sind, zu.
12. ZUSTÄNDIGKEIT, ANWENDBARES RECHT UND GERICHTSBARKEIT
Wenn Sie sich in der Europäischen Union befinden und die Software in der Europäischen Union
und nicht in den Vereinigten Staaten verwenden, unterliegt dieser Vertrag dem Recht der Republik
Österreich (unter Ausschluss von dessen Verweisungsnormen und der UN-Kaufrechtskonvention).
Sie erklären sich ausdrücklich damit einverstanden, dass alle Streitigkeiten oder Konflikte mit
Altova, die in Zusammenhang mit Ihrer Verwendung der Software stehen, in die alleinige
Zuständigkeit des Handelsgerichts Wien fallen. Sie erklären sich weiters ausdrücklich damit
einverstanden, dass Sie bezüglich solcher Streitigkeiten oder Konflikte der persönlichen
Zuständigkeit des Handelsgerichts Wien unterstellt sind.
Wenn Sie sich in den Vereinigten Staaten befinden und die Software in den Vereinigten Staaten
verwenden, unterliegt dieser Vertrag dem Recht des Commonwealth of Massachusetts, USA
(unter Ausschluss von dessen Verweisungsnormen und der UN-Kaufrechtskonvention). Sie
erklären sich ausdrücklich damit einverstanden, dass alle Streitigkeiten oder Konflikte mit Altova,
die in Zusammenhang mit Ihrer Verwendung der Software stehen, in die alleinige Zuständigkeit der
einzel- und bundesstaatlichen Gerichte im Bundesstaat Massachusetts fallen. Sie erklären sich
weiters ausdrücklich damit einverstanden, dass Sie bezüglich solcher Streitigkeiten oder Konflikte
der persönlichen Zuständigkeit der einzel- und bundesstaatlichen Gerichte im Bundesstaat
Massachusetts unterstellt sind.
Wenn Sie sich nicht in der Europäischen Union oder den Vereinigten Staaten befinden und die
Software nicht in den Vereinigten Staaten verwenden, unterliegt dieser Vertrag dem Recht der
Republik Österreich (unter Ausschluss von dessen Verweisungsnormen und der UNKaufrechtskonvention). Sie erklären sich ausdrücklich damit einverstanden, dass alle
Streitigkeiten oder Konflikte mit Altova, die in Zusammenhang mit Ihrer Verwendung der Software
stehen, in die alleinige Zuständigkeit des Handelsgerichts Wien fallen. Sie erklären sich weiters
ausdrücklich damit einverstanden, dass Sie bezüglich solcher Streitigkeiten oder Konflikte der
persönlichen Zuständigkeit des Handelsgerichts Wien unterstellt sind. Die Anwendung von
Verweisungsnormen einer Rechtsordnung sowie des UN-Abkommens zum internationalen
Warenkauf (CISG) auf diesen Vertrag wird ausdrücklich ausgeschlossen.
Altova UModel 2017
© 2016 Altova GmbH
Lizenzinformationen
13.
Altova Endbenutzer-Lizenzvereinbarung
487
ÜBERSETZUNGEN
Von Altova zur Verfügung gestellte Übersetzungen der englischsprachigen Version dienen
ausschließlich Ihrer Annehmlichkeit. Die englischsprachige Version des Vertrags ist die offiziell
gültige. In Fällen, in denen die Übersetzung nicht mit der englischsprachigen Version
übereinstimmt, hat die englischsprachige Version Vorrang.
14.
ALLGEMEINE BESTIMMUNGEN
Dieser Vertrag enthält die gesamte Vereinbarung zwischen den Parteien in Bezug auf den
Vertragsgegenstand und tritt an die Stelle aller diesbezüglichen früheren mündlichen oder
schriftlichen Vereinbarungen zwischen den Parteien. Benachrichtigungen oder sonstige
Mitteilungen im Rahmen dieses Vertrags müssen schriftlich erfolgen und gelten als
ordnungsgemäß übermittelt, wenn sie per Einschreiben mit Rückschein oder per Kurierdienst mit
Zustellung am nächsten Tag an die auf der Website von Altova angegebene Adresse (wenn Altova
der Empfänger ist) bzw. an die in den Aufzeichnungen von Altova für Sie eingetragene Adresse
(wenn Sie der Empfänger sind) oder aber an eine andere, von den Vertragspartnern festgelegte
und auf die vorstehend beschriebene Weise bekannt gegebene Adresse geschickt werden. Dieser
Vertrag ist für die Vertragspartner verbindlich und geht auf ihre Erben, persönlichen und
rechtlichen Vertreter, verbundenen Unternehmen, Rechtsnachfolger und zulässigen
Abtretungsempfänger über. Die Nichtdurchsetzung oder Nichtausübung von Rechten oder
Rechtsmitteln unter diesem Vertrag durch die Vertragspartner stellt keinen Verzicht auf ein
solches Recht oder Rechtsmittel dar und beeinträchtigt in keiner Weise das Recht des
betreffenden Vertragspartners, ein solches Recht oder Rechtsmittel sowie alle anderen Rechte
oder Rechtsmittel aus diesem Vertrag später durchzusetzen bzw. auszuüben. Eine Änderung
dieses Vertrages ist nur in Form einer schriftlich niedergelegten Vereinbarung möglich, die von
beiden Vertragspartnern unterzeichnet wird. Wenn eine Zuwiderhandlung gegen die
Bestimmungen dieses Vertrags durch einen der Vertragspartner erfolgt ist oder droht, so kann der
jeweils andere Vertragspartner alle ihm zustehenden Rechte und Rechtsmittel geltend machen.
Jeder Vertragspartner ist ordnungsgemäß befugt und ermächtigt, in diesen Vertrag einzutreten
und die daraus erwachsenden Verpflichtungen zu erfüllen. Sollte eine Bestimmung dieses
Vertrags für unwirksam, rechtswidrig oder undurchführbar erklärt werden, so wird dadurch die
Wirksamkeit der übrigen Bestimmungen nicht berührt, und dieser Vertrag bleibt im
größtmöglichen rechtlich zulässigen Umfang wirksam und gültig. Die Vertragspartner haben die
vorstehenden Vertragsbedingungen zur Kenntnis genommen und erklären sich ausdrücklich damit
einverstanden.
Letzte Aktualisierung: 3.9.2015
© 2016 Altova GmbH
Altova UModel 2017
Index
Index
.
.NET Framework,
UModel Projekt inkludieren, 151
1
1.4,
Java, 59
5
5.0,
Java, 59
A
Abgeleitete,
Klasse, 32
Klassen einfügen, 98
Abhängigkeit,
Beziehungen anzeigen, 89, 177
inkludieren, 16
Verwendung, 43
Absolute,
und relative Links, 184
Abstrakte,
Klasse, 25
Akteur,
benutzerdefiniert, 16
Aktiviere Versionskontrolle, 363
Aktivierungsfeld,
Ausführungsspezifikation, 251
Aktivität, 212
Diagramm zu Transition hinzufügen, 212
Diagrammelemente, 201
Operation hinzufügen, 212
© 2016 Altova GmbH
489
Verzweigung / Merge erstellen, 199
zum Zustand hinzufügen, 212
Aktivitätsdiagramm, 196
Elemente einfügen, 197
Symbole, 393
Aktualisieren,
Projektdatei, 137
Aktuellste Version holen, 364
Alle,
erweitern/reduzieren, 285
Anbieter wechseln,
Versionskontrolle, 383
Anleitung,
definierte Symbole, 126
Anmerkung,
Hyperlink von, 100
Annotation,
Dokumentation, 86
XML-Schema, 328
Anordnen,
Elemente, 93
Anpassen, 430, 434
Befehle der Symbolleiste/des Menüs, 430
Kontextmenü, 434
Menü, 434
Ansicht, 427
zu mehreren Instanzen eines Elements, 285
Antwort,
Nachricht automatisch generieren, 257
Anwendungsfall,
hinzufügen, 16
Anzeigen, 83
alle Beziehungen - Hierarchie (Register), 83
Eigenschaft als Assoziation, 89
Eigenschaft als Assziation, 169
Eigenschaftswerte, 328
grafischen Ansicht, 83
Modellbeziehungen, 89, 177
oder am Raster ausrichten, 89
Regionsnamen ausblenden, 219
Textlabels, 89, 177
Applikation,
externe - Argumente, 431
Arbeit im Team,
Unterstützung - Unterprojekte, 346
Arbeitsablauf,
Projekt, 118
Arbeitsverzeichnis,
490
Arbeitsverzeichnis,
Versionskontrolle, 360
Argumente,
externe Tools, 431
Artefakt,
Manifestation, 48
zu Node hinzufügen, 48
Assoziation,
aggregrieren/zusammensetzen, 25
automatische Anzeige, 174
beim Code Engineering anzeigen, 59
Beziehungen anzeigen, 89, 177
Eigenschaft als Ass. anzeigen, 89
Klasse memberEnd, 174
mit Drag-and-Drop erstellen, 179
Objektverknüpfungen, 37
Qualifier, 174
Rolle, 174
Tpy definieren, 174
typisierte Eigenschaft anzeigen, 169
Use Case, 16
Zeilendicke, 89
zwischen Klassen, 25
Attribut,
Autokomplettierungsfenster, 437
Eigenschaftswerte ein-/ausblenden, 314
ein-/ausblenden, 285
in Modelll-Strukur auswählen, 78
Stereotyp, 314
Attribut auswählen,
in Modell-Struktur, 78
Attribute,
coloring, 291
Auflisten,
nicht verwendete Elemente, 69
Aufruf,
Nachricht, 257
Aufrufoperation,
einfügen, 197
Aufrufverhalten,
einfügen, 197
Ausblenden,
Eigenschaftswerte - Attribute, 314
einblenden - Slot, 285
Textlabels, 89, 177
Auschecken, 367
Auschecken rückgängig, 370
Ausführungsspezifikation,
Index
Lebenslinie, 251
Ausgabe,
XMI-Datei, 342
Ausgliedern,
aus Versionskontrolle, 374
Auslösendes Ereignis,
Zeitverlaufsdiagramm, 280
Ausnahme,
Ausnahmeereignis hinzufügen, 285
Ausnahmeereignis,
hinzufügen, 285
Java-Operation, 126
Ausrichten,
am Raster - Raster anzeigen, 89
beim Ziehen an Hilfslinien ausrichten, 437
Elemente, 93
Elemente beim Ziehen, 16
Ausrichtungshilfslinien, 16
Außer Kraft setzen,
SPL-Standardvorlagen, 137
Austrittspunkt,
zu Unterautomat hinzufügen, 219
Autokomplettierung, 93
Einzelmodus / Mehrfachmodus, 93
Fenster - Typen, 93
Fenster zum Bearbeiten von Klassen, 437
Funktion, 25
Autokomplettierung auf Wunsch,
Strg+Leertaste, 93
Automatisch,
Assoziationen anzeigen, 174
Automatisch generieren,
Antwortnachricht, 257
Automatischer,
Hyperlink, 100
B
Ball and socket,
Interface notation, 285
Bank,
Beispieldateien, 106
Basis,
Klasse, 32
Basisklasse,
abgeleitete einfügen, 98
© 2016 Altova GmbH
Index
Basisklasse,
überschreiben, 285
Batch, 114
Batchverarbeitung, 114
new / load / save, 114
Verarbeitung, 110
vollständiger Batch-Modus, 114
Bearbeiten, 416
Bearbeitungen rückgängig machen, 370
Befehl, 114, 434
aus Menü löschen, 434
Kontextmenü, 434
Menü zurücksetzen, 434
Zeile - new / load / save, 114
Zeilenverarbeitung, 114
Befehle,
zur Symbolleiste/zum Menü hinzufügen, 430
Befehlszeile,
Verarbeitung, 110
Beispiele,
Beispieldateien, 106
Ordner Tutorial, 10
Benutzer,
examples Ordner für mehrere Benutzer, 10
Benutzerdefinierte,
SPL-Vorlagen, 137
Stereotypstile, 320
Benutzerdefinierter,
Akteur, 16
Benutzerdefiniertes,
Stereotypsymbol, 321
Benutzeroberfläche, 68
Bereich,
einzelne/mehrere erweitern, 285
Bezeichnung,
IDs und UUIDs, 342
Beziehung,
alle anzeigen - Hierarchie (Register), 83
Modellbeziehungen anzeigen, 89, 177
Beziehungen,
Element, 174
Verwendung von Ziehpunkten, 179
Binärdateien, 131
C# und Java importieren, 131
Unterstützung von "obfuscated" Binärdateien, 131
Bitmap,
Elemente speichern, 416
Borland,
© 2016 Altova GmbH
491
bsdj-Projektdatei, 419
Breite,
Linienbreite, 89
bsdj,
Borland-Projekt, 419
C
C#,
Binärdatei importieren, 131
Code, 450
Code in Modell - Entsprechungen, 147
Importeinstellungen, 126
C++,
Code, 450
Call-Nachricht,
gehe zu Operation, 257
Cascading,
Styles, 80
Class,
syntax coloring, 291
Classifier,
einschränken, 165
neu, 140
umbenennen, 140
Code, 52, 142
Code zu Sequenzdiagramm hinzufügen, 271
generieren - Mindestvoraussetzungen, 144
Java-Code und Klassendateinamen, 142
mehrere Sequenzdiagramm anhand von Code generieren, 266
Refactoring, 142
Round Trip Engineering, 52
Sequenzdiagramm generieren, 263
SPL, 451
Standard, 437
Synchronisierung, 137
von Sequenzdiagramm generieren, 268
Voraussetzungen, 52
Zielverzeichnis, 52
Code - C#,
in UModel Elemente, 147
Code - VB.NET,
to UModel elements, 149
Code - XML-Schema,
auf UModel Elemente, 148
Code Engineering, 52, 59
492
Code Engineering, 52, 59
Assoziationen anzeigen, 59
Importverzeichnis, 59
Komponentenrealisierungen generieren, 140
Mini-Projekt, 121
Projektdatei in neuen Ordner verschieben, 118
Code Generator, 450
Codegenerierung,
Namespace als Verzeichnis verwenden, 52
Color,
syntax coloring - enable/disable, 291
Combined Fragment, 253
Constraint, 69
in Diagramm hinzufügen, 69
mehreren Elementen zuweisen, 69
Content Model,
des XML-Schemas, 334
Copyright-Informationen, 468
CR/LF,
für ump-Datei beim Speichern, 118
csproj - csdproj,
MS Visual Studio .Net, 419
D
Datei, 411
new / load / save - Batch, 114
Projektdateien zusammenführen, 153
Tutorial-Beispiel, 10
ump, 118
von URL öffnen, 411
Datei abrufen,
Versionskontrolle, 365
Datei holen,
Versionskontrolle, 364
Dateien,
Beispieldateien, 106
Datentype,
in Schema definieren, 334
Datentypen,
hinzufügen - Autokomplettierung, 93
Deaktiviere Versionskontrolle, 363
Definierte,
Symbole - Code importieren, 126
Deployment,
Diagramm, 48
Index
Symbole, 398
Deployment-Diagramm, 304
Diagram,
- Use Case-Diagramm, 239
Diagramm, 266, 285, 306
- Aktivitätsdiagramm, 196
- Interaktionsübersichtsdiagramm, 244
- Klassendiagramm, 285
- Profil, 312
Aktivität zu Transition hinzufügen, 212
alle bis auf das aktive schließen, 89
als png speichern, 411
Code von Sequenzdiagramm generieren, 268
Code zu Sequenzdiagramm hinzufügen, 271
Deployment-Diagramm, 304
Diagrammüberschrift anzeigen, 93
Eigenschaften, 89
Elemente als Bitmap speichern, 416
Elemente aus inkludierten Dateien igrnoieren, 437
Elemente durch Constraint einschränken, 69
Größe anpassen, 89
Hyperlink, 100
Kommunikationsdiagramm, 240
Komponentendiagramm, 303
Kompositionsstrukturdiagramm, 300
Linienbreite, 89
mehrere Klasseninstanzen, 285
mehrere Sequenzdiagramm anhand eines Diagramms
generieren, 266
nur in Diagramm einfügen, 95
Objektdiagramm, 305
offene Diagramme mit Projekt speichern, 437
öffnen, 74
Paket und Diagramm freigeben, 161
Paketabhängigkeiten erstellen, 306
Paktediagramm, 306
Quellcodekommentare anzeigen, 89
Sequenzdiagramm, 249
Sequenzdiagramm anhand von Getter / Setter generieren, 266
Sequenzdiagramm generieren, 263
Stile, 80
Symbole, 392
XML-Schema, 327
XML-Schema - Import, 328
Zeitverlaufsdiagramm, 275
Zusätzliches - XML-Schema, 326
Zustandsdiagramm, 211
Diagramme, 194
© 2016 Altova GmbH
Index
Diagramme, 194
Strukturdiagramme, 284
Verhaltensdiagramme, 195
Diagrammfenster, 89
Diagramm-Struktur, 74
Dokument,
Hyperlink zu, 100
Dokumentation, 184
Annotation, 86
relative Links, 184
UML-Projekt generieren, 184
Dokumentation (Register), 86
Download Versionskontroll-Projekt, 360
Drag and Drop,
rechte Maustaste, 98
Drag-and-Drop,
Assoziation mit Ziehpunkten erstellen, 179
Druckaufbereitung,
XMI-Ausgabe, 342
Drucken,
Druckvorschau, 411
Duchsuchen von Registern, 68
Durch Constraint einschränken,
Element, 69
E
Eigenschaft,
als Assoziation anzeigen, 89, 177
als Lebenslinie typisiert, 251
typisierte - anzeigen, 169
wiederverwenden, 32
Eigenschaften, 78
hinzufügen, 25
Versionskontrolle, 380
Eigenschaftswert,
Standardwert, 318
Eigenschaftswerte,
anzeigen, 328
Attribute ein-/ausblenden, 314
Definitionen, 312
Ein-/ausblenden,
Attribute, Operationen, 285
Ein-/Ausschalten,
Kompaktmodus, 328
Einblenden,
© 2016 Altova GmbH
493
ausblenden - Eigenschaftswerte / Attribute, 314
ausblenden - Slot, 285
Einchecken, 369
Einfügen, 197
Aktion (Aufrufoperation), 197
Aktion (Aufrufverhalten), 197
einfachen Zustand, 212
Element in Diagramm, 95
Elemente, 98
Interaktionsübersichtselemente, 245
Kompositionsstrukturelemente, 300
mit..., 98
nur in Diagramm, 95
Paketdiagrammelemente, 307
Zeitverlaufsdiagrammelemente, 276
Einführung, 6
Einschränken,
Classifier, 165
Elemente durch Constraint einschränken, 69
Einschränkung,
Syntaxüberprüfung, 419
Einstelllungen,
Synchronisierung, 137
Einstellungen,
Versionskontrolle, 437
Eintrittspunkt,
zu Unterautomat hinzufügen, 219
Einzelmodus,
Autokomplettierung, 93
Element, 69
Assoziationen beim Importieren, 59
ausgewählte als Bitmap speichern, 416
ausrichten, 93
ausschneiden, kopieren, einfügen, 95
Beziehungen, 174
Constraint zuweisen, 69
Dokumentation generieren, 184
durch Constraint einschränken, 69
Eigenschaften, 78
einfügen, 98
Hierarchie anzeigen, 83
Hyperlink zu Element erstellen, 100
Stile, 80
zu Favoriten hinzufügen, 76
Elemente,
aus Include-Dateien ignorieren, 437
Zustandsdiagramm einfügen, 212
Endbenutzer-Lizenzvereinbarung, 468, 473
494
Entfernen,
aus Favoriten, 76
Enumeration,
Standardwert, 318
und Stereotype, 318
Erstellen,
getter / setter Methoden, 285
XML-Schema, 337
Erweitern,
alle Klassenbereiche, 285
Pakete reduzieren, 69
Erweiterung,
XMI, 342
Evaluierungszeitraum,
bei Altova Software-Produkten, 472
für Altova-Software-Produkte, 469
von Altova Software-Produkten, 468
Export,
als XMI, 342
Extras, 428
Optionen, 437
Zum Menü 'Extras' hinzufügen, 431
F
Farbe,
transparenter Hintergrund, 321
Favoriten, 76
Fehlende Elemente,
auflisten, 69
Fehler,
Meldungen, 88
Syntaxüberprüfung, 52
Fenster, 443
Standardeinstellungen wiederherstellen, 428
Fensterbereich "Meldungen", 88
Filtertypen,
Autokomplettierungsfenster, 93
Format,
Autokomplettierungsfenster, 93
benutzerdefiniertes Stereotypformat, 320
Forward,
Engineering, 144
Freigeben,
aus Versionskontrolle, 375
Paket und Diagramm, 161
Index
G
Gate,
Sequenzdiagramm, 256
Gehe zu,
Lebenslinie, 251
Generalisieren,
spezialisieren, 32
Generics,
Unterstützung für Java und C#, 165
Generieren,
Antwortnachricht automatisch generieren, 257
Code von Schema, 450
Komponentenrealisierungen automatisch generieren, 140
mehrere Sequenzdiagramm anhand von Code generieren, 266
Sequenzdiagramm anhand von Code, 263
Sequenzdiagramm von Kommunikationsdiagramm, 240
UML-Projektdokumentation, 184
XML-Schema, 337
Geschwindigkeit,
Verbesserung, 171
Get,
getter / setter Methoden, 285
Getter / Setter,
Sequenzdiagramm anhand von Getter / Setter generieren, 266
Grafische Ansicht,
einzige Gruppe von Beziehungen, 83
Größe,
Diagrammfenster, 89
H
Hierarchie,
alle Beziehungen anzeigen, 83
Hierarchiediagramm,
In Dokumentation angezeigte Ebenen, 184
Hilfe, 444
Hilfslinie,
beim Ziehen mit der Maus, 437
Hintergrund,
transparente Farbe, 321
Hinzufügen, 16, 371
Diagramm zu Paket, 16
© 2016 Altova GmbH
Index
Hinzufügen, 16, 371
Einfügen - Löschen aus der Modell-Struktur, 69
Modell-Link, 100
neues Projekt, 118
Paket zu Projekt, 16
Projekt in Versionskontrolle, 371
verschieben - löschen - Diagramm, 89
Versionskontrolle, 371
zu Favoriten, 76
Höhe angleichen,
Höhe - Breite - Größe, 93
Hyperlink, 100
automatischer, 100
I
ID,
IDs und UUIDs, 342
Ignorieren,
Elemente in Liste, 437
Operationsnamen, 263
Verzeichnisse, 437
Import, 59
Assoziationselemente, 59
C#-Projekt, 126
Quellprojekt, 59
Verzeichnis, 59
XMI-Datei, 342
XML-Schema, 328
Importieren, 126
Binärdateien, 131
Projekt, 126
Quellcode, 126
relativ zur UMP-Datei, 126
von UModel generierte XMI-Datei, 342
Inkludieren, 161
.NET Framework, 151
Abhängigkeit, 16
Paket und Diagramm freigeben, 161
Status - ändern, 161
UModel Projekt, 151
Unterprojekt wieder in Hauptprojekt inkludieren, 347
Installation,
Ordner examples, 10
Installer,
mehrere Benutzer, 10
© 2016 Altova GmbH
495
Instanz, 37
Diagramm, 37
mehrere Klassen, Anzeige, 285
Objekt, 37
Integrieren,
Unterprojekte in Hauptprojekt inkludieren, 347
Intelligentes,
Autokomplettieren, 25
Interaction Use, 256
Interaktinosoperand, 253
Interaktionsoperand,
mehrzeiliger, 253
Interaktionsoperator,
definieren, 253
Interaktionsübersicht,
Elemente einfügen, 245
Interaktionsübersichtsdiagramm, 244
Symbole, 399
Interface,
ball and socket, 285
J
Java,
Ausnahmeereignis, 126
Binärdatei importieren, 131
Code, 450
Code und Klassendateinamen, 142
Namespace Root, 144
unterstützte Versionen, 59
JavaDocs, 86
K
Katalog,
Datei - XMLSpy Katalogdatei, 437
Klasse, 121, 285
abgeleitete, 32
abgeleitete Klassen einfügen, 98
abstrakte und konkrete, 25
Assoziationen, 25
Autokomplettierungsfenster aktivieren, 437
ball and socket interface, 285
Basis, 32
496
Klasse, 121, 285
Basisklasse überschreiben, 285
Eigenschaften hinzufügen, 25
erweitern, Bereiche reduzieren, 285
in Komponentendiagramm, 43
in Namespace erstellen, 121
in Namespace generieren, 121
mehrere Instanzen in einem Diagramm, 285
Namensänderungen - Synchronisierung, 142
Operation - überschreiben, 285
Operationen hinzufügen, 25
Symbole, 394
Synchronisierung, 137
Klassendiagramm, 285
neues hinzufügen, 25
Klassennamen ändern,
Auswirkung auf Codedateinamen, 142
Knoten,
Stile, 80
Kollaboration,
Kompositionsstrukturdiagramm, 300
Kommentare,
Dokumentation, 86
Quellcodekommentare im Diagramm anzeigen, 89
Kommunikationsdiagramm, 240
Symbole, 395
von Sequenzdiagramm generieren, 240
Kompakt,
Modus - ein-/ausschalten, 328
Kompatibilität,
Projekte aktualisieren, 137
Komponente, 43
Diagramm, 43
Klasse einfügen, 43
Realisierung, 43
Symbole, 397
Komponentendiagramm, 303
Komponentenrealisierung,
automatische Generierung, 140
Komposition,
Assoziation - erstellen, 25
Kompositionsstruktur,
Elemente einfügen, 300
Kompositionsstrukturdiagramm, 300
Symbole, 396
Konkrete,
Klasse, 25
Kontextmenü,
Index
Befehle, 434
Kopieren,
einfügen in Diagramm, Modell-Struktur, 95
L
Label,
Textlaben ein-/ausblenden, 89, 177
Layout, 426
Lebenslinie,
allgemeiner Wert, 276
Attribute, 251
Eigenschaft vom Typ Lebenslinie, 251
Gehe zu, 251
Linie,
orthogonal, 43
Linien,
formatieren, 37
Hilfslinien, 437
Stärke/Dicke in Diagrammen, 89
Link, 100
Hyperlink erstellen, 100
Model-Strukturelement, 100
Links,
relativ zur Dokumentation, 184
Lizenz, 473
Informationen, 468
Lizenzüberwachung,
bei Altova-Produkten, 470
Lokale Dateien,
absolute oder relative Links, 184
Lokales Projekt, 360
Löschen,
aus Favoriten, 76
Befehl aus der Symbolleiste löschen, 430
Befehl aus Kontextmenü, 434
Klassenbeziehung, 174
Symbol aus der Symbolleiste, 430
Symbolleiste, 430
Tastaturkürzel, 434
M
Mail,
© 2016 Altova GmbH
Index
Mail,
Projekt senden, 411
Manifest,
Artekfakt, 48
Mappen,
C# in/von Modellelementen, 147
Mapping,
VB.NET to/from model elements, 149
XML-Schema von/auf Modellelemente, 148
Maus,
kopieren, einfügen, 95
Mehrere Benutzer,
Ordner examples, 10
Mehrere Elemente,
Stilanzeige, 80
Mehrfachmodus,
Autokomplettierung, 93
Mehrzeilig,
Use Case, 16
Mehrzeiliger,
Akteurtext, 16
Interaktionsoperand, 253
Meine Dokumente,
Beispieldateien, 10
Member End,
Stereotyp, 314
MemberEnd,
Assoziation, 174
Menü, 434
Anpassen, 434
Ansicht, 427
bearbeiten, 416
Befehl hinzufügen/löschen, 430
Befehle daraus löschen, 434
Datei, 411
Extras, 428
Fenster, 443
Hilfe, 444
Layout, 426
Menü hinzufügen, 431
Projekt, 419
Standardmenü/XMLSPY, 434
Merge,
in Aktivität erstellen, 199
Mergen,
Code aus dem Modell, 52
Metadaten,
XMI-Ausgabe, 342
© 2016 Altova GmbH
497
Methode, 266
Ausnahmeereignis hinzufügen, 285
mehrere Sequenzdiagramm generieren, 266
Sequenzdiagramm anhand von Getter / Setter generieren, 266
Sequenzdiagramm generieren, 263
Methoden,
getter / setter, 285
Mindestvoraussetzungen,
Bedingungen für die Codegenerierung, 144
Miniprojekt,
Code Engineering, 121
Modell,
Klassennamen ändern - Auswirkung in Java, 142
Link, hinzufügen, 100
Modell von Code,
Assoziationen anzeigen, 59
Modellieren,
Performance verbessern, 171
Modell-Struktur, 69
Attribut auswählen, 78
Fensterbereich, 69
Hyperlink zu Element erstellen, 100
Pakete öffnen, 69
MS Visual Studio .Net,
csproj - csdproj-Projektdatei, 419
N
Nachricht, 257
Aufruf, 257
einfügen, 257
gehe zu Operation, 257
nummerieren, 257
Objekt erstellen, 257
Pfeile, 257
verschieben, 257
Zeitverlaufsdiagramm, 282
Nachrichtenpfeile verschieben, 257
Name,
Regionsnamen - ein- /ausblenden, 219
Namespace,
erstellen - Code Engineering, 121
Java Namespace Root, 144
Verwendung für Codegenerierung, 52
Native Oberfläche ausführen, 382
Navigieren,
498
Navigieren,
Hyperlink, 100
Neu,
Classifier, 140
Neue Zeile,
in Lebenslinie, 240
Interaktionsoperand, 253
Nicht verwendete Elemente,
auflisten, 69
Node,
Artefakt hinzufügen, 48
hinzufügen, 48
Nummerieren,
Nachrichten, 257
O
Objekt, 37
Diagramm, 37
Nachricht erstellen, 257
Symbole, 400
Verknüpfungen - Assoziationen, 37
Objektdiagramm, 305
Öffnen,
Diagramm, 74
Pakete in der Baumstrukturansicht, 69
Projekt-Versionskontrolle, 360
URL, 411
Operand,
Interaktion, 253
Operation, 285
Ausnahmeereignis, 126
Autokomplettierungsfenster, 437
automatisch zu Aktivität hinzufügen, 212
beim Generieren von Sequenzdiagrammen ignorieren, 263
coloring, 291
ein-/ausblenden, 285
gehe zu von Call-Nachricht, 257
überschreiben, 285
Vorlage, 169
wiederverwenden, 32
Operation automatisch hinzufügen, 212
Operationen,
hinzufügen, 25
Operator,
Interaktion, 253
Index
Optionen,
Extras, 437
Projekt, 170
Versionskontrolle, 437
Ordner,
in Versionskontrolle abrufen, 366
Ordner examples, 10
Ordner abrufen,
Versionskontrolle, 366
Orthogonale,
Linie, 43
Orthogonaler,
Zustand, 219
OwnedEnd,
Assoziation, 174
Ownership,
Punkt, 179
P
Paket,
als Namespace-Paket erstellen, 121
erweitern/reduzieren, 69
freigeben, 161
Profil, 314
Paketdiagramm, 306
Abhängigkeiten erstellen, 306
Elemente einfügen, 307
Symbole, 401
Paketmerge, 307
Pakteimport, 307
Parameter,
Batch, 110
Vorlage, 169
Performance,
Verbesserung, 171
Pfad,
Import relativ zur UMP-Datei, 126
Namespace in Code verwenden, 52
Ordner examples, 10
Projekt verschieben, 118
Projektordner ändern, 118
SPL-Vorlagenpfad, 453
PNG,
Diagramm speichern, 411
Pretty Print,
© 2016 Altova GmbH
Index
Pretty Print,
Projekt mit Pretty Print speichern, 118
Profil, 312
- Diagramm, 312
Diagramm, 312
Stereotype, 314
Zuweisung, 312
Projekt, 419
2-Weg-Zusammenführung, 154
3-Weg-Zusammenführung, 155, 158
Arbeitsablauf, 118
Datei - aktualisieren, 137
Dokumentation generieren, 184
entfernen aus Versionskontrolle, 374
erstellen, 118
Hinzufügen in Versionskontrolle, 371
importieren, 126
letzten beim Starten öffnen, 437
Namespace-Paket erstellen, 121
offene Diagramme speichern, 437
Optionen, 170
Paket einfügen, 118
per E-Mail senden, 411
speichern - Pretty Print, 118
Standardcode, 437
Stile, 80
Syntaxüberprüfung, 419
UModel Projekt inkludieren, 151
Unterprojekte erstellen, 347
verschieben, 118
zusammenführen, 153
Projekt öffnen,
Versionskontrolle, 360
Projektdateien,
Borland - MS Visual Studio .Net, 419
Projektzusammenführung,
2-Weg, 154
3-Weg, 155, 158
Property,
coloring, 291
Provider,
auswählen, 360
Punkt,
Ownership, 179
© 2016 Altova GmbH
499
Q
Qualifier,
Assoziation, 174
Quellcode,
importieren, 126
Quelle,
Codekommentare - im Diagramm anzeigen, 89
R
Rahmen,
UML-Diagrammüberschrift anzeigen, 93
Raster,
Elemente an Hilfslinien ausrichten, 16
Hilfslinien, 437
Raster anzeigen, 89
Realisierung,
Komponente, 43
Komponentenrealisierungen generieren, 140
Rechtliches, 468
Rechts ziehen, 98
Reduzieren,
Klassenbereiche, 285
Refactoring,
Klassennamen - Synchronisierung, 142
Referenz, 410
referenzierte Klasse anzeigen, 89
Region,
zu zusammengesetztem Zustand hinzufügen, 219
Regionsname,
ein- / ausblenden, 219
Relativ,
Dateien importieren/speichern, 126
Relative,
Links, 184
Rolle,
Assoziation, 174
Root,
Java Namespace, 144
Katalog - XMLSpy, 437
Paket/Klasse synchronisieren, 137
Round Trip, 52
500
Round Trip, 52
Code - Modell -Code, 59
Engineering, 52
Modell - Code - Modell, 52
S
SC,
syntax coloring, 291
Schaltflächen,
Sichtbarkeitsschaltflächen, 285
Schema,
Code Generator, 450
Datentype - definieren, 334
XML-Schema, 327
XML-Schema - Import, 328
XML-Schema erstellen, 337
Schließen,
alle Diagramme bis auf das aktive, 89
Schnittstelle,
implementieren, 285
Seite,
Umbruch verhindern, 411
Senden per E-Mail,
Projekt, 411
Sequenz,
Symbole, 404
Sequenzdiagramm, 249
Code generieren, 268
Code hinzufügen, 271
Combined Fragment, 253
Elemente einfügen, 250
Gate, 256
Interaction Use, 256
Lebenslinie, 251
Nachrichten, 257
von Kommunikationsdiagarmm generieren, 240
zu ignorierende Operationsnamen, 263
Zustandsinvariante, 257
Set,
getter / setter Methoden, 285
Setter / Getter,
Sequenzdiagramm generieren, 266
Shortcut, 434
Show,
tagged values, 331
Index
Sichtbarkeit,
Schaltflächen - auswählen, 285
Signatur,
Vorlage, 165, 167
Slot,
ein-/ausblenden, 285
Software-Produktlizenz, 473
Sortieren,
Diagramm, 74
Elemente in der Modell-Struktur, 69
Speichern,
Diagramm als Bild speichern, 411
Elemente als Bitmap, 416
Unterprojektdateien, 347
Spezialisieren,
generalisieren, 32
SPL, 451
benutzerdefinierte, 137
Codeblöcke, 452
foreach, 462
SPL-Vorlagen,
Vorlagenpfad, 453
Standard,
Pfad - Ordner examples, 10
Projektcode, 437
SPL-Vorlagen, 137
Standardmenü,
Menü, 434
Standardwert,
Eigenschaftswert, 314
Start,
UModel, 12
Starten,
mit letzten Projekt, 437
Status aktualisieren,
Versionskontrolle, 381
Stereotyp,
Attribute - definieren, 314
benutzerdefinierte Stile, 320
benutzerdefiniertes Symbol, 321
Member End, 314
Profile, 314
Standardeigenschaftswert, 318
und Enumeration, 318
zuweisen, 314
Stereotype,
Definition, 312
Stil,
© 2016 Altova GmbH
Index
Stil,
benutzerdefinierte Stereotypstile, 320
Stile,
cascading Styles, Vorrang, 80
mehrere Auswahlen, 80
Stile (Register), 80
Strg+Leertaste,
Autokomplettierung auf Wunsch, 93
Strukturdiagramme,
Diagramme, 284
Suchen, 69
Modellierungselemente, 69, 416
nicht verwendete Elemente, 69
Register durchsuchen, 68
Symbol, 398
Aktivitätsdiagramm, 393
benutzerdefiniertes Stereotypsymbol, 321
Deployment, 398
groß anzeigen, 435
Klasse, 394
Komponente, 397
Objekt, 400
Sequenz, 404
Verteilung, 398
zur Symbolleiste/zum Menü hinzufügen, 430
Symbole,
definierte - Code importieren, 126
Interaktionsübersichtsdiagramm, 399
Kommunikationsdiagramm, 395
Kompositionsstrukturdiagramm, 396
Paketdiagramm, 401
Use Case, 407
XML-Schemadiagramm, 408
Zeitverlaufsdiagramm, 406
Zustandsdiagramm, 405
Symbolleiste,
aktivieren/deaktivieren, 430
Befehl hinzufügen, 430
große Symbole anzeigen, 435
neue erstellen, 430
Standardeinstellungen wiederherstellen, 428
Symbolleiste & Menübefehle zurücksetzen, 430
Synchronisieren,
Code aus dem Modell übernehmen, 52
mit neuem Ordner, 118
Modell von Code mergen, 59
Root/Paket/Klasse, 137
Synchronisierung, 142
© 2016 Altova GmbH
501
Änderung von Klassennamen, 142
Einstellungen, 137
Klasse und Codedateinamen, 142
Syntax, 52
Batch-Datei, 110
Fehler - Warnungen, 52
Projektsyntax überprüfen, 419
überprüfen, 52
Überprüfung - Meldungen, 88
Syntax coloring, 291
T
Tagged values,
show, 331
Tastaturkürzel,
in Tooltipp anzeigen, 435
zuweisen/löschen, 434
Teamwork,
Unterstützung - Unterprojekte, 346
Teilweise Dokumentation,
generieren, 184
Textlabels,
ein-/ausblenden, 89, 177
Tick-Symbol,
Zeitverlaufsdiagramm, 279
Tooltipp, 435
anzeigen, 435
Tastaturkürzel anzeigen, 435
Transition, 212
Aktivitätsdiagramm hinzufügen, 212
Trigger definieren, 212
zwischen Zuständen definieren, 212
transparent,
Hintergrundfarbe, 321
Trigger,
Transitions-Trigger definieren, 212
Tutorial, 10
Beispieldateien, 10
Ordner examples, 10
Ziele, 10
Typ,
Eigenschaft - anzeigen, 169
Typen,
und Autokomplettierung, 93
Typisieren,
502
Typisieren,
Eigenschaft - als Lebenslinie, 251
U
Überführen,
Code in Modell, 419
Modell in Code, 419
Überprüfen,
Projektsyntax, 419
Überschreiben,
Code aus Modell, 419
Klassenoperationen, 285
Modell aus Code, 419
Überschrift,
UML-Diagrammüberschrift anzeigen, 93
Übersicht (Fensterbereich), 86
Umbenennen,
Classifier, 140
Umbruch,
Umbruch verhindern, 411
UML,
Diagramm - freigeben, 161
Diagramme, 194
Diagrammüberschrift - anzeigen, 93
Sichtbarkeitsschaltflächen, 285
Variablen, 453
Vorlagen, 165
UModel,
auf XML-Schema-Code, 148
generierte XMI-Datei importieren, 342
in C# Code, 147
starten, 12
to VB.NET code, 149
UModel Diagrammsymbole, 392
UModel Einführung, 6
UMP,
Dateierweiterung, 118
Projektverzeichnis ändern, 118
Unleserlich gemacht,
Unterstützung unleserlich gemachter Binärdateien, 131
Unterautomatenzustand,
neuen Eintrtts-/Austrittspunkt hinzufügen, 219
Unterklasse,
in Diagramm einfügen, 98
Unterprojekt, 347
Index
erstellen, 347
öffnen / bearbeiten, 347
und Versionskontrolle, 346
Unterprojektdateien speichern, 347
Unterprojekte,
Unterstützung für die Arbeit im Team, 346
Unterschiede anzeigen, 378
URL,
Datei über URL öffnen, 411
Use Case, 16
Assoziation, 16
Bereiche, 16
hinzufügen, 16
mehrzeilig, 16
Symbole, 407
Use Case diagram, 239
UUID,
Universal Unique Identifiers, 342
V
value,
tagged, show, 331
Variablen,
externe Tool-Argumente, 431
UML, 453
VB.NET,
code to model correspondence, 149
Verbessern,
Performance, 171
Verhaltensdiagramme, 195
Verlauf,
anzeigen, 376
Verlauf anzeigen, 376
Verschieben,
Projekt, 118
Versionsdateien vergleichen, 378
Versionskontrolle,
aktivieren /deaktivieren, 363
aktuellste Version holen, 364
auschecken, 367
Auschecken rückgängig, 370
ausgliedern, 374
Befehle, 359
Datei abrufen, 365
Eigenschaften, 380
© 2016 Altova GmbH
Index
Versionskontrolle,
Einchecken, 369
Hinzufügen in Versionskontrolle, 371
installieren eines Versionskontroll-Plug-in, 354
native Oberfläche ausführen, 382
Optionen / Einstellungen, 437
Projekt öffnen, 360
Status aktualisieren, 381
Unterprojekte - Arbeit im Team, 346
Unterschiede anzeigen, 378
Verlauf anzeigen, 376
Versionskontrollsystem wechseln, 383
Verteilung,
Symbole, 398
Vertrieb,
von Altova Produken, 472
von Altova Software-Produkten, 468
von Altova-Software-Produkten, 469
Verwendung,
Abhängigkeit, 43
Vorlage, 168
Verzeichnis, 52
beim Zusammenführen igrnoieren, 437
Code importieren, 126
für Codegenerierung, 52
importieren, 59
Namespace in Pfad verwenden, 52
Ordner examples, 10
Projektverzeichnis ändern, 118
Verzweigung,
in Aktivität erstellen, 199
Vollständiger Batch-Modus, 114
Voraussetzungen,
Forward Engineering, 144
Vorlage,
Signatur, 165, 167
Verwendung, 168
Vorlagen,
benutzerdefinierte SPL, 137
Operation/Parameter, 169
SPL-Vorlagen, 453
W
Waagrecht anordnen, 93
Warnung,
© 2016 Altova GmbH
503
Meldungen, 88
Syntaxküberprüfung, 52
Web,
Hyperlink, 100
Wert,
Eigenschaftsswert, 314
Werte,
Eigenschaftswerte, 312
Eigenschaftswerte anzeigen, 328
Wertverlaufslinie,
Zeitverlaufsdiagramm, 276
Wiederherstellen,
Symbolleisten und Fenster, 428
Wiederverwendung,
von Unterprojekten, 347
X
XMI, 342
Druckaufbereitung für die Ausgabe, 342
Erweiterungen, 342
XML-Schema, 334
Annotation, 328
Diagramm, 327
Entsprechung Code - Modell, 148
erstellen/generieren, 337
XML-Schema - Element einfügen,
Content Model, 334
XML-Schemadiagramm,
Symbole, 408
Z
Zeilenumbruch,
im Akteurtext, 16
Zeitbedingung,
Zeitverlaufsdiagramm, 281
Zeitdauerbedingung,
Zeitverlaufsdiagramm, 280
Zeitlinie,
Zustandsänderungen definieren, 276
Zeitverlaufsdiagramm, 275, 276
auslösendes Ereignis, 280
Elemente einfügen, 276
504
Index
Zeitverlaufsdiagramm, 275, 276
Lebenslinie, 276
Nachricht, 282
Symbole, 406
Tick-Symbol, 279
wechseln zwischen Typen, 276
Wertverlaufslinie, 276
Zeitbedingung, 281
Zeitdauerbedingung, 280
Zeitlinie, 276
Zentrieren,
Elemente, 93
Ziehpunkt,
Beziehung erstellen, 179
Zoomen,
Größe anpassen, 89
Zurücksetzen,
Menübefehle, 434
Symbolleiste & Menübefehle, 430
Tastaturkürzel, 434
Zusammenführen,
Projekte, 153
Verzeichnis ignorieren, 437
Zusammenführung,
2-Weg-Projektzusammenführung, 154
3-Weg-Projektzusammenführung, 155, 158
Zusammengesetzter Zustand,
Region hinzufügen, 219
Zustand, 212
Aktivität hinzufügen, 212
einfachen einfügen, 212
orthogonaler, 219
Transition definieren, 212
Unterautomatenzustand, 219
zusammengesetzter, 219
Zustandsänderungen,
auf einer Zeitlinie definieren, 276
Zustandsdiagramm,
Diagrammelemente, 231
Elemente einfügen, 212
Symbole, 405
zusammengesetzte Zustände - Regionen, 219
Zustände, Aktivitäten, Transitionen, 212
Zustandsdiragramm, 211
Zustandsinvariante, 257
Zuweisen,
Stereotyp, 314
Tastaturkürzel zu einem Befehl, 434
© 2016 Altova GmbH