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