61
Datenmodellierung - Entity-Relationship-Modell (ER) Unified Modeling Language (UML) Prof. Dr.-Ing. Ralf Bill Universität Rostock Agrar- und Umweltwissenschaftliche Fakultät Professur für Geodäsie und Geoinformatik GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill

Datenmodellierung Entity-Relationship-Modell (ER) … · Datenmodellierung-Entity-Relationship-Modell (ER) Unified Modeling Language (UML) Prof. Dr.-Ing. Ralf Bill Universität Rostock

Embed Size (px)

Citation preview

Datenmodellierung-

Entity-Relationship-Modell (ER)Unified Modeling Language (UML)

Prof. Dr.-Ing. Ralf BillUniversität Rostock

Agrar- und Umweltwissenschaftliche FakultätProfessur für Geodäsie und Geoinformatik

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill

Anliegen

Klärung warum Modellierung entscheidend ist, nicht nur in der Geoinformatik

Klärung der wesentlichen Konzepte des Entitäten-Relationen-Modells (ER)

Klärung der wesentlichen Diagramme der Unified Modeling Language (UML)

Aufzeigen der Anwendung der UML im Normungskontext

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 2

© 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill

Inhalt

Warum Modellierung?

Entitäten-Relationen-Modell (ER)

Unified Modeling Language (UML)

Fazit

GI-ER-UML 3

WARUM MODELLIERUNG?

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 4

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:

1. Modelle helfen uns, ein System, wie es ist oder werden soll, zu visualisieren

2. Modelle erlauben es, die Struktur oder das Verhalten eines Systems zu spezifizieren

3. Modelle stellen eine Vorlage als Leitfaden während der Implementierung eines Systems dar

4. Modelle dokumentieren unsere Entscheidungen

Quelle: Booch, Rumbaugh & Jacobson, 1999GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 5

Die vier Prinzipien der Modellierung

1. 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.“2. Jedes Modell darf mit unterschiedlichen Genauigkeiten ausgedrückt werden.

„Every model may be expressed at different levels of precision.“3. Die besten Modelle zeigen einen guten Bezug zur Realität.

„The best models are connected to reality.“4. 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

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 6

Objektorientierte Modellierung

Das Grundprinzip der objekt-orientierten 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.

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 7

Objektorientiertes Datenmodell

Statische Eigenschaften Entitäten oder Objekte und ihre Eigenschaften (Merkmale/Attribute) Beziehungen zwischen den Objekten (Relationships)

Dynamische Eigenschaften Operationen Beziehungen zwischen Operationen

Integritätsbedingungen für Objekte Operationen

© 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf BillGI-ER-UML 8

Beispiel einer objekt-orientierten Modellierung

Objekt 1: 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

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 9

Warum eine standardisierte Modellierungssprache?

Normalerweise sind mehrere Personen in einem Modellierungsverfahren beteiligt. Öfter haben sie unterschiedliche Hintergrunde 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 Werkzeuge zu ermöglichen, wird ein Standard benötigt.

Eine standardisierte Modellierungssprache ermöglicht es, sich auf das tatsächliche Problem zu konzentrieren.

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 10

ENTITY-RELATIONSHIPMODELING

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 11

Entity-Relationship-ModellERM (Chen 1976)

Das ER-Model analysiert die Beziehungen unterschiedlicher Typen von Entitäten/ Objekten in der realen Welt und beschreibt es für eine konzeptionelle Sicht.

Basiskonstrukte des ER-Modells: Entitäten (Features/Objekte)

- Objekte der realen Welt (oder ihre Abstraktion), über die Informationen gespeichert werden sollen, z.B. Haus, Straße, Baum

Im Modell als Rechteck dargestellt- Werden in strukturierter Form (z.B. tabellarisch) gespeichert

Entitätstypen (Feature class/Feature Type/Objektklasse)- Satz aller Entitäten mit gleichen Eigenschaften

– z.B. Personen, Häuser, Straßen, Bäume

Relationships/Beziehungen- Beziehungen zwischen Entitäten oder Entitätstypen

– z.B. gehört zu, hat Besitzer, hat, ist

- Beziehungen werden ebenfalls als Relation (Tabelle) behandelt- Im Modell als Raute dargestellt

Haus

hat Besitzer

© 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf BillGI-ER-UML 12

Person

1:n

1:n

Entity-Relationship-ModellERM (Chen 1976)

Kardinalitäten – Beziehungstypen- Mengenangaben, mit denen in der Datenmodellierung für ER-Diagramme für jeden

Beziehungstyp festgelegt wird, wie viele Entitäten eines Entitätstyps mit genau einer Entität des anderen am Beziehungstyp beteiligten Entitätstyps (und umgekehrt) in Beziehung stehen können oder müssen. => 1:1, 1:n, n:m

Attribute- Eigenschaften, gemeinsam für alle {Entitäten|Beziehungen} derselben

{Entitäts-|Beziehungs}-Typen, z.B. beim Haus die Hausnummer, Stockwerkszahl usw. - Werden als Attributes (Spalten) in Tabellen abgelegt- Werden als Ellipse dargestellt- Schlüsselattribute der Entitäten und Attribute, die zu Beziehungen gehören,

werden als Attribute der Beziehungen und Fremdschlüssel abgelegt

Haus

Haus-nummer

© 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf BillGI-ER-UML 13

Flächengröße

Stock-werks-zahl

Kardinalitäten/Relationships

1:1-Relationship Jede Entität eines Entitätstyps A kann exakt auf

eine Entität eines anderen Entitätstyps B abgebildet werden und umgekehrt

- z.B. Person-Mitarbeiter (Jede Person kann nur ein Mitarbeiter sein und umgekehrt [wie sieht es mit mehreren Arbeitsverträgen aus?)])

1:n-Relationship Jede Entität eines Entitätstyps A kann zu

mehreren Entitäten eines oder mehrere anderer Entitätstypen B abgebildet werden. Jedoch ist die Entität der anderen Entitätstypen nur exakt zu einer Entität des ersten Entitätstypen zugeordnet.e.

n:m-Relationship Jede Entität eines Entitätstyps A kann zu

mehreren Entitäten anderer Entitätstypen B abgebildet werden und umgekehrt

(m:n) - Relationship

Typ A Typ B

(1:1) - Relationship

Haus - ParzelleTrigonom. Punkt – Punktnummer

Haus - Stockwerke

Parzelle - Eigentümer

(1:n) - Relationship

125 127

126 128

TP12

HausEigentümerAdresse....

ParzelleEigentümerNummer....

Trigonome-tr. PunktNummer...

© 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf BillGI-ER-UML 14

Schlüssel und Beziehungstypen

Schlüssel Attribut, welches zur eindeutigen Identifizierung einer Entity von einem Entity-Typ dient

- z.B. Personalausweisnummer, Mitarbeiternummer darf nur einmal für einen {Entität|Beziehung}-Typ vorkommen

Primärschlüssel Bei Vorkommen mehrerer Schlüssel wird einer als Primärschlüssel festgelegt.

Fremdschlüssel Attribut einer {Entität|Beziehung}, welches ein Primärschlüssel einer

{Entität|Beziehung} einer anderen {Entität|Beziehungs}-Typ darstellt Schwache Entitätstypen

Entität, die durch die eigenen Attribute allein nicht identifiziert werden können, nur durch eine weitere Beziehung

Selbes gilt für ganze Entitätstypen Schwache Beziehungstypen

an denen ein schwacher Entitätstyp teilnimmt

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 15

Entitäten-Relationen-Modell und logische Datenmodelle

Entitäten - Beziehungen

Abbildbar i.d.R. auf alle logischen Datenmodelle

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 16

Katas-terkarte

Parzellen

Kanten

Knoten

1 : n

3 : n

2 : n

HierarchischesDatenmodell

Netzwerk-Datenmodell

RelationalesDatenmodell

ObjektorientiertesDatenmodell

Beziehungen in einer tabularen Sicht

Relationales Datenmodell in heute gängigen relationalen Datenbanken => Tabellen

(1 : 1) Relationship Ein Datensatz einer Tabelle A kann nur exakt zu einem Datensatz der anderen Tabelle B verbunden werden. Umgekehrt kann der Datensatz der Tabelle B auch nur exakt zu einem Datensatz der Tabelle A verbunden werden.

(1 : n) Relationship Ein Datensatz einer Tabelle A kann nur exakt zu einem Datensatz der anderen Tabelle B verbunden werden. Umgekehrt kann der Datensatz der Tabelle B zu mehreren Datensätzen der Tabelle A verbunden werden.

(m : n) Relationship Ein Datensatz einer Tabelle A kann zu mehreren Datensätzen der anderen Tabelle B verbunden werden. Umgekehrt kann ein Datensatz der Tabelle B ebenfalls zu mehreren Datensätzen der Tabelle A verbunden werden.

Eine weitere Tabelle C ist notwendig, die mit den Primärschlüsseln beider Tabellen A und B besetzt ist.

Die Kombination der Schlüssel von Tabelle A und B ist der Primärschlüssel von C und muss eindeutig sein, d.h. nur einmal pro Zeile vorkommen.

© 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf BillGI-ER-UML 17

UNIFIED MODELING LANGUAGE UML

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 18

Die Unified Modeling Language (UML)

Die Unified Modeling Language (dt: „die einheitliche Modellierungssprache“) ist eine normierte offene objekt-orientierte Modellierungssprache aus dem Softwareentwick-lungsbereich.

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.

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 19

Die Geschichte der UML

Die UML ist eine Fusion mehrerer älteren 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. OMG (Object Management Group)

- Gegründet 1989- > 400 Mitglieder aus der Wissenschaft, Wirtschaft (Softwareentwickler und Endbenutzer) und

Verwaltung

UML 1.4.2 wurde 2005 als ISO19501 verabschiedet. Die aktuelle Version ist UML 2.1.1.

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 20

Die Entwicklung der objekt-orientierten Modellierung

Quelle: Wikipedia / oose.de (Lizenz: GNU FDL)GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 21

Nebenspezifikationen zur UML

Eine standardisierte Sprache, um Bedingungen in einer Programmiersprache-unabhängigen Form zu spezifizieren, ist auch spezifiziert. Object Constraint Language (OCL)

Ein XML-basiertes Dateiformat für den Austausch von Modellen bzw. Diagrammen zwischen Software ist ebenso normiert. XML Metadata Interchange (XMI), auch ISO19503:2005

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 22

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“

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 23

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

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 24

UML-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

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 25

Anwendungen Klassendiagramm

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, 1999GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 26

Beziehung

0..1

Komposition

1..*

Aggregation

0..*

verallgemeinerte Klasse«Stereotyp»

+erstes Attribut:float +Beziehung:verwandte Klasse #zweites Attribut:char

+erste Methode(): void

spezialisierte Klasse

+Komposition:noch eine Klasse +Aggregation:andere Klasse -drittes Attribut:int

verwandte Klasse

+ein Attribut:bool

noch eine Klasse

+ein Attribut:double

andere Klasse

+ein Attribut:long

SyntaxKlassendiagramm

KlassennameAttribute

Methoden

Multiplizität

Komposition Aggregation

Beziehung

Generalisierung

verstecktes Attribut

geschütztes Attribut

öffentlichesAttribut

Stereotyp

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 27

BeispielKlassendiagramm

AX_Fortfuehrungsfall(from Fortführungsnachweis)

<<Feature>>

AX_Buchungsstelle(from Personen- und Bestandsdaten)

<<Feature>>

AX_LagebezeichnungOhneHausnummer(from Angaben zur Lage)

<<Feature>>AX_LagebezeichnungMitHausnummer

(from Angaben zur Lage)

<<Feature>>

AX_Flurstueck<<Feature>>

0..*

0..*

+beziehtSichAufFlurstueck

0..*

+gehoertAnteil igZu 0..*

1

0..*

+istGebucht 1

+grundstueckBestehtAus 0..*0..*

0..*

+verweistAuf0..*

0..*

0..*

1..*

+zeigtAuf0..*

+gehoertZu1..*

0..*

1..*

+weistAuf 0..*

+gehoertZu

1..*

AX_Vertretung(from Personen- und Bestandsdaten)

<<Feature>>0..* 0..*+beziehtSichAuf0..* 0..*

AX_BesondereFlurstuecksgrenze<<Feature>>

AX_Grenzpunkt<<Feature>>

0..*0..1 0..*+zeigtAuf0..1

Quelle: AAA Modell (AdV, 2006)GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 28

UML-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

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 29

[Bedingung]

Klasse::Aktivität 1

Klasse::Aktivität 2 Klasse::Aktivität 3

Syntax Aktivitätsdiagramm

Aktivität

Entscheidung

Bedingung

Startzustand

Endzustand

Kontrollfluss

Synchronisation

Aktive Klasse Aktivitätsname

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 30

Beispiel Aktivitätsdiagramm

Eingabedatensatz abrufen

Rectify

Clip Normalisierung

Clustering

Vektorisierung

Mindestgroße-Filter

einmal proEingabe

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 31

UML-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.

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 32

Syntax Zustandsdiagramm

Übergang

AnfangszustandBedingung

Endzustand

Zustand

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 33

Beispiel Zustandsdiagramm

Quelle: nach Seemann, Wolff von Gudenberg, 2000GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 34

UML-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.

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 35

Syntax Sequenzdiagramm

ObjektObjektname Klassenname

Lebenslinie

Aktives Objekt

Objekt erzeugen

Objekt zerstören

BedingungBotschaften

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 36

Beispiel Sequenzdiagramm

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 37

UML-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.

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 38

Rolle

etwas andere Rolle

Rol

le «include»

allgemeiner Anwendungsfall

untergeordneter Anwendungsfall

spezialisierter Anwendungsfall

verallgemeinter Akteur

spezialisierter AkteurAkteur

Syntax Anwendungsfalldiagramm

Anwendungsfall AkteurGeneralisierung

Generalisierung

Rolle

Benutzt

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 39

Beispiel Anwendungsfalldiagramm

GDI-PF nutzen

Dienste bereitstellen

Dienste nutzen

Benutzer einer GDI-PF

Landwirt

Dienstleister

LohnunternehmerBehörde

Berater

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 40

UML-Kollaborationsdiagramm

Das Kollaborationsdiagramm ist mit dem Sequenzdiagramm semantisch vergleichbar. Das Sequenzdiagramm zeigt den zeitliche Ablauf der Kollaboration, das

Kollaborationsdiagramm den logischen Ablauf. Kollaborationsdiagramme sind für komplexe Iterationen und Verzweigung und für

parallele Verfahren besser geeignet.

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 41

UML-Objektdiagramm

Das Objektdiagramm modelliert Objekte und deren Beziehungen zu einem bestimmten Zeitpunkt.

Es ist praktisch eine Abbildung einer Instanz eines Klassendiagramms oder ein Schnappschuss eines Interaktionsdiagramms.

Die Klassen werden auch manchmal in dem Objektdiagramm gezeigt.

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 42

UML-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 und um anpassungsfähige Systeme zu modellieren.

WebGIS-Client

WebGIS-Server WMS

Datenbank SQL-SF

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 43

UML-Verteilungsdiagramm

Das Verteilungsdiagramm zeigt die Konfiguration eines implementierten Systems. Das Verteilungsdiagramm kann als eine Art Objekt- oder Klassendiagramm

betrachtet werden. Der Fokus liegt auf dem Knoten des Systems.

Das Verteilungsdiagramm wird am häufigsten verwendet für die Modellierung von: eingebetteten Systemen, Client-Server Systemen und verteilten Systemen.

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 44

UML-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.

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 45

Nutzung der UML in ISO19100-Normen

Die UML wird häufig in der ISO19100-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 ISO19100-Serie ist in ISO19103

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 ISO19136 („GML – Geography Markup Language“) Regeln für UML-GML und GML-UML-Kodierung. Basiert auf ISO19118 („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 aus den ISO-Normen gezeigt.

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 46

High-level view of the Domain reference model

Quelle: ISO19101, Fig. 5GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 47

Details of the application schema

Quelle: ISO19101, Fig. 6GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 48

Examplepackage structure

Quelle: ISO19103, Fig. 25GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 49

Data types fortemporal position

Quelle: ISO19108, Fig. 11GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 50

Attributes offeature types

Quelle: ISO19109, Fig. 6GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 51

UML implementation of feature types

Quelle: ISO19109, Fig. 11GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 52

Translucentchaining

Quelle: ISO19119, Fig. 6GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 53

Softwarefür 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 erhältlich. XMI-Unterstützung ist in vielen Fällen immer noch problematisch.

Unterschiedliche XMI- und UML-Versionen fehlende Kompatibilität Viele Liste von UML-Software sind online zu finden.

http://www.oose.de/umltools.htm http://www.objectsbydesign.com/tools/umltools_byCompany.html

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 54

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ältlic.h

- 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.

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. Läuft unter Windows oder Linux.

Microsoft Visio kann ebenfalls UML-Modelle erstellen.

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 55

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 ausgedrückten Diagramme

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 56

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.

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 57

Fazit

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 58

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. 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.

„All models are wrong, but some are useful“- George E. P. Box (Statistiker)

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 59

Selbststudium

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill 60

Literatur-hinweis

GI-ER-UML © 2016 UNIVERSITÄT ROSTOCK | Geodäsie und Geoinformatik | Prof. Dr.-Ing. Ralf Bill

Bücher: Bill (2016): Kapitel 4, 6 Bartelme (2005): Kapitel 9.6 (UML) de Lange (2013): Kapitel 8.2 (ER)

Literatur: Booch, G., Rumbaugh, J., Jacobson, I. (1999): Das UML-Benutzerhandbuch. Addison-

Wesley. 592 Seiten.61