05 ai uml_illik_students_part_1_de

Preview:

DESCRIPTION

This is part1 of 3 parts of a set of slides for UML introduction. The slide are in German language. An English language version is also available.

Citation preview

1. 1Ambit

Wissen macht ambitionierte Geschäftsziele erreichbar. Wir liefern Wissen und schaffen Werte. Weltweit.

Knowledge enables your businessambitions.We deliver knowledge and create value.Worldwide.

UML 2.x Part 1Einführung / Introduction

J. Anton Illik

www.ambit.de

www.ambit.de2

UML intro & overview

Inhalt / TOC! Session 1

! Einführung, Diagrammarten! Session 2

! Grundlagen, 1. Klassendiagramm

! Session 3! Case Study

Klassendiagramm! Session 4

! 2. Paketdiagramm, ! 3. Objektdiagramm, ! 4. Kompositionsstruktur-

diagramm! Session 5

! Case StudyObjektdiagramm, Verteilungsdiagramm

! Session 6! Komponentendiagramm,

Verteilungsdiagramm, Use-Case-Diagramm

! Session 7! Case Study Use-Case-Diagramm

! Session 8! Aktivitätsdiagramm,

Zustandsautomat, Sequenzdiagramm

! Session 9! Case Study Zustandsdiagramm,

Aktivitätsdiagramm! Session 10

! Kommunikationsdiagramm, Timingdiagramm, Interaktionsübersichtsdiagramm

Ach

tun

g:

Rei

hen

folg

e ka

nn

sich

änder

n!

Eben

so d

ie V

erte

ilung d

er K

apitel

.

www.ambit.de

www.ambit.de3

Organisatorisches! Arbeitstechniken dieses Seminars

! Dialog und Präsentation! Lösung von Übungsaufgaben! Bearbeitung von Fallbeispielen! Nacharbeiten in der Literatur

! Fragen und Anregungen sind jederzeit erwünscht !!!

www.ambit.de

www.ambit.de4

UML Inhalte

1. UML Allgemein2. UML Diagramme im Überblick3. UML Diagramme im Detail

www.ambit.de

www.ambit.de5

Kapitel 1

1 UML Allgemein

Kap

it el 1

www.ambit.de

www.ambit.de6

1 UML Allgemeinap

it el 1

K 1.1 Was ist UML1.2 Entwicklung von UML1.3 Deutsche UML Begriffe 1.4 Überblick Diagrammtypen

www.ambit.de

www.ambit.de7

1. Was ist UML

Kap

it el 1

• eine Sprache zur Analyse, Spezifikation, Entwurf/Konstruktion und Visualisierung, Dokumentation von Modellen für Softwaresysteme

• liefert Notationselemente für statische und dynamische Modelle-> Strukturdiagramme-> Verhaltensdiagramme

• unterstützt objektorientierte Vorgehensweise

www.ambit.de

www.ambit.de8

2. Entwicklung von UML

1995

OOSEJacobson 1992

OODBooch 1992

OMTRumbaught 1991

Unified Modelling Language 0.9Booch, Rumbaugh,Jacobson

1996

Unified Modelling Language 1.0UML Partners

1997Einsatzerfahrung der Sprachschöpfer

Unified Modelling Language 1.1UML Partners

Integration der Object Constraint Language

1998

Unified Modelling Language 1.2UML Partners

1999

Unified Modelling Language 1.3UML Partners

2001

Unified Modelling Language 1.4UML Partners

Unified Modelling Language 1.5UML Partners

Unified Modelling Language 2.0UML2 Partners

2003

2005K

XML Metadata Interchange

Object Management Group übernimmt Copyright

Erfahrungen der Anwenderapite

l 1

www.ambit.de

www.ambit.de9

3. UML Begriffe

Kap

it el 1

Verteilungs-diagramm

deployment diagramAssoziationsrolleassoziation roleAbhängigkeitdependencyAssoziationsklasseassociation class

EntscheidungdecisionAssoziation (ungerichtet)

association

CRC-Karte, Klassenkarte

CRC-CardAggregation, Teile/ Ganzes-Beziehung

aggregationEinschränkungconstraintAkteur, AktoractorKompositioncompositionAktivitätsdiagrammactivity diagramm

Komponenten-Diagramm

component diagrammAktivitätactivity

KomponentecomponentAktionactionDeutschEnglischDeutschEnglisch

www.ambit.de

www.ambit.de10

3. UML Begriffe

Kap

it el 1

Kollaborations-Diagramm

collaborationdiagram

SchnittstelleInterfaceKlassendiagrammClass diagram

Interaktionsdiagramme

Interaction diagrams

KlasseClassExemplarInstanceKardialitätCardinality

GeneralisierungGeneralizationGebundenes Element

bound element

SteuerungsfokusFocus of controlBidirektionale Assoziation

Bidirectionalassociation

EreignisEventVerhaltens-Diagramm

behavior diagramm

Diskriminator, Unterscheidungs-Merkmal

DiscriminatorAttributAttributeDeutschEnglischDeutschEnglisch

www.ambit.de

www.ambit.de11

3. UML Begriffe

Kap

it el 1

Parametrisierte Klasseparameterizedclass

StereotypstereotypePaketpackage

Zustands-Diagramm

statechart diagramOperationoperationZustandstateObjektdiagrammobject diagram

Sequenz-diagramm

sequence diagramObjektobjectSzenarioscenarioKnotennodeBeziehungrelationshipNavigierbarkeitnavigabilityVerfeinerungrefinementMultiplizitätmultiplicity

Eigenschaftswertproperty stringMethodemethodEigenschaftpropertyNachrichtmessageProblembereichproblem domainObjektbeziehunglinkMusterpatternLebenslinielifelineDeutschEnglischDeutschEnglisch

www.ambit.de

www.ambit.de12

3. UML Begriffe

Kap

it el 1

Anwendungsfalldiagrammuse case diagramAnwendungsfalluse caseGerichtete Assoziation unidirecitional associaton(die) UMLUMLTyptypeParametrisierbare Klassetemplate class

Transition, ÜbergangtransitionVerantwortlichkeitsbereich, SchwimmbahnswimlaneOberklassesuperclassUnterklassesubclassDeutschEnglisch

www.ambit.de

www.ambit.de13

4. Diagramm-Typen in UML

Kap

it el 1

Strukturdiagramme-statisch-

Verhaltensdiagramme-dynamisch-

KlassendiagrammUse-Case-Diagramm

Interaktionsdiagramme:Paketdiagramm

SequenzdiagrammAktivätsdaigramm

ObjektdiagrammKommunikationsdiagramm

ZustandsautomatKompositionsstruktur-

diagrammTimingdiagramm

InteraktionsübersichtsdiagrammKomponentendiagramm

Verteilungsdiagramm

www.ambit.de

www.ambit.de14

UML Inhalte

1. UML Allgemein2. UML Diagramme im Überblick3. UML Diagramme im Detail

www.ambit.de

www.ambit.de15

Kapitel 2

2 UML-Übersicht

Kap

it el 2

www.ambit.de

www.ambit.de16

2 Diagramme der UML und ihre Anwendung

Kap

it el 2

2.1 Klassendiagramm (Class Diagram)2.2 Paketdiagramm (Package Diagram)2.3 Objektdiagramm (Object Diagram)2.4 Kompositionsstrukturdiagramm (Composite Structure Diagramm)2.5 Komponentendiagramm (Component Diagram)2.6 Verteilungsdiagramm (Deployment Diagram)2.7 Use-Case-Diagramm (Use Case Diagram)2.8 Aktivitätsdiagramm (Activity Diagram)2.9 Zustandsautomat (State Machine)2.10 Sequenzdiagramm (Sequence Diagramm)2.11 Kommunikationsdiagramm (Communication Diagram)2.12 Timingdiagramm (Timing Diagram)2.13 Interaktionsübersichtsdiagramm (Interaction Overview

Diagram)

www.ambit.de

www.ambit.de17

Erster Diagrammtyp

Kap

it el 2

Strukturmodellierung[Structure Modelling]

www.ambit.de

www.ambit.de18

1. Klassendiagramm (Class Diagram)

apit e

l 2K

Diese Zentrale Frage beantwortet das Diagramm:Aus welchen Klassen besteht mein System und wie stehen diese untereinander in Beziehung?

Stärken: • Beschreibt die statische Struktur des zu entwerfenden oder abzubildenden Systems.

• Enthält alle relevanten Strukturzusammenhänge und Datentypen.• Bildet die Brücke zu den dynamischen Diagrammen.

[Rupp et.a] S. 93-164

www.ambit.de

www.ambit.de19

2. Paketdiagramm (Package Diagram)

apit e

l 2K

Diese Zentrale Frage beantwortet das Diagramm:Wie kann ich mein Modell so schneiden, dass ich den Überblick bewahre?

Stärken: • Organisiert das Systemmodell in größere Einheiten durch logische Zusammenfassung von Modellelementen.

• Modellierung von Abhängigkeiten

[Rupp et.a] S. 165-178

www.ambit.de

www.ambit.de20

3. Objektdiagramm (Object Diagram)

apit e

l K

2

Diese Zentrale Frage beantwortet das Diagramm:Welche innere Struktur besitzt mein System zu einem bestimmtenZeitpunkt zur Laufzeit

Stärken: • Zeigt Objekte und deren Attributbelegungen zu einem bestimmten Zeitpunkt.

• Wird nur beispielhaft zur Veranschaulichung verwendet. • Detailniveau wie im Klassendiagramm• Sehr gute Darstellung von Mengenverhältnissen.

[Rupp et.a] S. 179-190

www.ambit.de

www.ambit.de21

4. Kompositionsstrukturdiagramm(Composite Structure Diagram)

Diese Zentrale Frage beantwortet das Diagramm:Wie sieht das Innenleben einer Klasse, einer Komponente, eines Systemteils oder eines Systems aus?

Stärken: • Ideal für die Top-Down-Modellierung des Systems. • Mittleres Detailniveau, zeigt Teile eines „Gesamtelements und deren Mengenverhältnisse“; White-Box-View

Kap

itel 2

[Rupp et.a] S. 191-212

www.ambit.de

www.ambit.de22

5. Komponentendiagramm(Component Diagramm)

Kap

it el 2

Diese Zentrale Frage beantwortet das Diagramm:Wie werden meine Klassen zu wieder verwendbaren, verwaltbaren Komponenten zusammengefasst und wie stehen diese miteinander in Beziehung?

Stärken: • Zeigt Organisation und Abhängigkeiten einzelner technischer Systemkomponenten.

• Modellierung angebotener und benötigter Schnittstellen möglich.

[Rupp et.a] S. 213-224

www.ambit.de

www.ambit.de23

6. Verteilungsdiagramm (Deployment Diagram)

apit e

l 2K

Diese Zentrale Frage beantwortet das Diagramm:Wie sieht das Einsatzumfeld (Hardware, Server, Datenbanken, …) des Systems aus ? Wie werden Komponenten zur Laufzeit wohin verteilt ?

Stärken: • Zeigt das Laufzeitumfeld des Systems mit den „greifbaren“ Systemteilen (meist Hardware).

• Hohes Abstraktionsniveau, kaum Notationselemente.

[Rupp et.a] S. 225-236

www.ambit.de

www.ambit.de24

Zweiter Diagrammtypap

it el 2

K

Verhaltensmodellierung[Behaviour Modelling]

www.ambit.de

www.ambit.de25

7. Use-Case-Diagramm (Use Case Diagram)

apit e

l 2K

Diese zentrale Frage beantwortet das Diagramm:Was leistet mein System für seine „Umwelt“ (Nachbarsysteme, Stakeholder)?

Stärken: • Präsentiert die Außensicht auf das System.• Geeignet zur Kontextabgrenzung.• Hohes Abstraktionsniveau, einfache Notationsmittel.

[Rupp et.a] S. 239-264

www.ambit.de

www.ambit.de26

8. Aktivitätsdiagramm (Activity Diagram)

Kap

it el 2

Diese Zentrale Frage beantwortet das Diagramm:Wie läuft ein bestimmter flussorientierter Prozess oder ein Algorithmusab?

Stärken: • Sehr detaillierte Visualisierung von Abläufen mit Bedingungen, Schleifen, Verzweigungen.

• Parallelisierung und Synchronisation möglich.

[Rupp et.a] S. 265-334

www.ambit.de

www.ambit.de27

9. Zustandsautomat (State Machine)

Kap

it el 2

Diese Zentrale Frage beantwortet das Diagramm:Welche Zustände kann ein Objekt, eine Schnittstelle, ein Use-Case,… bei welchen Ereignissen annehmen?

Stärken: • Präzise Abbildung eines Zustandsmodells mit Zuständen, Ereignissen, Nebenläufigkeiten, Bedingungen, Ein- und Austrittsaktionen.

• Schachtelung möglich.

[Rupp et.a] S. 335-403

www.ambit.de

www.ambit.de28

10. Sequenzdiagramm (Sequence Diagram)

Kap

it el 2

Diese Zentrale Frage beantwortet das Diagramm:Wer tauscht mit wem welche Informationen in welcher Reihenfolge aus ?

Stärken: • Stellen den zeitlichen Ablauf des Informationsaustausches zwischen Kommunikationspartnern dar.

• Schachtelung u. Flusssteuerung (Bedingungen, Schleifen Verzweigungen) möglich.

[Rupp et.a] S. 407-485

www.ambit.de

www.ambit.de29

11. Kommunikationsdiagramm(Communication Diagram)ap

it el 2

K

Diese Zentrale Frage beantwortet das Diagramm:Wer kommuniziert mit wem? Wer „arbeitet“ im System zusammen?

Stärken: • Stellt den Informationsaustausch zwischen Kommunikationspartnern dar.

• Überblick steht im Vordergrund (Details und zeitliche Abfolge weniger wichtig)

[Rupp et.a] S. 487-498

www.ambit.de

www.ambit.de30

12. Timingdiagramm (Timing Diagram)

Kap

it el 2

Diese Zentrale Frage beantwortet das Diagramm:Wann befinden sich verschiedene Interaktionspartner in welchem Zustand?

Stärken: • Visualisiert das exakte zeitliche Verhalten von Klassen, Schnittstellen…• Geeignet f. Detailbetrachtungen, bei denen es überaus wichtig ist, dass ein Ereignis zum richtigen Zeitpunkt eintritt.

[Rupp et.a] S. 499-514

www.ambit.de

www.ambit.de31

13. Interaktionsübersichtsdiagramm(Interaction Overview Diagram)

Kap

it el 2

Diese Zentrale Frage beantwortet das Diagramm:Wann läuft welche Interaktion ab?

Stärken: • Verbindet Interaktionsdiagramme (Sequenz-, Kommunikations- und Timingdiagramme auf Top-Level-Ebene.

• Hohes Abstraktionsniveau. • Gut geeignet als Strukturierung der Interaktionsdiagramme.

[Rupp et.a] S. 515-524

www.ambit.de

www.ambit.de32

Geschafft! (Finished!)

Kap

it el 2

www.ambit.de

www.ambit.de33

Was wir skizziert haben

Kap

it el 2

Strukturdiagramme-statisch-

Klassendiagramm

Paketdiagramm

Objektdiagramm

Kompositionsstruktur-diagramm

Komponentendiagramm

Verteilungsdiagramm

Verhaltensdiagramme-dynamisch-

InteraktionsdiagrammeUse-Case-Diagramme

Aktivitätsdiagramm Sequenzdiagramm

KommunikationsdiagrammZustandsautomat

Timingdiagramm

Interaktionsübersichtsdiagramm

www.ambit.de

www.ambit.de34

Wie ist ihre Meinung/Erfahrung…

apit e

l 2K

Werden alle Diagrammtypen ausführlich benutzt?

Welche Diagramme verwenden Sie?

Klassendiagramme, -> Überblick, pragmatische Gründe

Sequenzdiagramme,

Use-Case-Diagramme,

Aktivitätsdiagramme

www.ambit.de

www.ambit.de35

UML Inhalte

1. UML Allgemein2. UML Diagramme im Überblick3. UML Diagramme im Detail

www.ambit.de

www.ambit.de36

Kapitel 3

3 UML Diagramme im Detail

Kap

it el 3

www.ambit.de

www.ambit.de37

3 UML Diagramme im Detailap

it el 3

K

3.1 Klassendiagramm (Class Diagram)3.2 Paketdiagramm (Package Diagram)3.3 Objektdiagramm (Object Diagram)3.4 Kompositionsstrukturdiagramm (Composite Structure Diagramm)3.5 Komponentendiagramm (Component Diagram)3.6 Verteilungsdiagramm (Deployment Diagram)3.7 Use-Case-Diagramm (Use Case Diagram)3.8 Aktivitätsdiagramm (Activity Diagram)3.9 Zustandsautomat (State Machine)3.10 Sequenzdiagramm (Sequence Diagramm)3.11 Kommunikationsdiagramm (Communication Diagram)3.12 Timingdiagramm (Timing Diagram)3.13 Interaktionsübersichtsdiagramm (Interaction Overview

Diagram)

www.ambit.de

www.ambit.de38

Dritter Diagrammtyp

Kap

it el 3

Strukturmodellierung[Structure Modelling]

www.ambit.de

www.ambit.de39

1. Klassendiagramm (Class Diagram)

apit e

l 3K

In Klassendiagrammen werden die Attribute und Methoden von Klassen gezeigt sowie die Beziehungender Klassen untereinander dargestellt. Bei der Darstellung von Klassen können unterschiedlicheDetailgrade gewählt werden.

Zum Beispiel: • Klassen (nur Namen)• Klasse mit Attributen• Klasse mit Attributen und Methoden/Operationen• Hinzukommen u.U. diverse Relationen/Beziehungen zwischen

Klassen

www.ambit.de

www.ambit.de40

1. Klassendiagramm (Class Diagram)

apit e

l 3

• NotationselementeK

– Klasse– Attribut– Operation– Schnittstelle– Parametriesierte Klasse – Generalisierung– Generalisierungsmenge– Assoziation– Assoziationsklasse– Abhänigkeitsbeziehung

– Verwendungsbeziehungen– Abstraktionsbeziehung– Realisierungsbeziehung– Substitutionsbeziehung– Informationsfluss – Informationseinheit

www.ambit.de

www.ambit.de41

1. Klassendiagramm – Klassen ap

it el 3

K

KlasseNormale Operation ()Abstrakte Operation()/abgeleiteteOperationklassenOperation()+publicOperation()#protectedOperation-privateOperation~package („friendly“)

<<Stereotyp>>Paket: Klasse

{Merkmale}Klasse

Attribut: Typ = Inititalwert{Zusicherung/Assertion}

Operation{Arg.liste}:Rückgabetyp{Zusicherung/Assertion}

Abstrakte Klasse

ParametriserbareKlasse

i: ElementKlasse

normales Attribut/abgeleitetes Attribut klassenAttribut+publicAttribut#protectedAttribut- private Attribut

<<metaclass>>Klasse

Klasse <Parameter>

www.ambit.de

www.ambit.de42

1. Klassendiagramm – Vererbung ap

it el 3

K

Oberklasse

Unterklasse 3

Unterklasse 1 Unterklasse 2

Landfahrzeug

PKW Motorad

Limosine Kombi

D1

D2

Diskriminator 2

Diskriminator 1

Oberklasse

Unterklasse 1 Unterklasse 2

LKW

Unterklasse 3Coupe

FordBMW

D3VW

www.ambit.de

www.ambit.de43

1. Klassendiagramm –Assoziationen

Kap

it el 3

0..6 *KlasseKlasse

<<Stereotypen>>Beziehungsname{Zusich../Merkmal}

Aggregation

Klasse Klasse

AssoziierteKlassen

Ganzes Klasse

Komposition

Existenz-abhängiger

Teil

www.ambit.de

www.ambit.de44

1. Klassendiagrammap

it el 3

K

•Siehe Part1b:„Klassendiagramme im Detail“

www.ambit.de

www.ambit.de45

1. Klassendiagrammap

it el 3

K

•CaseStudyKlassendiagramme:

Modellierung einer Party-Verwaltung

www.ambit.de

www.ambit.de46

1. Klassendiagramm – Paketeap

it el 3

K

Paket

Paket

Klasse1

Klasse2

Multiplizität

Teil

Komposition

TeilMultiplizität

Rolle

Komposition

www.ambit.de

www.ambit.de47

2. Paketdiagramm (Package Diagram)

apit e

l 3K

Das Paketdiagramm gibt die Möglichkeit die Strukturbeliebiger Systeme zu gliedern und so Sichten in verschiedenen Abstraktionen auf dem System zu beschreiben.

www.ambit.de

www.ambit.de48

2. Paketdiagramm (Package Diagram)

apit e

l 3

• NotationselementeK

– Paket– Paket-Importer / Element-Importer– Paket-Merge

www.ambit.de

www.ambit.de49

2. Paketdiagramm (Package Diagram)

apit e

l 3K

Use-Case Allgemeines Verhalten

Klassen

Aktivitäten

Zustands-automat

Interaktionen

Komponenten

Kompositions-strukturen

Verteilung

<<merge>>

<<merge>>

<<merge>>

<<merge>>

<<merge>>

<<merge>><<merge>>

<<merge>>

<<merge>> <<merge>>

www.ambit.de

www.ambit.de50

3. Objektdiagramm (Object Diagram)

apit e

l 3K

Das Objektdiagramm gibt die Möglichkeit Instanzen von– Klassen, – Komponenten, – Knoten, – Assoziationen und – Attribute

zu modellieren.

www.ambit.de

www.ambit.de51

3. Objektdiagramm (Object Diagram)

apit e

l 3

• NotationselementeK

– Instanzbeschreibung / Objekt– Werteangaben / Slots („identifier:typ = wert“)– Link („instance of an association“)

www.ambit.de

www.ambit.de52

3. Objektdiagramm (Object Diagram)

apit e

l K

3

Attributname: Datentyp = Wert

Objekt

Objektname:Classifiername

Classifiername = Name der abstrakten Klasse oder der Basisklasse

UML-Classifier = Menge von UML-Elementen, die etwas gemeinsam haben:Klasse, Komponente, Datentyp, Schnittstelle, Knoten, Signal, Subsystem

www.ambit.de

www.ambit.de53

3. Objektdiagramm (Object Diagram)

apit e

l K

3

martrikelnummer: String

Student

vorlesungBesuchen()pruefungSchreiben()

vorname: Stringname: Stringgeburtsdatum: Date

Mitarbeiter ArbeitsverhältnisFirma

zugeordneterProfessor: String

Studentischer Mitarbeiter

Arbeitnehmer Arbeitgeber

einkommen: Geld

Arbeitsverhältnis

www.ambit.de

www.ambit.de54

4. Kompositionsstrukturdiagramm(Composite Structure Diagram)ap

it el 3

K

Das Kompositionsstrukturdiagramm gibt die Möglichkeitdie interne Struktur von z.B. einer Klasse sowie seine Interaktionsbeziehungen zu anderen Systemteilen zubeschreiben.

www.ambit.de

www.ambit.de55

4. Kompositionsstrukturdiagramm(Composite Structure Diagram)• Notationselemente

– Part– Konnektor („verbindet Parts“)– Port („angebotene und benötigte Schnittstellen“)– Kollaboration– Kollaborationsanwendung

Kap

itel 3

www.ambit.de

www.ambit.de56

4. Kompositionsstrukturdiagramm(Composite Structure Diagram)

Kap

it el 3

Strukturierte Klasse(Classifier)

FahrerFenster: Fenster

1

BeifahrerFenster: Fenster

1

FondFenster: Fenster

2

FahrerSchalter: Kippschalter

1

BeifahrerSchalter: Kippschalter

1

Konnektoren(sind Verbindungen zwischen Parts, ähnlich wie Assoziationen zwischen Klassen.)

FahrzeugPart

Part- oder Rollenname

Multiplizität eines PartsKlassenname eines Parts

www.ambit.de

www.ambit.de57

Literatur

Literatur

Lite

ratu

r

www.ambit.de

www.ambit.de58

UML verwendete und weiterführende Literatur1. Wolfgang Zuser, Thomas Greching, Monika Köhle:

„Software Engineering mit UML und UnifiedProcess“; Pearson Studium, München, 2004

2. Chris Rupp, Jürgen Hahn, Stefan Queins, Mario Jeckle, Barbara Zengler: „UML 2 glasklar“; Hanser, München, 2005

3. Heide Balzert: „UML 2 kompakt“; Spektrum, Heidelberg, 2005

Recommended