Modellierung und Schnittstelle zu UML

Werbung
Modellierung und Schnittstelle zu UML
Pro-Seminar GIS II
WS 2004/2005
Christoph Römer
Übersicht
•
•
•
•
UML - eine kurze Wiederholung
Motivation: UML in ArcGis
Erstellen von UML-Diagrammen in Visio
Importieren von UML-Diagrammen in ArcGis
Klassen
•
•
•
•
Objekte werden durch Klassen modelliert
Identifizierung über Klassennamen
Eigenschaften der Klassen mit Attributen dargestellt
Methoden greifen auf Attribute zu und liefern Ergebnis
Klassenname
-Attribut1 : Typ1
-Attribut2 : Typ2 = Initalwert
+operation1(parameter : Parametertyp) : Ergebnistyp
Attribute
Punkt
+Länge : Grad
+Breite : Grad
+X : Zahl
+Y : Zahl
+Projektion : Text
+Erfassung : Text = GPS
+Erfassungsdatum : Datum
+transform(Bezugssystem : Text)
Verschiedene Typen
• Text (string..)
• Zahl (integer, float..)
• Boolsche Operatoren
Sichtbarkeit
• nur innerhalb der Klasse
sichtbar (private)
• von außerhalb der Klasse
sichtbar (public)
Beziehungen
Beziehungen zwischen Klassen sind charakterisiert durch:
• Namen
Zweck: Zuordnung der Beziehung
• Multiplizität
Zweck: Quantisierung der Beziehung
Multiplizität
Name
Kante
Grundstück
3..*
begrenzt
2
-Besitzer : Person
+getFläche() : Zahl
+getBesitzer() : Person
Beziehungen
•
Ganzes
•
Teil
•
•
•
GeomFigur
Dreieck
Kreis
Rechteck
Aggregation
Klassen gehen „GanzesTeil“ Beziehung ein
(Bsp.: Klasse Zimmer ist
Teil von Klasse Haus)
Vererbung
GeomFigur ist Oberklasse
Dreieck ist Unterklasse
Unterklasse erbt Attribute
von Oberklasse und fügt
evtl. neue hinzu
UML Diagramme
Mit UML Diagrammen modellieren wir also Ausschnitte
aus der realen Welt, indem wir mit Klassen Objekte und
deren Beziehungen untereinander darstellen
Kurzer Rückblick: Geodatabase
„Eine Geodatabase soll einen Ausschnitt aus der realen
Welt modellieren
Aufgabe: die richtige Zuordnung von Objekten in der
Geodatabase zu Realweltobjekten“
(Jean-Michel Fischer, Domänen-Subtypen-Relationen, ProSeminar GIS II,
2004)
 UML Diagramme und Geodatabases haben gleiche
Zielsetzung
 Wir könnten also eine Geodatabase auch mit einem
UML Diagramm modellieren
Wenn es doch das „gleiche“ ist...
...warum nehmen wir dann UML Diagramme statt einer Geodatabase?
• Geodatabases eignen sich sehr schlecht für Präsentationen, da sie
ArcGis spezifisch sind
• UML Diagramme dagegen werden von einem größeren Publikum
verstanden
• UML Diagramme eignen sich aufgrund ihres simplen Aufbaus sehr
gut, um schnell komplexe Gegebenheiten zu Überblicken und zu
planen
Visio
Um die UML Diagramme in ArcGis einlesen zu können,
benötigen wir ein Programm, mit dem man UML
Diagramme digital erstellen kann
 Visio
Erzeugen von Packages
• Rechtsklick auf Workspace
 New
 Package
• Name eingeben
 OK
• Rechtsklick auf neue Package
 Static Structure Diagramm
Feature Datasets
• Für ArcGis werden
Feature Datasets benötigt
• Doppelklick auf Package
• Feature Datasets unter
Stereotypen auswählen
Erzeugen von Klassen
• Class anklicken
 auf Diagramm ziehen
 Doppelklick auf Klasse
im Diagramm
• Name eingeben
Attribute einfügen
• Kategorie Attributes
auswählen
 New
• Neues Attribut auswählen
 Properties
Attribute editieren
• Namen eingeben
• Type Drop Down Arrow
 zuweisen des
Attributtyps
Tagged Values
Mit Tagged Values werden zusätzliche
Eigenschaften (Properties) verschiedener UML
Elemente (Klassen, Attribute, Assoziationen)
gesetzt.
z.B. mit Length die max. Chars aus denen ein
string field bestehen darf
Tagged Values (Attribute)
• Attribut auswählen
 Properties
• Kategorie Tagged Values
auswählen
 New
• Typ eingeben
• Wert zuweisen
Feature Classes
• UML Navigator
 ESRI Classes
 Feature auswählen und
auf Diagramm ziehen
• Doppelklick zum
Editieren
 siehe Klassen und
Attribute
Feature Classes
• Neue Klasse erzeugen
• Generalization auswählen
und auf Diagramm ziehen
• Enden mit Klassen
verbinden
Subtypes
• Subtypes sind Unterklassen
• Um Subtypes zuzuweisen müssen diese das Attribut
SubtypeField haben, welches später zur Identifizierung
dient
• SubtypeFields müssen vom Typ EsriFieldTypeInteger sein
• Jedes SubtypeField muss eine andere Nummer haben
Subtypes
• ParentClass (Feature
Class) anwählen
• Attribut einfügen
 Properties
• Stereotyp SubtypeField
auswählen
• InitialValue zuweisen
Subtypes
• Feature Class kopieren
• Namen ändern
• InitialValue des
SubtypeFields ändern
Subtypes
• BinaryAssociation
einfügen
• Mit Klassen verbinden
• Stereotype Subtype
auswählen
Methoden einfügen
• Kategorie Operations
auswählen
 New
 Properties
• Namen eingeben
• Wiedergabetyp auswählen
Binary Associations erstellen
• Binary Associations
auswählen und auf
Diagramm ziehen
• Enden mit Klassen
verbinden
• Doppelklick auf B.S.
• Namen eingeben
Binary Association bearbeiten
• Endpunkt auswählen
 Properties
• Namen eingeben
• Multiplizitäten auswählen
oder eingeben
• Rechtsklick auf B.S.
 Shape Display Options
• Anzeigeoptionen
einstellen
Shape Display Options
Legt fest, welche
Parameter im
Diagramm angezeigt
werden sollen
(z.B. Name, Typ der
Verbindung oder
Beschriftung der
Enden ausblenden)
Aggregation und Komposition
• Composition auswählen
und auf Diagramm ziehen
• Enden verknüpfen
• Doppelklick zum editieren
• Endpunkt markieren
 Properties
Aggregation und Komposition
• Aggregation im Drop
Down Menu auswählen
 shared für Aggregation
 composite für
Komposition
Range Domains
Mit Range Domains werden neue Attributstypen
eines Referenztypen erstellt, welche einen
Minimal und einen Maximalwert (Range) haben
Bsp: Es gibt keine negativen Flächen
(Mindestwert 0)
Range Domains
• Rechtsklick auf Template
Range Domain
 Duplicate
 eine neue Klasse wird
als Kopie der Range
Domain erzeugt
• Doppelklick auf neue
Klasse
• Neue Klasse auf
Diagramm ziehen
Range Domains
• Doppelklick auf neue
Klasse
• Name eingeben
• Name wird nachher
benutzt um einem Attribut
eine Range Domain
zuzuweisen
Range Domains
• Kategorie Attribute
auswählen
• FieldType anwählen
 Properties
• Bezugstypen für die
Range Domain auswählen
Range Domains
• Attribute MinValue und
MaxValue markieren
 Properties
• Bei Initial Values Mindest,
bzw. Maximalwert
eingeben
Coded Value Domains
Coded Value Domains haben im Vergleich zu
Range Domains kein Minimum oder Maximum,
sondern eine beliebige Anzahl vordefinierter
Optionen
z.B.: Ist der Kunde Männlich oder Weiblich?
Coded Value Domains
• Wähle Template Coded
Value Domain
 Duplicate
• (Einstellungen siehe
Range Domains)
• Unterschied
 statt MinValue oder
MaxValue Werte der
Attribute Code1 .. Code n
ändern
Geometric Networks
• Rechtsklick auf
TemplateGeometric Network
 Duplicate
• Kopie per drag & drop in der
gewünschten Package ablegen
Wichtig
Geometric Networks
funktionieren nur innerhalb
einer Package (Feature
Datasets)
Geometric Networks
• Neues Geometric Network
auf Diagramm ziehen
• Doppelklick für Optionen
 Namen eingeben
• Geometric Network über
Binary Associations mit
Network Classes
verbinden
Geometric Networks Edge Junction Rule
• Binary Association auf
Diagramm ziehen
• Enden verknüpfen
• Doppelklick für Properties
• Stereotyp Drop Down
Arrow
•  ConnRule wählen
• Restliche Einstellungen
siehe Binary Associations
Geometric Networks Edge Edge Rule
• N Aray Association
markieren und auf
Diagramm ziehen
 Properties
• ConnRule auswählen
• Anzahl der Links
einstellen
• Mit den Shape Display
Options Name und
Stereotyp anzeigen lassen
und Kardinalitäten
verstecken
Visio nach ArcGis
• Speichern als Repository
Files (.mdb)
• UML
 Repository
 Export
• Als .mdb Datei speichern
Schema Wizard
•
•
•
•
ArcCatalog öffnen
 Tools
 Cumstomize
 Commands
• Case Tools auswählen
• Mit drag & drop auf
Toolbar ziehen
Importieren von Visio Dateien
• Feature Dataset
auswählen
 Schema Wizard
• Elemente auswählen
 fertig stellen
Quellenverzeichnis
• Vorlesungsfolien Geoinformation I, Universität Bonn
Prof. Dr. Lutz Plümer, WS 03/04
• Domänen-Subtypen-Relationen,
Jean-Michel Fischer, ProSeminar GIS II, 2004
• Building a Geodatabase,
GIS by ESRI, Kap. 13
Herunterladen