1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der...

24
1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML

Transcript of 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der...

Page 1: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

1

Einführung in die UMLDipl.-Ing. Päd. Alexander Huwaldt

Die Grundkonzepte und Diagramme der Unified Modeling Language.

Unified Modeling LanguageUML

Page 2: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

2

Unified Modeling LanguageUML

Page 3: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

3

Visualisieren

Kommunizieren

Komplexität beherrschen

Unified Modeling LanguageUML

Page 4: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

4

Die UML ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme. Ihre Autoren sind:

Grady Booch: Object oriented design and applicationsJames Rumbaugh: Object Modeling Technique Ivar Jacobson: Use-Cases

EinführungUML

Page 5: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

5

Die UML soll nach den Wünschen der Autoren eine Reihe von Aufgaben und Zielen verfolgen, wie zum Beispiel:

Bereitstellung einer universellen Beschreibungssprache für alle Arten objektorientierter Softwaresysteme und damit eine Standardisierung,

Vereinigung der bekanntesten Beschreibungsnotationen (Methoden) und

ein für zukünftige Anforderungen offenes Konzept.

ZieleUML

Page 6: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

6

Zeige die Zusammenhänge,

Visualisiere das Endprodukt für den Benutzer,

Verwende standardisierte Darstellungen,

Kläre mit dem Benutzer die Anforderungen,

Bespreche mit dem Programmierer die Details.

Visualisieren und KommunizierenUML

Page 7: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

7

Verwende für jedes System ein separates Modell,

Zeige in einer Darstellung einen Aspekt des Modells,

Strukturiere das Modell,

Verwende Vorlagen und Komponenten wieder.

Komplexität beherrschenUML

Page 8: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

8

Die UML bietet auf der einen Seite eine Reihe

unterschiedlichster Werkzeuge für die reine Visualisierung

und Dokumentation.

Auf der anderen Seite bilden vor allem

Klassendiagramme den Rahmen für die

Spezifikation und Erstellungvon objektorientierten Anwendungssystemen.

Die angebotenen Werkzeuge dienen der Abbildung der statischen Struktur und des dynamischen Verhaltens des

Anwendungssystems.

Die MöglichkeitenUML

Page 9: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

9

Die UML unterscheidet zwischen statischen und dynamischen Modellen eines Systems.Zum Beispiel: Klassendiagramme, Verhaltensdiagramme

Basisklasse

Klasse2

Attribute

Operationen

Attribute

Operationen

Objekt2

Objekt3

Objekt1

DiagrammtypenUML

Page 10: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

10

Die DiagrammeUMLVerhaltensdiagramme

Aktivitätsdiagrammactivity diagram

Zustandsdiagrammstate diagram

Wechselwirkungsdiagramme

Sequenzdiagrammsequenz diagram

Kollaborationsdiagrammcollaboration diagramAnwendungsfalldiagramm

use case diagram

Klassendiagrammclass diagram

Diagramme der UML

Übersicht und Einordnung der Diagrammtypen in der UML

Implementationsdiagramme

Einsatzdiagrammdeployment diagram

Komponentendiagrammcomponent diagram

Page 11: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

11

Das use case diagram (Anwendungsfalldiagramm) dient als Einstiegsebene für das Modell aus Anwendersicht. Es ist ein zweckmäßiges Hilfsmittel zum Erfassen der Benutzerforderungen und Ermitteln der Systemgrenzen. Es beschreibt das System in der Interaktion mit dem Benutzer.

Actor

SystemVideoDat

Videoausleihebearbeiten

Anwender

Videorückgabebearbeiten

AnwendungsfalldiagrammUML

Anwendungsfall

Page 12: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

12

Das class diagram (Klassendiagramm) dient zum Modellieren der statischen Struktur von Klassen und deren Beziehungen.

Inhalt: Klassen mit Attributen und Operationen, Beziehung zwischen den Klassen

Das Klassendiagramm steht im Zentrum der objektorientierten Modellierung. Es ist die Basis für die Quelltexterzeugung. Die anderen Diagramme haben dokumentierenden Charakter. Während der Projektbearbeitung wird das Klassendiagramm schrittweise vervollständigt.(Konzept, Spezifikation, Implementierung)

KlassendiagrammUML

Assoziation

Vererbung

Beispiele für Beziehungen:1,*

*,1

*,1

Person

Verkäufer

Video

Kunde

Klasse

Attribute

Operationen

Page 13: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

13

Das dynamische Verhalten und die Interaktion zwischen Objekten kann in der Form eines activity diagram (Aktivitätsdiagramm) dargestellt werden.

Das Zeitverhalten und die Statusübergänge zwischen den Objekten sind besonders übersichtlich durch die Darstellung der Objekte als swimlanes (Schwimmbahnen).

Das Aktivitätsdiagramm gehört zu den Verhaltensdiagrammen. Hier finden wir weitere Diagrammformen, die sich inhaltlich überschneiden:

Zustandsdiagramm, Sequenzdiagramm, Kollaborationsdiagramm.

AktivitätsdiagrammUMLKunde Verkäufer Video

zurückgeben virdeo_prüfen

bestanden

zurücknehmen

rechnung_erst.bezahlen

getAusleihstatus

getZustand

setZustand

setAusleihstatus

Die Verwendung ist abhängig von der Bearbeitungsstufe des Projektes oder der gewünschten Diagrammaussage.Das Aktivitätsdiagramm ist besonders in der ersten Konzeptstufe als Verfeinerung von Anwendungsfällen zweckmäßig.

Page 14: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

14

Das dynamische Verhalten innerhalb einer Klasse kann in der Form eines state diagram (Zustandsdiagramm) erfasst werden.

Das Zeitverhalten und die Statusübergänge zwischen einzelnen Operationen der Klassen können dargestellt werden.

ZustandsdiagrammUML

Die Verwendung ist abhängig von der Bearbeitungsstufe des Projektes oder der gewünschten Diagrammaussage. Das Zustandsdiagramm ist geeignet, aufwendige Transaktionen innerhalb einer Klasse darzustellen. Sobald mehrere Klassen beteiligt sind, ist eine andere Diagrammform zu wählen.

Das Zustandsdiagramm gehört zu den Verhaltensdiagrammen. Hier finden wir weitere Diagrammformen, die sich inhaltlich überschneiden:

Aktivitätsdiagramm, Sequenzdiagramm, Kollaborationsdiagramm.

Initialisierung Ausführung

Aktualisierung

Page 15: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

15

Das dynamische Verhalten und die Interaktion zwischen Objekten kann in der Form eines sequence diagram (Sequenzdiagramm) dargestellt werden.

Die Nachrichtenbeziehungen (Aufrufen von Operationen) zwischen den Objekten und deren Lebenszeit sind besonders übersichtlich durch die Darstellung der Klasseninstanzen (Objekte) als lifelines (Lebenslinien) und der Darstellung von Aufrufparametern gegeben.

Das Sequenzdiagramm gehört zu den Verhaltens-diagrammen. Hier finden wir weitere Diagrammformen, die sich inhaltlich überschneiden:

Aktivitätsdiagramm, Zustandsdiagramm, Kollaborationsdiagramm.

Die Verwendung ist abhängig von der Bearbeitungsstufe des Projektes oder der gewünschten Diagrammaussage.Das Sequenzdiagramm ist besonders in der fortgeschrittenen Spezifikation mit einem hohen Detailierungsgrad zweckmäßig.

SequenzdiagrammUML

::Verkäufer()

::video_prüfen (int VNr)

::~Verkäufer()

Kunde::Kunde()

::~Kunde()

MyApp

::Video (VNr)

Verkäufer

::~Video()

::setAusleistatus(int)

Video

Page 16: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

16

Das Kollaborationsdiagramm gehört zu den Verhaltensdiagrammen. Hier finden wir weitere Diagrammformen, die sich inhaltlich überschneiden:

Aktivitätsdiagramm, Sequenzdiagramm, Zustandsdiagramm.

KollaborationsdiagrammUML

MyApp

Kunde

1. ::Kunde()

Verkäufer

2. ::Verkäufer()

Video

3.1. ::Video(VNr)3.2. ::setAusleihstatus()

3.3 ::setZustand(VNr)

4.1. ::~Video()

5. ::~Kunde()

3. ::video_prüfen(VNr)

4. ::~Verkäufer()

Die Verwendung ist abhängig von der Bearbeitungsstufe des Projektes oder der gewünschten Diagrammaussage. Das Kollaborationsdiagramm ist eine alternative Darstellung zum Sequenzdiagramm.

Das dynamische Verhalten von Objekten kann ebenso in der Form eines collaboration diagram (Kollaborationsdiagramm) dargestellt werden.

Die Reihenfolge der einzelnen Operationen und deren Parameter finden sich hier.

Page 17: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

17

Module und andere Softwarekomponenten werden in component diagrams (Komponentendiagrammen) dokumentiert. Bestandteile sind:

Module Abhängigkeiten (Benutzt-Beziehungen oder Übersetzungsabhängigkeiten)

KomponentendiagrammUML

Kunde

Video

Verkäufer MFC20.DLL

Nutzer- Interface

VIDEO.EXE

benutzt

DAO

VIDEO.DBx

Zugriff auf Datenbank-

Interface

besteht aus

benutzt

benutzt

Problem- Ebene

besteht aus

Zugriff auf Daten

Ausgaben

Eingaben

benutzt

besteht aus

Page 18: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

18

Ähnlich wie component diagrams werden deployment diagrams (Einsatzdiagramme) zur Modellierung physikalischer Eigenschaften benutzt.

Sie beschreiben die Verteilung von Verarbeitungsprozessen (Programmen) auf Rechnern. Als Ausführungsplattformen (Node) kommen dabei neben Rechnern auch Drucker, Controller usw. in Betracht.

EinsatzdiagrammUML

IPX-Netzwerk

Belegdrucker

Arbeitsplatz2

VIDEO.EXE

NT-Server

SQL-Server Video.dbx

Belegdrucker

Arbeitsplatz1

VIDEO.EXE

Page 19: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

19

„Class, Responsibility and Collaborators“

Der Einsatz erfolgt als Hilfsmittel am Beginn der Analyse. CRC-Karten dienen zum Auffinden der wichtigsten Objekte, deren Aufgaben und Verbindungen mit anderen Objekten.

Schema einer CRC-Karte:

CRC-KarteUML

Classname (Klassenname)

Responsibilities(Verantwortlich für)

Collaborators(Zusammenarbeit)

Page 20: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

20

Ein VorgehensmodellUML

Das hier gezeigte Vorgehensmodell zeigt die drei Stufen der Modellierung mit der UML: Konzept, Spezifikation und Implementierung.Gleichzeitig sind in diesen Modellierungs-schritten die zweckmäßigen Einstiegs-diagramme zugeordnet.

Spezifikation

Logische Sicht

Einsatzsicht

Implementierung

Komponentensicht

Konzept

AnwendersichtCRC Karten

Start

Page 21: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

21

Visualisieren

Spezifizieren

Konstruieren

Dokumentieren

In allen ProjektphasenUML

Page 22: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

22

Bernd Oestereich:

Objektorientierte Softwareentwicklungmit der Unified Modeling Language

3., aktualisierte Auflage (UML 1.0) Verlag R. Oldenbourg, München 1997 295 Seiten, Hardcover, gebunden Erscheinungsdatum: 20.8.1997

Preis: 78 DM (im Erscheinungsjahr)

ISBN 3-486-24319-5

EmpfehlungUML

Page 23: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

23Quelle: Bernd Oestereich:Objektorientierte Softwareentwicklung mit der Unified Modeling Language

NotationsübersichtUML

Page 24: 1 Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Unified Modeling Language UML.

24

NotationsübersichtUML

Quelle: Bernd Oestereich:Objektorientierte Softwareentwicklung mit der Unified Modeling Language