Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

123456789101112 Geoinformation3 1314151617181920 Geoinformation III Ableitung UML  XML Schema Vorlesung 14.

Ähnliche Präsentationen


Präsentation zum Thema: "123456789101112 Geoinformation3 1314151617181920 Geoinformation III Ableitung UML  XML Schema Vorlesung 14."—  Präsentation transkript:

1 Geoinformation Geoinformation III Ableitung UML  XML Schema Vorlesung 14

2 Geoinformation UML  XML A 1x M L U

3 Geoinformation UML  XML A 1x M L U

4 Geoinformation UML  XML A 1x M L

5 Geoinformation UML  XML A 1x M LX

6 Geoinformation Von UML zu XML (I) Objektorientierte Modellierung von Systemen und Datenstrukturen erfolgt heutzutage zumeist mittels UML-Diagrammen (graphisch) Für den Datenaustausch oder die Speicherung der Anwendungsdateien ist die Verwendung von XML sinnvoll zugrundeliegendes Konzept: Model-driven architecture: Modellierung in UML automatische Ableitung von implementierungsspezifischen Formalismen (Java, Tabellen einer relationalen Datenbank, XML,...) aus UML Probleme: Keine 1:1-Abbildung von UML auf XML-Schema-Strukturen –Abbildung von UML nach XML nicht eindeutig (mehrere Möglichkeiten) –Festlegung auf Abbildungsvarianten sind sog. Entwurfsentscheidungen

7 Geoinformation Von UML zu XML (II) Gegeben: UML-Klassendiagramm Gesucht: XML-Schema zu dem UML-Klassendiagramm Konvertierung durch Regeln für: Klassen mit Stereotyp Enumeration oder CodeList Klassen Klassen mit Oberklasse (Vererbung) Attribute von Klassen Kompositionen Assoziationen/Aggregationen Methoden werden in XML ignoriert

8 Geoinformation Von UML zu XML (III): Vereinfachungen im folgenden werden werden aus Gründen der Übersichtlichkeit folgende Konzepte von XML-Schema nicht berücksichtigt: Namespaces. Der Namespace für Schema-Elemente ist z.B. xs.

9 Geoinformation3 56 Konvertierung von Klassen mit Stereotyp Enumeration oder CodeList.... UMLKLASSENNAME + wert_1 + wert_ wert_n Dachform + Satteldach + Walmdach + Flachdach +Krüppelwalmdach Beispiel:

10 Geoinformation3 567 Konvertierung von Klassen Klassenname + Attribut1:String + Attribut2:String jede Klasse wird zu komplexem Typen (complexType) Attribute der Klasse werden zu Kindelementen dieses komplexen Typs, geklammert durch Zu jedem komplexen Typ (Klasse) muss Element erzeugt werden

11 Geoinformation3 567 Konvertierung von Klassen mit Oberklasse Oberklasse Attribut_Ober:String Unterklasse Attribut_Unter:String

12 Geoinformation3 56 Konvertierung von Klassen mit Oberklasse jede Klasse wird zu komplexem Typen (complexType) Attribute der Klasse werden zu Kindelementen dieses komplexen Typs der komplexe Typ einer Unterklasse erhält einen complex content und darin als extension base den Typ der Oberklasse. Zu jedem komplexen Typ (Klasse) muss Element erzeugt werden Element der Unterklasse erhält eine substitution group mit Element der Oberklasse –wegen Ersetzbarkeit von Elementen der Oberklasse durch Elemente der Unterklasse

13 Geoinformation3 56 Vererbung: Beispiel-XML-Datei Person name:String Student matrikelnr:String Schmitz Schmitz

14 Geoinformation3 56 Mehrfachvererbung UML erlaubt Mehrfachvererbung (eine Klasse hat mehr als eine Oberklasse) XML Schema erlaubt Mehrfachvererbung nicht Wenn Mehrfachvererbung in UML vorliegt: –eine Vererbung auswählen und in XML Schema umsetzen –die andere(n) Vererbungsbeziehungen durch Kopieren von Attributen/Elementen von Ober- zu Unterklasse realisieren –Ein Element kann mehrere substitution groups haben

15 Geoinformation3 56 Konvertierung von Attributen Person + name:CharacterString + alter:integer + maennlich:boolean + groesse: real + adresse:AdressTyp Beispiel:

16 Geoinformation3 56 Konvertierung von Attributen Attribute einer werden zu Kindelementen des Typs der Klasse –geklammert durch Ist Typ des Attributs ein einfacher Datentyp, so wird dieser ersetzt und zum Typ des Kindelements: –CharacterString -> string –Integer -> integer –Boolean -> boolean –Real -> decimal Ist Typ des Attributs eine Klasse, so –wird ein neuer Typ für diese Klasse erzeugt –und zum Typen des Kindelements –Alternative: anonymer Datentyp für Attribut...

17 Geoinformation3 56 Konvertierung von Attributen: Anonyme Typen Person + name:CharacterString + alter:integer + maennlich:boolean + groesse: real + adresse:AdressTyp

18 Geoinformation3 56 Konvertierung von Assoziationen (Aggregationen, Kompositionen) Assoziationen in UML können ungerichtet (beidseitig) sein Assoziationen in XML-Schema sind gerichtet –Ersetzen der ungerichteten durch zwei gerichtete Assoziationen (falls beide notwendig, i. d. R. nur eine Richtung erforderlich)

19 Geoinformation3 56 Konvertierung von Kompositionen Komposition (vgl. GIS I): –Existenz des Teils hängt vom Ganzen ab –jedes Teil gehört zu genau einem Ganzen Beispiel: –Existenz der Linie hängt vom Polygon ab –jede Linie gehört zu genau einem Polygon eine Linie kann nicht von zwei Polygonen benutzt werden (keine Topologie) zu einem Polygon können alle Linien aufgezählt werden (keine Verweise nötig) Ganzes Teil 3..* Polygon Linie besteht AusLinie 1 Beispiel:

20 Geoinformation3 56 Konvertierung von Kompositionen Ganzes Teil 3..* Polygon Linie besteht AusLinie 1 Beispiel:

21 Geoinformation3 56 Konvertierung von Kompositionen jede Klasse wird zu komplexem Typ (wie bisher) Komposition wird zu komplexem Typ –mit Bestandteil (z.B. Linie) mit als Kindelement Ganzes-Klasse erhält Kindelement vom Typ des Kompositions-Typen –Multiplizitäten beachten (minOccurs/maxOccurs) Ganzes Teil 3..* Polygon Linie besteht AusLinie 1

22 Geoinformation3 56 Kompositionen: Beispiel XML-Datei Ganzes Teil 3..* Polygon Linie besteht AusLinie 1

23 Geoinformation3 56 Konvertierung von Aggregationen/Assoziationen Ein Teil/ein Assoziationspartner kann zu mehreren Ganzen/Partner gehören Beispiel: –eine Linie kann zu mehreren Polygonen gehören (Topologie) –nicht möglich, zu einem Polygon alle Linien explizit aufzuzählen Verweise (Links) nötig –Linien brauchen z.B. eine ID (um darauf zu verweisen) –Assoziation bestehtAusLinien muss Verweise auf eine Linie (auf deren ID) verwalten können –Konzept: XLink Ganzes Teil 3..* Polygon Linie besteht AusLinie 0..* Beispiel:

24 Geoinformation3 56 Verwenden des XLink-Schemas für Verweise XLink/XPointer: Ergänzung zu XML Schema Zweck: Verweise zwischen Elementen Verwendet XML-Attribute –für Identifier –für Verweise auf Elemente (Identifier), z.B. xlink:href="#Lin22" Verweise innerhalb einer Datei (xlink:href beginnt mit #) auch Verweise auf Elemente in anderen Dateien möglich (wird hier nicht behandelt)

25 Geoinformation3 56 Konvertierung von Aggregationen/Assoziationen Ganzes Teil 3..* Polygon Linie besteht AusLinien 0..* Beispiel:

26 Geoinformation3 56 Aggregation: Beispiel-XML-Datei Lin21 Lin28 Lin22 Lin26 Lin30 Lin32 Lin34 Lin33

27 Geoinformation3 56 Multiplizitäten von Assoziationen Multiplizitäten können mit minOccurs oder maxOccurs angegeben werden Elemente ohne minOccurs und maxOccurs dürfen genau einmal vorkommen Ganzes Teil 3..* Polygon Linie besteht AusLinien Beispiel:

28 Geoinformation3 56 Übungsaufgabe: XML-Schema für UML-Diagramm 1..* Bauliche Anlage Polygon Gebäude + eigentümer: Eigentümer[1..*] benachbart Gebäudefunktion +Wohnen + Gewerbe +Mischgebiet +Verwaltung Gebäudeteil + funktion: Gebäudefunktion[1..*] + baujahr:integer + höhe: real Eigentümer + Name: CharacterString + Vorname:CharacterString +Alter:integer * 0..*


Herunterladen ppt "123456789101112 Geoinformation3 1314151617181920 Geoinformation III Ableitung UML  XML Schema Vorlesung 14."

Ähnliche Präsentationen


Google-Anzeigen