Modellierung und Schnittstelle zu UML Pro-Seminar GIS II WS 2004/2005 Christoph Römer.

Post on 06-Apr-2016

215 views 1 download

Transcript of Modellierung und Schnittstelle zu UML Pro-Seminar GIS II WS 2004/2005 Christoph Römer.

Modellierung und Schnittstelle zu UML

Pro-Seminar GIS IIWS 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

Attribute Verschiedene Typen• Text (string..)• Zahl (integer, float..)• Boolsche Operatoren

Sichtbarkeit• nur innerhalb der Klasse

sichtbar (private)• von außerhalb der Klasse

sichtbar (public)

Punkt

+transform(Bezugssystem : Text)

+Länge : Grad+Breite : Grad+X : Zahl+Y : Zahl+Projektion : Text+Erfassung : Text = GPS+Erfassungsdatum : Datum

Beziehungen Beziehungen zwischen Klassen sind charakterisiert durch:• Namen Zweck: Zuordnung der Beziehung• Multiplizität Zweck: Quantisierung der Beziehung

NameMultiplizität

Beziehungen Aggregation• Klassen gehen „Ganzes-

Teil“ 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

Ganzes

Teil

GeomFigur

Dreieck Kreis Rechteck

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