Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Modellierung mittels UML für die Geoinformatik

Ähnliche Präsentationen


Präsentation zum Thema: "Modellierung mittels UML für die Geoinformatik"—  Präsentation transkript:

1 Modellierung mittels UML für die Geoinformatik
Motivation Modellierung mittels UML für die Geoinformatik Grundlagen Diagramme OCL + XMI ISO 19100 AAA Edward Nash preagro Software

2 1: Motivation Was ist ein Modell, und warum wollen wir modellieren?
Warum brauchen wir eine Modellierungssprache bzw. die UML? Motivation UML für die Geoinformatik

3 Warum wollen/sollen wir modellieren?
Um komplexe Systeme (besser) zu verstehen, müssen sie abstrahiert werden Ein Modell ist eine Vereinfachung der Realität Wir können ein gesamtes komplexes System nicht in dessen Gesamtheit verstehen Durch eine Modellierung werden vier Ziele erreicht: Modelle helfen uns, ein System, wie es ist oder werden soll, zu visualisieren Modelle erlauben es, die Struktur oder das Verhalten eines Systems zu spezifizieren Modelle stellen eine Vorlage als Leitfaden während der Implementierung eines Systems dar Modelle dokumentieren unsere Entscheidungen Quelle: Booch, Rumbaugh & Jacobson, 1999 UML für die Geoinformatik

4 Modelle /1 Modelle werden heute in allen Wissenschaftsgebieten eingesetzt. weit (im deutschsprachigen Raum) akzeptierte allgemeine Modelltheorie wurde 1973 von Herbert Stachowiak vorgeschlagen. Modellbegriff, der darin vorgeschlagen wurde, ist domänenübergreifend anwendbar, also nicht auf ein Anwendungsgebiet festgelegt. Folie: Meike Klettke, Institut für Informatik UML für die Geoinformatik

5 Modelle /2 Nach Stachowiak ist ein Modell durch drei Merkmale gekennzeichnet: Abbildung: Ein Modell ist immer ein Abbild von etwas, eine Repräsentation natürlicher oder künstlicher Originale, die selbst wieder Modelle sein können. Verkürzung: Ein Modell erfasst nicht alle Attribute des Originals, sondern nur diejenigen, die dem Modellschaffer bzw. Modellnutzer relevant erscheinen. Pragmatismus: Pragmatismus bedeutet soviel wie Orientierung am Nützlichen. Die Zuordnung eines Modells zum Original wird durch die Fragen Für wen?, Warum? und Wozu? getroffen. Ein Modell wird vom Modellschaffer bzw. Modellnutzer innerhalb einer bestimmten Zeitspanne und zu einem bestimmten Zweck für ein Original eingesetzt. Das Modell wird somit interpretiert. Folie: Meike Klettke, Institut für Informatik UML für die Geoinformatik

6 Vorteile einer Modellierung
Ein Modell zeichnet sich also durch Abstraktion aus, beinhaltet dadurch die bewusste Vernachlässigung bestimmter Merkmale, um die für den Modellierer oder den Modellierungszweck wesentlichen Modelleigenschaften hervorzuheben. Das hier vorgestellte konzeptionelle Datenmodell enthält keine technischen Details, ist daher einfach handhabbar und für die Kommunikation zwischen Entwicklern und Anwendern geeignet. Folie: Meike Klettke, Institut für Informatik UML für die Geoinformatik

7 Beispiel eines Modells
maßstabgetreues 1:100-Modell des Stephansdoms originalgetreue, detailreiche Modell für blinde und sehbehinderte Menschen Auch Kindern wird es damit erleichtert, die Dimensionen der Kirche zu "begreifen" Folie: Meike Klettke, Institut für Informatik UML für die Geoinformatik

8 Weitere Beispiele für Modelle /1
Folie: Meike Klettke, Institut für Informatik UML für die Geoinformatik

9 Weitere Beispiele für Modelle /2
Folie: Meike Klettke, Institut für Informatik UML für die Geoinformatik

10 Weitere Beispiele für Modelle /3
Quelle: 2.jpg UML für die Geoinformatik

11 Gewünschte Eigenschaften eines Modellierungsverfahrens
Entwurf auf abstraktem Niveau Verstecken von Details Konzentration auf Wesentliches Graphische Repräsentation Iterative Vorgehensweise/ schrittweise Verfeinerung Automatische Ableitung von relationalen Datenbankschemata bzw. konkreten Implementierungen aus dem Entwurf Entwickeln einer universellen Entwurfsmethode — möglichst für verschiedene Zielformate einsetzbar natürliche (für den Anwender nachvollziehbare) Beschreibung keine oder wenig Redundanz formale Angaben der Semantik Folie: Meike Klettke, Institut für Informatik UML für die Geoinformatik

12 Gewünschte Eigenschaften eines Modellierungsverfahrens
Zur Sicherung dieser Eigenschaften sollen an die Entwurfsmethode die folgenden Anforderungen gestellt werden: so einfach wie möglich so komplex wie nötig Diese beiden Punkte fordern entgegengesetzte Eigenschaften, … Folie: Meike Klettke, Institut für Informatik UML für die Geoinformatik

13 Die vier Prinzipien der Modellierung
Die Wahl des Modells beeinflusst, wie man ein Problem in Angriff nimmt und wie eine Lösung gestaltet wird „The choice of what models to create has a profound influence on how a problem is attacked and how a solution is shaped“ Jedes Modell darf mit unterschiedlichen Genauigkeiten ausgedrückt werden „Every model may be expressed at different levels of precision“ Die besten Modelle zeigen einen guten Bezug zur Realität „The best models are connected to reality“ Kein einzelnes Modell ist ausreichend. Jedes nicht-triviale System ist am besten mittels einer kleinen Menge fast-unabhängiger Modelle angenähert „No single model is sufficient. Every nontrivial system is best approached through a small set of nearly independent models“ Quelle: Booch, Rumbaugh & Jacobson, 1999 UML für die Geoinformatik

14 Metamodelle und Meta-Metamodelle
Die Modellierung kann in vier Stufen betrachtet werden Die Objekte bzw. Informationen zu modellieren Das Modell der Objekte bzw. Informationen Ein Modell, mit dem man Modelle spezifiziert Das Metamodell Ein Modell, mit dem man Metamodelle spezifiziert Das Meta-Metamodell Die UML definiert bzw. ist ein Metamodell Quelle: ISO19502 Fig. 6.1 UML für die Geoinformatik

15 Objekt-orientierte Modellierung
Das Grundprinzip der objekt-orientierten (OO) Modellierung ist es, dass alle Entitäten als Objekte modelliert werden Die Eigenschaften eines Objektes werden als Attribute bzw. Attributwerte modelliert Die Summe der Attributwerte eines Objektes definiert seinen Zustand Das Verhalten eines Objektes wird mittels Methoden abgebildet Die Summe aller Methoden eines Objektes definiert seine Schnittstelle Jedes Objekt ist eine Instanz einer Klasse Klassen gruppieren ähnliche Objekte und definieren deren Attribute und Methoden Ein Objekt kann Beziehungen zu anderen Objekten haben UML für die Geoinformatik

16 „OO Quarks“ /1 Armstrong (2006) hat die 8 fundamentalen Konzepte („Quarks“) der OO von 239 Veröffentlichungen abgeleitet: Die Vererbung ermöglicht es, die Daten und das Verhalten einer Klasse in einer anderen Klasse aufzunehmen oder als Basis für eine neue Klasse zu nutzen Ein Objekt ist eine individuelle, identifizierbare konkrete oder abstrakte Einheit, die Daten über sich und eine Schilderung deren Umgang mit den Daten enthält Eine Klasse ist eine Beschreibung der Gestaltung und des Vorgehens, die ein Objekt oder mehrere ähnliche Objekte gemeinsam haben Die Einkapselung ist ein Verfahren, um den Zugang zu den Daten und dem Verhalten einer Klasse oder eines Objektes einzuschränken, in dem ein Objekt der Klasse nur eine begrenzte Menge von Nachrichten empfangen kann UML für die Geoinformatik

17 „OO Quarks“ /2 Eine Methode gibt den Zugang zu einem Objekt, um seine Informationen abzurufen, festzulegen oder zu verarbeiten Der Nachrichtenaustausch ist das Verfahren, in dem ein Objekt Daten an ein anderes Objekt schickt oder einer seiner Methoden aufruft Die Polymorphie ist die Fähigkeit verschiedener Klassen zu einer gleichen Nachricht zu reagieren, wobei jede Klasse die Methode entsprechend für sich implementiert Die Abstraktion ist der Vorgang, Klassen zu entwerfen, um Aspekte der Realität mittels inhärenter Merkmale des Problems zu vereinfachen UML für die Geoinformatik

18 Beispiel einer objekt-orientierten Modellierung
Klasse: Mensch Attribute / Attributwerte: Nachname: Nash Vorname: Edward Geschlecht: männlich Große: 1,95m Augenfarbe: blau Methoden: ansprechen Beziehung 1: Zwischen: Objekt 1 Objekt 2 Vorwärts Beziehung: besitzt Rückwarts Beziehung: Besitzer Objekt 2: Klasse: Auto Attribute / Attributwerte: Hersteller: Renault Modell: Clio Baujahr: 1992 Farbe: rot Hubraum: 1197cm³ Methoden: fahren schieben P UML für die Geoinformatik

19 Warum eine standardisierte Modellierungssprache?
Normalerweise sind mehrere Personen in einem Modellierungsverfahren beteiligt Öfter haben sie unterschiedliches Hintergrundwissen und Ansichten Um eine effektive Kommunikation zu erlauben, wird eine gemeinsame Sprache benötigt Um Ergebnisse zu publizieren, wird ein breit verstandenes Format benötigt Um Kompatibilität zwischen Werkzeugen zu ermöglichen, wird ein Standard benötigt Eine standardisierte Modellierungssprache ermöglicht es, sich auf das tatsächliche Problem zu konzentrieren UML für die Geoinformatik

20 2: UML-Grundlagen Was ist die UML? UML-Grundlagen
UML für die Geoinformatik

21 Die Unified Modeling Language (UML)
Die Unified Modeling Language (dt: „die einheitliche Modellierungssprache“) ist eine normierte offene objekt-orientierte Modellierungssprache aus dem Softwareentwicklungsbereich Sie definiert ein Metamodell und eine graphische Notation für die Modellierung von Funktionalität Strukturen Abläufen und Interaktionen Die UML spezifiziert 9 bzw. 13 Diagrammarten Jedes Diagramm bildet einen Aspekt des Gesamtmodells ab Das Metamodell definiert eine einheitliche Semantik, die für alle Diagrammarten gilt UML für die Geoinformatik

22 Die Geschichte der UML Die UML ist eine Fusion mehrerer älterer Modellierungssprachen Die Stärken der Vorgänger ergänzen einander Unterschiedliche Semantiken sind vereinigt Die frühe Versionen der UML (bis v0.9.1) waren hauptsächlich in einem Unternehmen (Rational Software) entwickelt Booch, Jacobson und Rumbaugh, „die drei Amigos“ UML wird jetzt (seit v1.1) in Rahmen eines internationalen Konsortiums entwickelt Das OMG (Object Management Group) Gegründet in 1989 > 400 Mitglieder aus der Wissenschaft, Wirtschaft (Softwareentwickler und Endbenutzer) und Verwaltung UML wurde als ISO19501:2005 verabschiedet Die aktuelle Version ist UML 2.1.1 UML für die Geoinformatik

23 Die Entwicklung der objekt-orientierten Modellierung
Quelle: Wikipedia / oose.de (Lizenz: GNU FDL) UML für die Geoinformatik

24 Nebenspezifikationen zur UML
Eine standardisierte Sprache, um Bedingungen in einer Programmiersprache-unabhängigen Form zu spezifizieren, ist auch spezifiziert Object Constraint Language (OCL), ein Teil der UML-Norm Ein Meta-Metamodell, um die UML bzw. andere Modellierungssprachen definieren zu können Meta Object Facility (MOF), ISO19502:2005 Ein XML-basiertes Dateiformat für den Austausch von Modellen zwischen Software ist ebenso normiert XML Metadata Interchange (XMI), ISO19503:2005 UML für die Geoinformatik

25 Kritik an der UML Die Entwicklung und Verbreitung von UML ist nicht ohne Kritik gelaufen Am häufigsten wird kritisiert: Der Umfang der Sprache ist sehr groß geworden („language bloat“) Die Semantik ist nicht immer genau bzw. formal definiert Die Nutzung von UML kann einen negativen Einfluss auf die Form der entwickelten Lösung haben UML wird zu oft eingesetzt, auch wenn es nicht die beste Lösung ist bzw. wenn die benötigten Kenntnisse fehlen „Death by UML Fever“ UML für die Geoinformatik

26 Alternative Modellierungsmethoden /1
Für die Datenbankmodellierung wird das Entity-Relationship Modell (ERM - Chen, 1976) oft bevorzugt Bildet die Strukturen und Semantik des relationalen Datenmodells nach Kann nur die statischen Strukturen und keine Verhältnisse abbilden Um Zusammenhänge zwischen Begriffen in einer Wissensdomäne zu definieren bzw. darzustellen kann einen Concept-Map verwendet Nur für informelle Definitionen bzw. für Diskussionen Abbildungen: Wikipedia (Gemeinfrei) UML für die Geoinformatik

27 Alternative Modellierungsmethoden /2
Um eine Ontologie zu definieren existiert eine standardisierte Sprache: OWL (Web Ontology Language), ein Standard des W3C OWL erweitert RDF (Resource Definition Framework) mit Sprachkonstrukten, um Klassen und komplexe Zusammenhänge definieren zu können OWL definiert keine standardisierte graphische Darstellung Software für die Umgang mit OWL ist nicht so weit entwickelt wie für andere Modellierungssprachen Sonstige Methoden Mind Maps, Ursache-Wirkungs-Diagramme, Flussdiagramme, … Class(pp:animal partial restriction(pp:eats someValuesFrom(owl:Thing))) Class(pp:person partial pp:animal) Class(pp:vegetarian complete intersectionOf(pp:animal restriction(pp:eats allValuesFrom(complementOf(pp:animal))) restriction(pp:eats allValuesFrom(complementOf( restriction(pp:part_of someValuesFrom(pp:animal))))))) Quelle: UML für die Geoinformatik

28 3: Die UML-Diagrammarten
Die normierte graphische Notation der UML UML-Diagrammarten UML für die Geoinformatik

29 Die UML-Diagrammarten
9 Diagrammarten in UML 1 Klassendiagramm Class Diagram Zustandsdiagramm State Diagram Aktivitätsdiagramm Activity Diagram Anwendungsfalldiagramm Use-Case Diagram Sequenzdiagramm Sequence Diagram Kollaborationsdiagramm (UML 1) Collaboration Diagram Kommunikationsdiagramm (UML 2) Communication Diagram Objektdiagramm Object Diagram Komponentendiagramm Component Diagram Verteilungsdiagramm Deployment Diagram 4 Zusätzliche Diagrammarten in UML 2 Paketdiagramm Package Diagram Zeitverlaufsdiagramm Timing Diagram Kompositionsstrukturdiagramm Composite Structure Diagram Interaktionsübersichtsdiagramm Interaction Overview Diagram UML für die Geoinformatik

30 Das Klassendiagramm Das Klassendiagramm zeigt die statische Struktur eines Systems Es ist das am häufigsten verwendete Diagramm für die objekt-orientierte Modellierung Ein Klassendiagramm stellt dar: Klassen und deren Attribute Methoden Beziehungen Schnittstellen Kollaborationen Generalisationen Klassendiagramme werden während einer Systemanalyse, -entwurf oder –implementierung eingesetzt UML für die Geoinformatik

31 Anwendungen des Klassendiagrammes
Um das Vokabular eines Systems zu modellieren Definition einer Ontologie bzw. Semantik Definition eines Objekt- bzw. Featurekatalogs Um einfache Kollaborationen zu modellieren Um Klassen bzw. Komponenten und deren Beziehungen zu visualisieren Für die Umsetzung in einer objekt-orientierten Programmiersprache Um ein logisches Datenbankschema zu modellieren Für relationale oder objekt-orientierte Datenbänke Für XML-Schema oder andere Ablage- bzw. Übertragungsformate Quelle: nach Booch, Rumbaugh & Jacobson, 1999 UML für die Geoinformatik

32 Syntax des Klassendiagrammes
Stereotyp Multiplizität Klassenname Beziehung Attribute geschütztes Attribut Methoden Generalisierung Komposition Aggregation # = Rautenzeichen öffentliches Attribut verstecktes Attribut P UML für die Geoinformatik

33 Beispiel eines Klassendiagrammes
Quelle: AAA Modell (AdV, 2006) UML für die Geoinformatik

34 Das Aktivitätsdiagramm
Ein Aktivitätsdiagramm bildet den logischen Ablauf eines Systems ab Vgl.: ein klassisches Flussdiagramm Das Aktivitätsdiagramm eignet sich besonders für die Modellierung von Geschäftsprozessen und Vorgängen Die einzelnen Arbeitsschritte des Gesamtprozesses sind als Aktivitäten dargestellt Wer die Aktivität durchführt, kann auch dargestellt werden Die möglichen Reihenfolgen der Aktivitäten sind mit Pfeilen markiert UML für die Geoinformatik

35 Syntax des Aktivitätsdiagramm
Startzustand Aktivität Kontrollfluss Bedingung Entscheidung Aktive Klasse Aktivitätsname Synchronisation Endzustand P UML für die Geoinformatik

36 Beispiel eines Aktivitätsdiagrammes
UML für die Geoinformatik

37 Das Zustandsdiagramm Ein Zustandsdiagramm bildet eine Zustandsmaschine ab, mit dem Fokus auf die möglichen Zustände des Objektes bzw. der Objekten Ein Aktivitätsdiagramm ist auf die Übergänge bzw. die verursachenden Aktivitäten fokussiert Ein Zustandsdiagramm spezifiziert das Verhalten eines Systems und wie es auf Ereignisse (Übergangsfunktionen) reagiert UML für die Geoinformatik

38 Syntax des Zustandsdiagrammes
Bedingung Anfangszustand Zustand Übergang Endzustand P UML für die Geoinformatik

39 Beispiel eines Zustandsdiagrammes
Quelle: nach Seemann, Wolff von Gudenberg, 2000 UML für die Geoinformatik

40 Das Sequenzdiagramm Das Sequenzdiagramm beschreibt den Ablauf der Kommunikation in einer Gruppe von Objekten Die Bestandteile des Sequenzdiagrammes sind Objekte und deren Lebenslinien Nachrichten Aktivitätszonen Das Sequenzdiagramm stellt den Fokus auf die zeitliche Reihenfolge der Nachrichten und welche Objekte zu einer bestimmten Zeit aktiv sind Das Sequenzdiagramm ermöglicht es, die Interaktionen zwischen Komponenten klar darzustellen UML für die Geoinformatik

41 Syntax des Sequenzdiagrammes
Objektname Klassenname Objekt Objekt erzeugen Botschaften Bedingung Aktives Objekt Objekt zerstören Lebenslinie UML für die Geoinformatik

42 Beispiel eines Sequenzdiagrammes
UML für die Geoinformatik

43 Das Anwendungsfalldiagramm
Anwendungsfalldiagramme stellen die Anforderungen an ein System dar Die erforderliche Funktionalität des Systems kann davon abgeleitet werden Anwendungsfalldiagramme zeigen was ein System macht bzw. machen soll (Anwendungsfälle) wer mit dem System interagiert (Akteure) und was sie damit machen (Rollen) Zusätzliche können Anwendungsfalldiagramme Beziehungen zwischen Anwendungsfällen und zwischen Akteuren abbilden UML für die Geoinformatik

44 Syntax des Anwendungsfalldiagrammes
Akteur Generalisierung Rolle Benutzt Generalisierung " P UML für die Geoinformatik

45 Beispiel eines Anwendungsfalldiagrammes
UML für die Geoinformatik

46 Das Kollaborationsdiagramm
Das Kollaborationsdiagramm ist mit dem Sequenzdiagramm semantisch vergleichbar Das Sequenzdiagramm zeigt den zeitlichen Ablauf der Kollaboration, das Kollaborationsdiagramm den logischen Ablauf Kollaborationsdiagramme sind für komplexe Iterationen und Verzweigung und für parallele Verfahren besser geeignet " UML für die Geoinformatik

47 Das Objektdiagramm Das Objektdiagramm modelliert Objekte und deren Beziehungen zu einem bestimmten Zeitpunkt Es ist praktisch eine Abbildung einer Instanz eines Klassendiagrammes oder ein Schnappschuss eines Interaktionsdiagrammes Die Klassen werden auch manchmal in dem Objektdiagramm gezeigt " UML für die Geoinformatik

48 Das Komponentendiagramm
Das Komponentendiagramm bildet die Struktur eines Systems während der Implementierungsphase ab Es zeigt Abhängigkeiten zwischen Komponenten in dem System und deren Schnittstellen Das Komponentendiagramm ist eine besondere Art Objekt- bzw. Klassendiagramm Anwendungen eines Komponentendiagrammes sind Um Software zu modellieren Um physische Datenbänke zu modellieren Um anpassungsfähige Systeme zu modellieren UML für die Geoinformatik

49 Das Verteilungsdiagramm
Das Verteilungsdiagramm zeigt die Konfiguration eines implementierten Systems Das Verteilungsdiagramm kann als eine Art Objekt- oder Klassendiagramm betrachtet werden Die Fokus liegt auf dem Knoten des Systems Das Verteilungsdiagramm wird am häufigsten verwendet für die Modellierung von eingebetteten Systemen Client-Server Systemen verteilten Systemen UML für die Geoinformatik

50 Das Paketdiagramm (UML 2)
Das Paketdiagramm zeigt die Abhängigkeiten zwischen Paketen in einem System Pakete erlauben eine Modularisierung des Systems, um große Systeme übersichtlicher zu machen Das Paketdiagramm kann als Übersicht eines Klassendiagramms dienen UML für die Geoinformatik

51 Verwendung der Diagrammarten bzw. Symbole
Fast alle Aspekte der UML-Notation sind optional Die Detailstufe hängt von dem Zweck des Diagramms ab siehe Beispiele i.d.R. nutzt eine Analyse weniger Details als eine Implementierungsspezifikation Symbole aus einer Diagrammart werden häufig in anderen Diagrammarten eingesetzt Das Ziel ist es, die Gedanken klar und verständlich ausdrücken zu können; die strenge Einhaltung der Regeln ist dabei nicht so wichtig Allerdings unterstützen Software und Transferformate nur die standardkonforme Nutzung UML für die Geoinformatik

52 Anpassungsmechanismen für die UML
Die UML definiertet Mechanismen, um branchenspezifische Varianten erstellen zu können Die Kernkomponenten können mittels zwei Mechanismen erweitert Stereotypen „Tagged Values“ Die Nutzung den Kernkomponenten kann mittels Profile eingeschränkt Profile werden auch benutzt, um zulässige Stereotypen und Tagged Values zu definieren UML für die Geoinformatik

53 Stereotypen Stereotypen definieren einfache Begriffe, um UML-Elemente und deren Rollen in einem System zu klären Ein Stereotyp ist normalerweise ein Begriff z.b. Actor, Create, Interface, FeatureType Stereotypen können mit allen UML-Elementen verwendet werden Klassen, Beziehungen, Aktivitäten, Nachrichten, Zustände, … Stereotypen werden mit «» in oder in der Nähe des Elements gekennzeichnet Als Alternativ kann ein Piktogramm definiert werden, z.B. für Akteure UML für die Geoinformatik

54 „Tagged Values“ „Tagged Values“ ermöglichen es, Metadaten für Elemente zu definieren Die Metadaten können Informationen enthalten, die für die Umsetzung des Modells erforderlich sind Beispiele aus der GML-Spezifikation: „Tagged Values“ werden i.d.R. nicht in Diagrammen gezeigt Quelle: ISO19136, Table E.2 UML für die Geoinformatik

55 Profile Profile definieren, wie die UML für einen bestimmten Anwendungsbereich zu verwenden ist Welche Elemente zu verwenden bzw. nicht zu verwenden sind Wie die Elemente zu verwenden sind Profile definieren auch die zulässigen Stereotypen und „Tagged Values“ und deren Bedeutungen Die OMG stellt einige Profile zur Verfügung, u.a.: UML Profile for Enterprise Application Integration (EAI) UML Profile for Enterprise Distributed Object Computing (EDOC) UML Profile for Systems Engineering (SysML) Normierte Profile sind auch für die Geodatenmodellierung definiert: ISO/TS19103 Geographic information - Conceptual schema language ISO19136 (GML) Annex E: UML-to-GML application schema encoding rules UML für die Geoinformatik

56 4: Nebenspezifikationen der UML
„Object Constraint Language“ (OCL) „Meta Object Facility“ (MOF) „XML Metadata Interchange“ (XMI) Nebenspezifikationen der UML UML für die Geoinformatik

57 Die „Object Constraint Language“: OCL
Die OCL ermöglicht es, logische Bedingungen in einem Modell einzubetten Um Abläufe in dynamischen Teilen zu spezifizieren Um Datenmodelle genauer spezifizieren zu können Bedingungen sind Ausdrücke, die für eine gültige Instanz des Modells als „Wahr“ evaluiert sein müssen Schleifen, Verzweigung, usw. sind alle unterstützt, um komplexe Bedingungen zu modellieren Die OCL kann auch Eingangswerte für Attribute spezifizieren OCL-Bedingungen sind i.d.R. in einer Anmerkung angezeigt, die mit einem Element verbunden ist Bedingungen können auch Stereotypen haben UML für die Geoinformatik

58 Beispiel: OCL in einem Klassendiagramm
UML für die Geoinformatik

59 Beispiel: OCL in einem Aktivitätsdiagramm
UML für die Geoinformatik

60 Die „Meta Object Facility“: MOF
Die MOF definiert eine „abstrakte Sprache“ für die Definition von Metamodellen Die MOF nutzt ein Objektmodellierungssystem, das im Prinzip eine Untermenge der UML darstellt Die 4 Kernelemente der MOF sind: Klassen, die MOF Metaobjekte modellieren Beziehungen, die binäre Beziehungen zwischen Metaobjekten modellieren Datentype, die andere Daten modellieren („primitive Datentype“, externe Typen, …) Pakete, die Module für die Modelle zu erstellen Die MOF kann selbst mit der MOF modelliert werden! UML für die Geoinformatik

61 „XML Metadata Interchange“: XMI
XMI ist ein XML-basiertes Kodierungsformat für MOF Metamodelle Es wird i.d.R. für UML verwendet, es kann aber auch für alle Metamodelle verwendet, die mit der MOF definierbar sind XMI wurde rasch (weiter)entwickelt Versionen 1.0, 1.1, 1.2, 1.3, 2.0, 2.0.1, 2.1 zwischen 2001 und 2006 Version ist ISO15103:2005 Version 1.2 ist die am breitesten unterstützte Version in der Praxis Jede XMI-Version kann auch mit mehreren MOF- bzw. UML-Versionen verwendet werden z.B. UML 1.3 oder 1.4 mit XMI 1.0, 1.1 oder 1.2 Die Vielfalt an Versionen und Kombinationen ist einen Grund für die fehlende Interoperabilität zwischen UML-Software UML für die Geoinformatik

62 Beispiel: eine einfache XMI-Datei
UML für die Geoinformatik

63 5: UML in der ISO Serie Anwendungsbeispiele aus den ISO-Normen für die Geoinformatik UML in der ISO Serie UML für die Geoinformatik

64 Die ISO 19100-Normen für die Geoinformatik
ISO 19101:2002 Reference model ISO/TS 19103:2005 Conceptual schema language ISO 19105:2000 Conformance and testing ISO 19106:2004 Profiles ISO 19107:2003 Spatial schema ISO 19108:2002 Temporal schema ISO 19108:2002/Cor 1:2006 ISO 19109:2005 Rules for application schema ISO 19110:2005 Methodology for feature cataloguing ISO 19111:2003 Spatial referencing by coordinates ISO 19112:2003 Spatial referencing by geographic identifiers ISO 19113:2002 Quality principles ISO 19114:2003 Quality evaluation procedures ISO 19114:2003/Cor 1:2005 ISO 19115:2003 Metadata ISO 19115:2003/Cor 1:2006 ISO 19116:2004 Positioning services ISO 19117:2005 Portrayal ISO 19118:2005 Encoding ISO 19119:2005 Services ISO/TR 19120:2001 Functional standards ISO/TR 19121:2000 Imagery and gridded data ISO/TR 19122:2004 Qualification and certification of personnel ISO 19123:2005 Schema for coverage geometry and functions ISO :2004 Simple feature access -- Part 1: Common architecture ISO :2004 Simple feature access -- Part 2: SQL option ISO/TS 19127:2005 Geodetic codes and parameters ISO 19128:2005 Web map server interface ISO 19131:2007 Data product specifications ISO 19133:2005 Location-based services -- Tracking and navigation ISO 19134:2007 Location-based services -- Multimodal routing and navigation ISO 19135:2005 Procedures for item registration ISO 19137:2007 Core profile of the spatial schema ISO/TS 19138:2006 Data quality measures ISO/TS 19139:2007 Metadata -- XML schema implementation UML für die Geoinformatik

65 Nutzung der UML in der ISO 19100-Normen
Die UML ist häufig in den ISO Normen verwendet Sie dient als allgemeine graphische Notation für konzeptionelle und konkrete Modelle Ein Profil und Regeln für die Nutzung der UML in der ISO Serie ist in ISO definiert Insbesondere wird das Klassendiagramm sehr oft benutzt, um Begriffe, Zusammenhänge und Datentypen zu definieren Definitionssprache für die Semantik bzw. Ontologie Definitionssprache für das ISO-Metamodell für Geodaten Zusätzlich definiert ISO („GML – Geography Markup Language“) Regeln für UML-GML und GML-UML-Kodierung Basiert auf ISO („Geographic Information – Encoding“) Man modelliert ein Anwendungsgebiet mit UML und implementiert ein Datenformat mit XML bzw. GML In den nächsten Folien werden einige Beispiele gezeigt UML für die Geoinformatik

66 High-level view of the Domain reference model
Quelle: ISO19101, Fig. 5 UML für die Geoinformatik

67 Details of the application schema
Quelle: ISO19101, Fig. 6 UML für die Geoinformatik

68 Example package structure
Quelle: ISO19103, Fig. 25 UML für die Geoinformatik

69 Data types for temporal position
„The Julian day numbering system is a temporal coordinate system that has its origin at noon on 1 January 4713 BC in the Julian proleptic calendar. The Julian day number is an integer value; the Julian date is a decimal value that allows greater resolution.“ Quelle: ISO19108, Fig. 11 UML für die Geoinformatik

70 Attributes of feature types
Quelle: ISO19109, Fig. 6 UML für die Geoinformatik

71 Example of UML implementation of feature types
Quelle: ISO19109, Fig. 11 UML für die Geoinformatik

72 Translucent chaining Quelle: ISO19119, Fig. 6
UML für die Geoinformatik

73 6: UML und das AAA-Modell
Anwendungsbeispiele aus dem AFIS-ALKIS-ATKIS Modell UML und das AAA-Modell UML für die Geoinformatik

74 Das AAA®-Modell Das AAA®-Datenmodell soll dazu dienen, die Grunddatenbestände von ATKIS®, ALKIS® und AFIS® zu einem Grunddatenbestand der Geodaten des amtlichen Vermessungswesens zusammenzuführen. In einem Anwendungsschema, das in der Modellierungssprache UML abgefasst ist, werden alle Inhalte und Beziehungen beschrieben. Es besteht aus dem Basisschema und dem Fachschema. Im Basisschema sind grundlegende Eigenschaften von Geo-Objekten beschrieben. Es kann damit auch als Grundlage für Fachinformationssysteme dienen. Im Fachschema wird die Gliederung von Objektklassen, Objektartgruppen, Objektarten und deren Attribute beschrieben. Es umfasst sämtliche im amtlichen Vermessungswesen aller Bundesländer vorkommenden Informationen in den Bereichen Liegenschaftskataster, Topographie/Kartographie und Grundlagenvermessung. Quelle: AdV, 2007 UML für die Geoinformatik

75 Die normbasierte Austauschschnittstelle (NAS)
Die NAS wird verwendet, wenn Geoinformationen ausgetauscht werden sollen, die im gemeinsamen AAA-Anwendungsschemas modelliert wurden Die AdV hat sich für folgendes Vorgehen entschieden: Das in ISO Kapitel 8 definierte Rahmenwerk für Encoding Rules wird für die NAS angewendet (Level-1-Konformität mit ISO 19118). Es werden "NAS Encoding Rules" konform zu ISO Kapitel 8 definiert und dokumentiert. Diese "NAS Encoding Rules" bilden das konzeptuelle AAA-Fach- und Basisschema auf ein GML-3.0-Anwendungsschema ab, das in der NAS enthaltenen Schemakomponenten spezifiziert ist. Das konzeptuelle Schema der NAS-Operationen wird unter Verwendung der „NAS Encoding Rules“ und der WFS/FES-XML-Schemata in XML-Schema-Komponenten abgebildet und in der Schemadatei NAS-Operationen.xsd spezifiziert. Die "NAS Encoding Rules" werden konform zu GML 3.0 und darüber hinaus so einfach und so konform zu den ISO "XML Encoding Rules" wie möglich festgelegt. Das bedeutet, die NAS verwendet GML in Übereinstimmung mit den Vorgaben der GML-Spezifikation. Eine automatische Ableitung der NAS wird unterstützt, so dass anhand der "NAS Encoding Rules", dem UML-Anwendungsschema und von in Form von Steuerparametern formal beschriebenen Zusatzregeln die XML-Schema-Definitionen der NAS abgeleitet werden können. I Quelle: AdV, 2006 UML für die Geoinformatik

76 Die Bestandteile des AAA-Anwendungsschemas
Quelle: AAA Modell (AdV, 2006) UML für die Geoinformatik

77 Modellierung der Basisklassen
Zur Systematisierung und zur Unterstützung bei der Erstellung der Fachschemata werden im gemeinsamen AAA-Basisschema 4 generelle Arten von Objektausprägungen vordefiniert: · Raumbezogene Elementarobjekte (AA_REO) Raumbezogene Elementarobjekte sind zu bilden, wenn zusätzlich zu fachlichen Eigenschaften auch geometrische oder topologische Eigenschaften nachgewiesen werden sollen. · Nicht raumbezogene Elementarobjekte (AA_NREO) Nicht raumbezogene Elementarobjekte sind zu bilden, wenn nur fachliche, aber keine geometrischen oder topologischen Eigenschaften nachgewiesen werden sollen. · Zusammengesetzte Objekte (AA_ZUSO) Zusammengesetzte Objekte werden gebildet, um den Zusammenhang einer beliebigen Zahl und Mischung semantisch zusammengehörender raumbezogener Elementarobjekte, nicht raumbezogener Elementarobjekte oder zusammengesetzter Objekte herzustellen. Ein zusammengesetztes Objekt muss aber mindestens ein Objekt als Bestandteil besitzen. · Punktmengenobjekte (AA_PMO) Für bestimmte Fachobjekttypen, die aus einer großen Anzahl geometrischer Orte mit jeweils gleichen Attributarten bestehen (z.B. Digitale Geländemodelle, Temperatur- und Luftdruckverteilungen), ist es günstiger, statt einzelner REOs ein alle Angaben klammerndes Objekt – ein sogenanntes Punktmengenobjekt – zu nutzen. Ein Punktmengenobjekt ist eine Abbildung einer Menge von Geometrien auf die zugehörigen Attributwerte. Quelle: AAA Modell (AdV, 2006) UML für die Geoinformatik

78 Teile des AAA-Fachschemas
Quelle: AAA Modell (AdV, 2006) UML für die Geoinformatik

79 Definition eines Flurstücks
Quelle: AAA Modell (AdV, 2006) UML für die Geoinformatik

80 Struktur eines primären DGM
Quelle: AAA Modell (AdV, 2006) UML für die Geoinformatik

81 Definition eines Gebäudes
Quelle: AAA Modell (AdV, 2006) UML für die Geoinformatik

82 Definition eines Gebäudes: Umsetzung in XML bzw. GML
UML für die Geoinformatik

83 7: UML-Modellierung für Precision Farming
Anwendungsbeispiele aus dem preagro Projekt UML-Modellierung für PF UML für die Geoinformatik

84 Das preagro Projekt preagro ist ein Forschungsprojekt im Bereich der „informations-geleiteten Pflanzenproduktion“ Neue Möglichkeiten zur Optimierung der Landwirtschaft mittels Precision Farming-Methoden und einem verbesserten Datenmanagement werden untersucht 4 Projektbereiche PB2 = Informationsmanagement 22 Teilprojekte TP7 = „Untersuchung zur Workflow-Modellierung im Precision Farming am Beispiel des Aufbaus einer Geodateninfrastruktur für Precision Farming“ UML für die Geoinformatik

85 TP7 Projektziele Die Erstellung eines Modells der erforderlichen Datensätze für Precision Farming und deren Zusammenhänge Die Identifizierung von typischen landwirtschaftlichen Workflows, der Datenflüsse und der Potenziale, diese Workflows und Datenflüsse mittels standardisierten Schnittstellen zu unterstützen und zu automatisieren Die potenziellen Vorteile der Nutzung der Technologien einer Geodateninfrastruktur in der Landwirtschaft zu demonstrieren UML für die Geoinformatik

86 Anwendungsfall 1: Bodenbeprobung
UML für die Geoinformatik

87 Anwendungsfall 1: Bodenbeprobung
UML für die Geoinformatik

88 Anwendungsfall 1: Bodenbeprobung
UML für die Geoinformatik

89 Anwendungsfall 2: N-Düngungskarte generieren
UML für die Geoinformatik

90 Anwendungsfall 2: N-Düngungskarte generieren
UML für die Geoinformatik

91 Anwendungsfall 3: Managementzonen generieren
UML für die Geoinformatik

92 Anwendungsfall 3: Managementzonen generieren
UML für die Geoinformatik

93 8: Software für die UML Ein Überblick der Software für die Bearbeitung von UML-Modellen Software für die UML UML für die Geoinformatik

94 Software für die UML Da UML ursprünglich für die Softwareentwicklung entwickelt wurde, gibt es natürlich eine Vielfalt von Software, um UML einzusetzen Der Fokus, Benutzerfreundlichkeit, Art und Umfang der Implementierung und unterstützte Versionen der UML sind jeweils sehr unterschiedlich Von einfacher Zeichnung bis hin zur „round-trip engineering“ Freie, kostenlose und proprietäre Software für die UML sind alle erhältlich XMI-Unterstützung ist in vielen Fällen immer noch problematisch Unterschiedliche XMI- und UML-Versionen " fehlende Kompatibilität Liste vieler UML-Software sind online zu finden UML für die Geoinformatik

95 Proprietäre UML-Software
Rational Rose ist die „originale“ UML-Software, jetzt von IBM veröffentlicht Viele andere UML-Werkzeuge bieten Kompatibilität mit Rose MDL-Dateien an Allerdings gibt es viele unterschiedliche Versionen des MDL-Formats Rational Rose ist in vielen Versionen mit unterschiedlichem Fokus erhältlich Data Modeler, Technical Developer, Enterprise, … Rational Rose wird häufig für große Projekte eingesetzt (e.g. AAA) Unterstützung für XMI ist noch mangelhaft Läuft unter Windows oder Linux Preis: ~2500 USD Enterprise Architect ist ein Produkt der Firma Sparx Systems Es unterstützt alle 13 Diagrammarten der UML 2 Fokus auf kollektive Arbeit (das Modell kann in einer Datenbank gespeichert werden) Unterstützung für XMI Import-Export Preis: ab 65 USD (akademische Lizenz) bzw. 135 USD Microsoft Visio kann ebenfalls UML-Modelle erstellen UML für die Geoinformatik

96 Kostenlose UML-Software
Viele proprietäre UML-Software ist auch in einer kostenlosen Version erhältlich, normalerweise mit eingeschränkter Funktionalität oder Lizenzbedingung (z.B. nur für die nicht-kommerzielle Nutzung) Poseidon von GentleWare ist eine proprietäre Weiterentwicklung der freien argoUML, mit einer kostenlosen „Community Version“ Kein Export Omondo bietet eine kostenlose EclipseUML Eclipse IDE Plugin an Mit Unterstützung für UML2 und XMI Export (Import nur in der kostenpflichtigen Version) VisualParadigm hat ebenfalls eine kostenlose „Community Version“ Mit Unterstützung für UML2 und XMI Wasserzeichen in allen ausgedruckten Diagrammen UML für die Geoinformatik

97 Freie UML-Software Freie (Open-Source) UML-Software bieten oft eine gute Alternative zur proprietären Lösungen an argoUML ist eine Java-basierte UML-Modellierungssoftware mit einigen interessanten Funktionen „kognitive Psychologie“, „Design-Kritiken“ und Checklisten Quellcodegeneration für verschiedene Programmiersprachen Unterstützung für UML 1.3 und 1.4 und XMI 1.0, 1.1 und 1.2 Umbrello ist Teil des KDE-Desktops (läuft nur unter Linux) Quellcodegeneration für viele Programmiersprachen bzw. DDL Unterstützung für UML 1.5 und XMI 1.2 StarUML ist eine Windows-basierte Software Unterstützung für UML 2.0 und XMI 1.1 Dia, ein freies Zeichnungsprogramm, kann UML-Diagramme erstellen OpenOffice Draw hat ebenfalls Werkzeuge für UML-Diagramme UML für die Geoinformatik

98 Fazit Ein Modell ist oft ein nützliches Werkzeug, um ein System besser zu verstehen bzw. zu spezifizieren Die UML ist eine weitestgehend akzeptierte normierte objekt-orientierte Modellierungssprache Die UML definiert ein Metamodell und 9 bzw. 13 Diagrammarten zur Darstellung verschiedener Aspekte eines Modells Sie kann in vielen Anwendungsbereichen eingesetzt werden Sie eignet sich besonders für Daten- und Prozessmodellierung für die Geoinformatik Es existieren eine Vielfalt von Software, um UML-Modelle zu erstellen Ein UML-Modell kann als Basis einer automatisierten Implementierung dienen Fazit UML für die Geoinformatik

99 „All models are wrong, but some are useful“ - George E. P
„All models are wrong, but some are useful“ - George E. P. Box (Statistiker, ) UML für die Geoinformatik


Herunterladen ppt "Modellierung mittels UML für die Geoinformatik"

Ähnliche Präsentationen


Google-Anzeigen