70
18 Modell-basierte Sicherheit mit UML 1 Methodische Grundlagen Methodische Grundlagen des Software-Engineering des Software-Engineering SS 2011 SS 2011 Willkommen zur Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2011 Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl XIV

Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

1

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

Willkommen zur Vorlesung

Methodische Grundlagendes Software-Engineering

im Sommersemester 2011Prof. Dr. Jan Jürjens

TU Dortmund, Fakultät Informatik, Lehrstuhl XIV

Page 2: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

2

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

18. Modell-basierte Sicherheit mit UML[inkl. Beiträge von

Prof. Dr. Volker Gruhn, Universität Duisburg-Essen]

Page 3: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

01 Organisatorisches und Einleitung

3

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

EinordnungEinführung UML / UMLsec

Page 4: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

07 Business Process Mining

4

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

EinordnungEinführung UML / UMLsec

● Business Prozesse

● Qualitätsmanagement

● Testen

● Sicherheit

● Sicheres Software Design

− Einführung UML / UMLsec− Kryptographische Protokolle− Biometrische Authentifizierung− Elektronische Geldbörse− Weitere Anwendungsbeispiele

Page 5: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

5

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011UML: Einige Diagrammarten

Page 6: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

6

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011Geschichte der UML

OMG UML 2.0 2004

OMG UML 1.5 2003

OMG UML 1.4 2001

OMG UML 1.3 1999

OMG UML 1.2 1998

UML Partners UML 1.1 1997

UML Partners UML 1.0 1997

Bo., Ru., Ja. UML 0.9 1996

Booch, Rumbaugh Unified Method 0.8 1995 Jacobson OOSE 1995

Rumbaugh et al. OMT 1991 Booch OOD 1992

Einsatzerfahrung der Sprachschöpfer

Integration der Object Constraint Language

XML Metadata Interchange

Erfahrungen der Anwender

OMG übernimmt Copyright

OMG UML 2.1 2007

OMG UML 2.2 2009

OMG UML 2.3 2010

Page 7: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

7

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011UML Spezifikation

UML 2.0

InfrastructureMOF2

StatischerAnteil

DynamischerAnteil

OCL DiagramInterchange

Superstructure

nutzt

nutzt

nutzt

überträgt

Page 8: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

8

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011UML Spezifikation

● Definition der Modellierungssprache

● Bestandteile− Abstrakte Syntax

● Modellelemente− Statische Semantik

● Wohlgeformtheit− Konkrete Syntax

● Notation, ggf. graphische Symbole− Dynamische Semantik

● Verwendung, Bedeutung

Metamodell+ Constraints (OCL)

Page 9: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

9

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML Metamodell BeispielCore::Basic:ClassDiagram

Page 10: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

10

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011Metamodellierung

● Modelle sind Instanzen ihrer Metamodelle

● Beispiel Diagramm vs. Metamodell-Instanzen

● Metamodelle definieren Modellelemente− „Sprachdefinition“

● Metamodelle für:− Maschinenlesbarkeit− Validierung− Speicherung von Modellen (Repositories)− Datenaustausch/Interoperabilität− Definition von Transformationen

Page 11: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

11

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011Meta Ebenen

● M0-Ebene − Konkret. Ausgeprägte Daten.

● M1-Ebene − Modelle. Zum Beispiel physikalische oder logische Daten-

oder Prozessmodelle oder konkrete Ausprägungen von UML- bzw. Objekt-Modellen, welche die Daten der M0-Ebene definieren.

● M2-Ebene − Meta-Modelle. Definieren, wie die Modelle aufgebaut und

strukturiert sind. Zum Beispiel definieren Sprachelemente wie Klassen, Assoziationen und Attribute der UML 2.0, wie konkrete UML-Modelle aufgebaut sein können.

Page 12: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

12

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011Meta Ebenen

● M3-Ebene − Meta-Meta-Modelle (bzw. MOF-Ebene). Abstrakte Ebene,

die zur Definition der M2-Ebene herangezogen wird. Die Definition der M3-Ebene erfolgt mit den Mitteln der M3-Ebene selbst, dies stellt den Abschluss einer sonst unendlichen Metaisierung dar.

Page 13: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

13

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011Meta Ebenen

Page 14: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

14

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011Metamodellierung

● Wege zum „eigenen“ Metamodell− Eigenes Metamodell „from scratch“

● aufwändig− Direkte, beliebige Erweiterung/Anpassung eines

Metamodells

● Setzt uneingeschränkten Zugriff auf das Metamodell voraus und verletzt ggf. exisitierende Semantik

− Erweiterung des UML-Metamodells durch

● UML Profile● Vorgesehene Schnittstelle zum UML-Metamodell● Lediglich Verfeinerung

Page 15: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

15

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML ProfilErweiterungsmöglichkeiten

Stereotypen: spezialisiert die Benutzung von Modellelementen <<label>>.

Tagged value: fügt {tag=value} Paare zu stereotypisierten Elementen hinzu.

Constraint: verfeinert die Semantik eines stereotypisierten Elements.

Profil: sammelt obige Informationen.

Page 16: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

16

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML ProfilErweiterungsmöglichkeiten

Stereotypen

Page 17: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

17

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML ProfilErweiterungsmöglichkeiten

Tagged Values

Page 18: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

18

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML ProfilErweiterungsmöglichkeiten

Constraints

Inv:Self. ...

Inv:Self. ...

Page 19: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

19

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML ProfilBeispiel

Page 20: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

20

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML ProfilBeispiel

UMLSec Profil

Page 21: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

21

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML ProfilBeispiel

UMLMetamodell

Page 22: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

22

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011UML Diagrammtypen

Strukturdiagramme Verhaltensdiagramme

UML-Diagramme

Interaktionsdiagramme

Interaktionsübersichtsdiagramm

Aktivitätsdiagramm

Kommunikationsdiagramm

Klassendiagramm

Sequenzdiagramm

Verteilungsdiagramm

Kompositionsstrukturdiagramm

Timingdiagramm

Komponentendiagramm

Zustandsautomat

Objektdiagramm

Paketdiagramm

Anwendungsfalldiagramm

Unterschiede zwischen UML 1.x und UML 2.0:

hoch mittel

gering

Page 23: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

23

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011UMLsec-relevante Diagrammtypen

Strukturdiagramme Verhaltensdiagramme

UML-Diagramme

Interaktionsdiagramme

Interaktionsübersichtsdiagramm

Aktivitätsdiagramm

Kommunikationsdiagramm

Klassendiagramm

Sequenzdiagramm

Verteilungsdiagramm

Kompositionsstrukturdiagramm

Timingdiagramm

Komponentendiagramm

Zustandsautomat

Objektdiagramm

Paketdiagramm

Anwendungsfalldiagramm

Unterschiede zwischen UML 1.x und UML 2.0:

hoch mittel

gering

Page 24: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

24

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011UMLsec-relevante Diagrammtypen

Anwendungsfalldiagramm: Enthält die Anforderungen an das System

Klassendiagramm: Datenstruktur des Systems

Zustandsdiagramm: dynamisches Verhalten der Komponenten

Aktivitätsdiagramm: Steuerung des Ablaufs zwischen den Komponenten

Sequenzdiagramm: Interaktion durch Nachrichtenaustausch

Verteilungsdiagramm: Physikalische Umgebung

Paket/Subsystem: Fasst Diagramme eines Systemteils zusammen

Page 25: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

25

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011UMLsec Anmerkungen

● UML2 Vorstellung auf UMLsec relevante Diagramme beschränkt

● UMLsec auf UML 1.5 definiert− Beispiele können von UML 2 Abweichen

● UMLsec wurde zum Großteil schon auf UML 2 angehoben (Siehe UMLSec4UML2 Profil), aber um Verwirrung vorzubeugen alle Beispiele in UML 1.5

Page 26: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

26

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufKlassendiagramm

Strukturdiagramme Verhaltensdiagramme

UML-Diagramme

Interaktionsdiagramme

Interaktionsübersichtsdiagramm

Aktivitätsdiagramm

Kommunikationsdiagramm

Klassendiagramm

Sequenzdiagramm

Verteilungsdiagramm

Kompositionsstrukturdiagramm

Timingdiagramm

Komponentendiagramm

Zustandsautomat

Objektdiagramm

Paketdiagramm

Anwendungsfalldiagramm

Unterschiede zwischen UML 1.x und UML 2.0:

hoch mittel

gering

Page 27: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

27

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufKlassendiagramm

● Diese zentrale Frage beantwortet das Diagramm:− Aus welchen Klassen besteht mein System und wie stehen

diese untereinander in Beziehung?

● Diese Stärken hat das Diagramm:− beschreibt die statische Struktur des Systems− enthält alle Strukturzusammenhänge und Datentypen− ist Brücke zu dynamischen Diagrammen

Page 28: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

28

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufKlassendiagramm

● Änderungen gegenüber früheren UML-Versionen− Unsauberkeiten wurden beseitigt, einige Elemente wurden

überarbeitet (z. B. copy- oder become-Stereotypen).− Sonst keine wesentlichen Änderungen.

● Besondere Hinweise− Klassen sollten mit einem Hauptwort im Singular benannt

werden.− In den Namen sollten Sonderzeichen und Umlaute

vermieden werden.

Page 29: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

29

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufKlassendiagramm

Partyteilnehmer

- betrunken : Boolean = false

+ trinke ()

+ abbrechen()

+ termin : Datum

Feier

besucht

+ feiere()

Gast

+ begrüßen()+ verabschieden ()

- hektisch : Boolean = true

Gastgeber

verabschiedet

empfängt

1..*

1..*

+ name : String

Zutat

Cocktail

Barmixertreibt an

mixt für

0..*

1

1..*

1

1

1

1

1

1

2..*

Page 30: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

30

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UMLsec Beispiel Klassendiagramm

Klassenstruktur des Systems.

Klasse mit Attributen und Operation / Signalen, Beziehungen zwischen Klassen.

Page 31: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

31

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufVerteilungsdiagramm

Strukturdiagramme Verhaltensdiagramme

UML-Diagramme

Interaktionsdiagramme

Interaktionsübersichtsdiagramm

Aktivitätsdiagramm

Kommunikationsdiagramm

Klassendiagramm

Sequenzdiagramm

Verteilungsdiagramm

Kompositionsstrukturdiagramm

Timingdiagramm

Komponentendiagramm

Zustandsautomat

Objektdiagramm

Paketdiagramm

Anwendungsfalldiagramm

Unterschiede zwischen UML 1.x und UML 2.0:

hoch mittel

gering

Page 32: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

32

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufVerteilungsdiagramm

● Problem:− Es soll die Verteilung der Software des Systems auf die

Hardware beschrieben werden.

● Diese zentrale Frage beantwortet das Diagramm:− Wie sieht das Einsatzumfeld (Hardware, Server,

Datenbanken etc.) des Systems aus? − Wie werden die Komponenten zur Laufzeit wohin verteilt?

Page 33: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

33

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufVerteilungsdiagramm

● Diese Stärken hat das Diagramm:− zeigt das Laufzeitumfeld des Systems mit den greifbaren

Systemteilen− Darstellung von „Softwareservern“ möglich− hohes Abstraktionsniveau, kaum Notationselemente

Page 34: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

34

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufVerteilungsdiagramm

● Änderungen gegenüber früheren UML-Versionen− Es wurde eine bessere Unterscheidung zwischen Soft- und

Hardware-Ausführungsumgebungen vorgenommen.− Verwendung von Artefakten.

● Besondere Hinweise− Beschränkt euch durchgängig auf eine Darstellungsvariante,

wenn mehrere Notationsvarianten möglich sind (z.B. mit oder ohne Deploy-Beziehungen).

Page 35: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

35

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufVerteilungsdiagramm

<<artifact>>

Application.jar

<<device>>

: DB Server

<<device>>

: Application Server

<<ExecutionEnvironment>>: J2EE Server

Datenhaltung1..* 1..*

<<deployment spec>>

AppDesc.xml

execution : thread

<<deploy>>

Page 36: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

36

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UMLsec BeispielVerteilungsdiagramm

Erklärt die physikalische Ebene, auf der das System implementiert wird.

Page 37: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

37

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufPaketdiagramm

Strukturdiagramme Verhaltensdiagramme

UML-Diagramme

Interaktionsdiagramme

Interaktionsübersichtsdiagramm

Aktivitätsdiagramm

Kommunikationsdiagramm

Klassendiagramm

Sequenzdiagramm

Verteilungsdiagramm

Kompositionsstrukturdiagramm

Timingdiagramm

Komponentendiagramm

Zustandsautomat

Objektdiagramm

Paketdiagramm

Anwendungsfalldiagramm

Unterschiede zwischen UML 1.x und UML 2.0:

hoch mittel

gering

Page 38: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

38

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufPaketdiagramm

● Problem:− Große Softwaresysteme mit mehreren 100 Klassen lassen

sich nicht mehr von einer Person überblicken.

● Diese zentrale Frage beantwortet das Diagramm:− Wie kann ich mein Modell so schneiden, dass ich den

Überblick bewahre?

● Diese Stärken hat das Diagramm:− organisiert das Systemmodell in größeren Einheiten durch

logische Zusammenfassung von Modellelementen− Modellierung von Abhängigkeiten und Inklusionen ist

möglich

Page 39: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

39

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufPaketdiagramm

● Änderungen durch UML 2:− Insgesamt: keine Änderungen!− Jedoch: Der Importmechanismus (insbesondere

Behandlung und Verschmelzung von Namensräumen) prominenter dokumentiert

Page 40: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

40

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufPaketdiagramm

● Inhalt:− P3 importiert A

(P1) als private− P3 importiert B

(P2) als public− P4 importiert P3

● Folge:− P4 darf nicht auf

A zugreifen− P4 darf auf B

zugreifen

<<access>>

P1

A

P2

B

P3 P4

<<import>>

<<import>>

Page 41: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

41

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UMLsec BeispielPaketdiagramm

Kann benutzt werden, um UML Element zu einer Gruppe zusammen zu fügen.

Page 42: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

42

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufAktivitätsdiagramm

Strukturdiagramme Verhaltensdiagramme

UML-Diagramme

Interaktionsdiagramme

Interaktionsübersichtsdiagramm

Aktivitätsdiagramm

Kommunikationsdiagramm

Klassendiagramm

Sequenzdiagramm

Verteilungsdiagramm

Kompositionsstrukturdiagramm

Timingdiagramm

Komponentendiagramm

Zustandsautomat

Objektdiagramm

Paketdiagramm

Anwendungsfalldiagramm

Unterschiede zwischen UML 1.x und UML 2.0:

hoch mittel

gering

Page 43: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

43

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufAktivitätsdiagramm

● Problem:− Es sollen Abläufe, z.B. Geschäftsprozesse, modelliert

werden. Im Vordergrund steht dabei eine Aufgabe, die in Einzelschritte zerlegt werden soll.

− Es sollen Details eines Anwendungsfalles festgelegt werden.

● Diese zentrale Frage beantwortet das Diagramm:− Wie realisiert mein System ein bestimmtes Verhalten?

Page 44: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

44

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufAktivitätsdiagramm

● Diese Stärken hat das Diagramm:− Detaillierte Visualisierung von Abläufen mit Bedingungen,

Schleifen und Verzweigungen.− Parallelisierung und Synchronisation ist möglich.− Darstellung von Daten- und Kontrollflüssen.

Page 45: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

45

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufAktivitätsdiagramm

● Änderungen gegenüber früheren UML-Versionen− sind jetzt keine Sonderform der Zustandsdiagramme mehr,

sondern basieren auf erweiterten Petri-Netzen− damit sind viele Einschränkungen beseitigt:

● verbesserte Testbarkeit● fast automatisch erkennbare Verklemmungsfreiheit● bessere Unterstützung paralleler Flüsse● Ausführbarkeit fast vollständig möglich● mehr Flexibilität in der Modellierung durch das Tokenkonzept

Page 46: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

46

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufAktivitätsdiagramm stark geändert in UML2

● Tokenkonzept− Ein Token (auch: Marke) zeigt an, an welchem Punkt sich

der Ablauf gerade befindet. − Es können beliebig viele Token unterwegs sein (parallele

Abläufe).− Token werden graphisch nicht dargestellt, sondern dienen

nur der Erklärung der Abläufe.

Page 47: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

47

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufAktivitätsdiagramm

● Besondere Hinweise− Für die Modellierung reaktiver Systeme sollten lieber

Zustandsautomaten verwendet werden.− Verzweigungen und deren Bedingungen sollten immer exakt

modelliert werden.

Page 48: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

48

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufAktivitätsdiagramm

Einkaufen

Zeitpunkt wählen Gäste einladen

[Zusagen < 50%] [Zusagen >= 50%]

Essen kochen Getränke kalt stellenEssen wegwerfen

Partyservice bestellen

[Essenverbrannt]

[Essengenießbar]

Feiern

Partygäste zählen

Vorräte prüfen

Party beenden

bei Tankstellenachrüsten

Nahrung vertilgen

[<10% sind noch da]

[>=10% sind noch da]

[keine Vorräte vorhanden]

[Vorräte vorhanden]

Essensreste wegwerfen

Müll rausbringen

{weight = 5}

Party abbrechen

betrunken insBett fallen

1

Warnung derPolizei 1

Page 49: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

49

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

Spezifiziert den Kontrollfluss zwischen Komponenten desselben Systems. Ist auf einer höheren Abstraktionsebene als Zustands- und Sequenzdiagramme.

UMLsec BeispielAktivitätsdiagramm

Page 50: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

50

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufAnwendungsfalldiagramm

Strukturdiagramme Verhaltensdiagramme

UML-Diagramme

Interaktionsdiagramme

Interaktionsübersichtsdiagramm

Aktivitätsdiagramm

Kommunikationsdiagramm

Klassendiagramm

Sequenzdiagramm

Verteilungsdiagramm

Kompositionsstrukturdiagramm

Timingdiagramm

Komponentendiagramm

Zustandsautomat

Objektdiagramm

Paketdiagramm

Anwendungsfalldiagramm

Unterschiede zwischen UML 1.x und UML 2.0:

hoch mittel

gering

Page 51: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

51

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufAnwendungsfalldiagramm

● Problem:− Das externe Verhalten des Systems soll aus Nutzersicht

dargestellt werden.

● Diese zentrale Frage beantwortet das Diagramm:− Was leistet mein System für seine Umwelt

(Nachbarsysteme, Stakeholder)?

● Diese Stärken hat das Diagramm:− präsentiert die Außensicht auf das System− geeignet zur Kontextabgrenzung− hohes Abstraktionsniveau, einfache Notationsmittel

Page 52: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

52

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufAnwendungsfalldiagramm

● Änderungen gegenüber früheren UML-Versionen− Akteure müssen benannt werden− Die <<extend>>-Beziehung kann Vorbedingungen und

extension points besitzen.

● Besondere Hinweise− Anwendungsfälle sollten nicht zur detaillierten Beschreibung

von Operationen oder Funktionen verwendet werden.− Es sollten keine nicht-funktionalen Anforderungen

beschrieben werden.− Anwendungsfälle sollten immer die Anwendersicht, nie die

Entwicklersicht widerspiegeln.

Page 53: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

53

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufAnwendungsfalldiagramm

Einweihungsfeier

Gast

Gastgeber

Polizei

Tanzen

Unterhalten

Gäste hinausbegleiten

Feier auflösen

Feier abrupt beenden

Pizzaserviceanrufen

<<include>>

<<include>>

extension pointsNachschub

Trinkenextension points

Nachschub

Essen

<<extend>>

<<extend>>

condition: {Kühlschrank leer}

Page 54: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

54

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UMLsec BeipspielAnwendungsfalldiagramm

Spezifiziert einen Anwendungsfall des Systems: Szenario einer Funktionalität, die einem Benutzer oder einem anderen System angeboten wird.

Akteure die mit einer Aktivität verknüpft sind.

Page 55: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

55

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufZustandsautomat

Strukturdiagramme Verhaltensdiagramme

UML-Diagramme

Interaktionsdiagramme

Interaktionsübersichtsdiagramm

Aktivitätsdiagramm

Kommunikationsdiagramm

Klassendiagramm

Sequenzdiagramm

Verteilungsdiagramm

Kompositionsstrukturdiagramm

Timingdiagramm

Komponentendiagramm

Zustandsautomat

Objektdiagramm

Paketdiagramm

Anwendungsfalldiagramm

Unterschiede zwischen UML 1.x und UML 2.0:

hoch mittel

gering

Page 56: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

56

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufZustandsautomat

● Diese zentrale Frage beantwortet das Diagramm:− Welche Zustände kann ein Objekt, eine Schnittstelle, ein

Anwendungsfall etc. bei welchen Ereignissen annehmen?

● Diese Stärken hat das Diagramm:− Präzise Abbildung eines Zustandmodells mit Zuständen,

Ereignissen, Nebenläufigkeiten, Bedingungen, Ein- und Austrittsaktionen

− Schachtelung möglich

Page 57: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

57

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufZustandsautomat

● Beschreibung des Verhaltens von Anwendungsfällen− Die formale Modellierung von Anwendungsfällen hat

folgende Vorteile:

● Sie sind eindeutig und weniger interpretierbar.● Es können Testfälle abgeleitet werden.

● Beschreibung des Verhaltens von Klassen− Dem Attribut einer Klasse wird im Allgemeinen ein Datentyp

zugeordnet.− Wenn der Datentyp eine endliche Menge von gültigen

Werten besitzt, dann ergeben sich die verschiedenen Zustände der Klasse aus allen möglichen Kombinationen dieser Zustandsvariablen.

Page 58: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

58

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufZustandsautomat

● Protokollzustandsautomaten− Unter einem Protokoll versteht man hier die erlaubte Abfolge

von Aufrufen der Operationen, die von einem Classifier angeboten werden.

Page 59: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

59

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufZustandsautomat

● Änderungen gegenüber früheren UML-Versionen− verbesserte Verknüpfung von statischen Elementen und

dahinter liegenden Zustandsmodellen− Protokollzustandsautomaten wurden zur präzisen Definition

von Schnittstellen und Ports eingeführt.

● Besondere Hinweise− Es sollten niemals Zustände existieren, die nur eingehende,

aber keine ausgehenden Transitionen besitzen (ansonsten ist das Modell unvollständig).

− Es sollten nach Möglichkeit häufig Kreuzungspunkte verwendet werden, um die Lesbarkeit zu erhöhen.

Page 60: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

60

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufZustandsautomat

sm AuthentifizierenKarte

eingeführt

korrekte Bankkarte

entry / Karte prüfen

[Karte = keine Bankkarte] / Karte ausgeben

[Karte = Bankkarte]

[Gültigkeit = abgelaufen] / Bankkarte einziehenPincode-

Eingabe

[Gültigkeit = gültig]

[# >= 3] / Bankkarte einziehen[# <3]

[Pin = falsch] / #++

Pin eingegeben

[Pin = richtig]

Bankautomat

Kontostand überprüfen

Geld abhebenAuthentifizieren

Bankkunde

Page 61: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

61

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UMLsec BeispielZustandsautomat

Dynamisches Verhalten der einzelnen Komponenten.

Die Eingabe verursacht einen Zustandsübergang und möglicherweise eine Ausgabe.

Page 62: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

62

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufSequenzdiagramm

Strukturdiagramme Verhaltensdiagramme

UML-Diagramme

Interaktionsdiagramme

Interaktionsübersichtsdiagramm

Aktivitätsdiagramm

Kommunikationsdiagramm

Klassendiagramm

Sequenzdiagramm

Verteilungsdiagramm

Kompositionsstrukturdiagramm

Timingdiagramm

Komponentendiagramm

Zustandsautomat

Objektdiagramm

Paketdiagramm

Anwendungsfalldiagramm

Unterschiede zwischen UML 1.x und UML 2.0:

hoch mittel

gering

Page 63: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

63

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufSequenzdiagramm

● Diese zentrale Frage beantwortet das Diagramm:− Wer tauscht mit wem welche Informationen in welcher

Reihenfolge aus?

● Diese Stärken hat das Diagramm:− stellt detailliert den Informationsaustausch zwischen

Kommunikationspartnern dar− sehr präzise Darstellung der zeitlichen Abfolge auch mit

Nebenläufigkeiten− Schachtelung und Flusssteuerung (Bedingungen, Schleifen,

Verzweigungen) möglich

Page 64: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

64

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufSequenzdiagramm

● Bedeutung des Diagramms− Das Sequenzdiagramm ist das meistverwendeste unter den

Interaktionsdiagrammen.

● Gegenstand des Diagramms− Es zeigt den zeitlichen Verlauf der Interaktion zwischen

mehreren Kommunikationspartnern (2 Dimensionen).

Page 65: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

65

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufSequenzdiagramm

● Häufige Anwendungsfälle− Die Abfolge der Nachrichten ist wichtig.− Die durch Nachrichten verursachten Zustandsübergänge

sind kaum relevant.− Die Interaktionen sind kompliziert.− Die strukturelle Verbindung zwischen den

Kommunikationspartner ist nicht relevant.− Es stehen Ablaufdetails im Vordergrund.

Page 66: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

66

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufSequenzdiagramm

● Änderungen gegenüber früheren UML-Versionen− ist strukturier- und zerlegbar− Sequenzen können damit beliebig ineinander verschachtelt

werden.− viele Möglichkeiten zur Steuerung von Kontrollflüssen und

Nebenläufigkeiten− Alle wesentlichen Konstrukte aus den beliebten Message

Sequence Charts (MSC) wurden übernommen.

Page 67: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

67

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufSequenzdiagramm

● Besondere Hinweise− Es sollten häufig Interaktionsreferenzen genutzt werden, um

das Diagramm übersichtlich zu gestalten.− Es sollten an kritischen Stellen auch die falschen Abläufe

mit den entsprechenden kombinierten Fragmenten modelliert werden.

Page 68: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

68

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

UML im SchnelldurchlaufSequenzdiagramm

sd Wäsche waschen

par

Waschmaschine

Hausmann

Wäsche waschen

Wäsche trocknen

<<extend>>

Benutzer

Steuerung

+ einschalten()

Wasserventil

+ öffnen()+ schließen()

Heizelement

+ Wasser erhitzen (Temperatur)

Pumpe

+ abpumpen()

Motor

+ waschen()+ schleudern()

:Benutzer :Steuerung :Wasserventil :Heizelement :Motor :Pumpe

einschalten öffnen

Wasser erhitzen (Temperatur=30)

schließen

waschen

abpumpen

schleudern

abpumpen

Use-Case-Diagramm

Klassendiagramm

Sequenzdiagramm

Page 69: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

18 Modell-basierte Sicherheit mit UML

69

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011

Verdeutlicht die Interaktion zwischen Objekten und Komponenten per Nachrichtenaustausch.

UMLsec BeispieleSequenzdiagramm

Page 70: Willkommen zur Vorlesung Methodische Grundlagen des ... · des Software-Engineering SS 2011 UML im Schnelldurchlauf Aktivitätsdiagramm stark geändert in UML2 Tokenkonzept − Ein

07 Business Process Mining

70

Methodische Grundlagen Methodische Grundlagen des Software-Engineeringdes Software-Engineering

SS 2011SS 2011Zusammenfassung

● Diese Folien beinhalteten:− UML & Metaebenen− UML Profil− UML Diagramme

● Klassendiagramm● Verteilungsdiagramm● Paketdiagramm● Aktivitätsdiagramm● Anwendungsfalldiagramm● Zustandsdiagramm● Sequenzdiagramm