View
106
Download
1
Category
Preview:
Citation preview
Frank Simon, BTU Cottbus: Einführung in UML 1
UML-Historie (1/2)
Vereinheitlichung und Erweiterung bestehender OO-Modellierungstechniken: Grady Booch (OOD, “Wolkenklassen”) James Rumbaugh (OMT) Ivar Jacobsen (Use-Cases)
Januar 1997: Version 1.0 (von OMG als Standard gewählt); heute: Version 1.3 in Vorbereitung
Exakte Spezifikation unter: http://www.rational.com
Frank Simon, BTU Cottbus: Einführung in UML 2
UML-Historie (2/2)
Frank Simon, BTU Cottbus: Einführung in UML 3
Ziel von UML:
Objektorientierte Modellierung aller Systeme in allen Entwicklungsstufen.
Umfangreiche Dokumentation. Detaillierte Spezifikation der Semantik. Verfügbarkeit, Akzeptanz, Erweiterbarkeit
Frank Simon, BTU Cottbus: Einführung in UML 4
Views (Ansichten)
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Frank Simon, BTU Cottbus: Einführung in UML 5
User-View (1/5)
Wie sieht der Anwender das System? Beschreibt das Problem und die Lösung aus der Sicht derjenigen
Menschen, dessen Probleme durch die Lösung angesprochen werden.
Summe aller Beschreibungen bildet die externe Sicht des Systems. UML-Notationen:
Use-CasesUse-Cases
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Frank Simon, BTU Cottbus: Einführung in UML 6
User-View (2/5): Use Case Diagramme Einsatz
Analysephase Kommunikation mit Auftraggeber / Benutzer Erfassung von Anwendungsfällen (Use Cases)
Elemente
Akteure
System
Use Cases
Kommentare
Beziehungen
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Name
Name
<<Acteur>>NameName
Frank Simon, BTU Cottbus: Einführung in UML 7
User-View (3/5): Use Case Diagramme
Beziehungen (Fts): <<uses>>:
Ein Anwendungsfall D benutzt (uses) einen Anwendungsfall B, wenn er dessen Verhalten beinhaltet. Die <<uses>>-Beziehung faktorisiert gemeinsames Verhalten aus Anwendungsfällen heraus, um es in verschiedenen anderen Fällen benutzen zu können.
<<extends>>:Ein Anwendungsfall D erweitert (extends) einen Anwendungsfall B, wenn er an einem Erweiterungspunkt zusätzliches spezialisiertes Verhalten einfügt.
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Name Name<<uses>>
Name Name<<extends>>
Frank Simon, BTU Cottbus: Einführung in UML 8
User-View (4/5): Use Case DiagrammeBeispiel 1: S
tructural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Frank Simon, BTU Cottbus: Einführung in UML 9
User-View (5/5): Use Case DiagrammeBeispiel 2:
Frank Simon, BTU Cottbus: Einführung in UML 10
Structural View (1/11)
Modelliert statische Struktur der Problemwelt und der Lösung (logische Sicht).
Ignoriert weitestgehend Verhalten des Systems. Anwendbar auf verschiedenen Abstraktionsniveaus
Durchgängig benutzbar von Analyse bis zur Wartung UML-Notationen:
KlassendiagrammeKlassendiagramme (Statische Struktur des Systems) Objektdiagramme Objektdiagramme (Statische Struktur des Systems zu einem
bestimmten Zeitpunkt während der Ausführung. Beschreiben konkrete Instanziierung eines Klassendiagramms.)
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Frank Simon, BTU Cottbus: Einführung in UML 11
Structural View (2/11): Klassendiagramme
Elemente Klassen: Beschreibung von einer Menge von Objekten mit gleichen
strukturellen Eigenschaften und gleichem Verhalten.
Sichtbarkeit: + public, # protected, - private Besonderheiten: Klassenvariablen und -methoden, abstrakte
Klassen/Methoden
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
(Stereotyp)Name
Attribute [:type [=initval]]
Operation (arglist): retype
Nameoder
Frank Simon, BTU Cottbus: Einführung in UML 12
Structural View (3/11): Klassendiagramme
Elemente (Fts) Interfaces:
Definieren eine Menge von extern verfügbarenOperationen, die anderen Klassen angeboten werden.
Templates:Beschreiben eine Familie vonKlassen, die eine gemeinsameForm haben. Spezielle Klassenlegen freie Parameter der Template-Klasse fest.
Entwurfsmuster:Standardentwürfe für Teilprobleme
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
NameName
Name
Parameter-List
Name
<<bind>> (Value-List)
Entwurfs-muster
Klasse1
Klasse2
Rolle
Rolle
Frank Simon, BTU Cottbus: Einführung in UML 13
Structural View (4/11): Klassendiagramme
Beziehungen: Assoziationen (binär)
Beschreiben Verbindungenzwischen Klassen.
Zahlen oder * an den Endender Assoziationen geben an,wieviele Objekte der Klasse manan diesem Ende finden kann, wenn man von einem Objekt auf der anderen Seite ausgeht. Keine Angabe= 1
„Name“ sollte durch ein die Leserichtung vorgeben. Gerichtete Assoziationen (Pfeilspitze) kennzeichnen lediglich Referenzen in Pfeilrichtung.
Assoziationen (n-är) Raute, die mit den
beteiligten Klassen verbunden ist.
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Klasse1 Klasse2
Rol
le1
Rol
le2
Name* | n
..m
* | n
..m
Klasse3Klasse1
Klasse2
Name
Frank Simon, BTU Cottbus: Einführung in UML 14
Structural View (5/11): Klassendiagramme
Beziehungen (Fts) Assoziation (Fts)
Qualifizierte AssoziationZugriffsschlüssel auf beteiligteKlasse.
AggregationGanzes-Teil-Beziehung
Kardinalitäten wie bei AssoziationStandard 1:n
KompositionStrengere Form der Aggregation,Teil vom Ganzen existenzabhängig.
Kardinalitäten wie bei Aggregation
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Klasse1 Klasse2Name
Klasse1 Klasse2
Klasse1 Klasse2
Frank Simon, BTU Cottbus: Einführung in UML 15
Structural View (6/11): Klassendiagramme Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Beziehungen (Fts) Vererbung
Generalisierung/Spezialisierung
Klasse1
Klasse2 Klasse3
Frank Simon, BTU Cottbus: Einführung in UML 16
Structural View (7/11): 1. Beispiel
Kardinalitäten?
Frank Simon, BTU Cottbus: Einführung in UML 17
Structural View (8/11): 2. Beispiel
Frank Simon, BTU Cottbus: Einführung in UML 18
Structural View (9/11): Objektdiagramme
Variante des Klassendiagramms Zeigt alle in Beziehung stehenden Instanzen „Snapshot“ eines (Teil-) Systems Können verwendet werden, um spezielle
Objektkonfigurationen zu untersuchen. Notation:
InstanzName:Klassenname Nur einfache Links zwischen Klassen Keine Methoden
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Frank Simon, BTU Cottbus: Einführung in UML 19
Structural View (10/11): Objektdiagramme1. Beispiel
t=x
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Frank Simon, BTU Cottbus: Einführung in UML 20
Structural View (11/11): Objektdiagramme2. Beispiel
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Frank Simon, BTU Cottbus: Einführung in UML 21
Behavioral View (1/15)
Modelliert dynamische Aspekte des Systems, sein Verhalten Ignoriert weitestgehend Struktur des Systems. Anwendbar auf verschiedenen Abstraktionsniveaus
Durchgängig benutzbar von Analyse bis zur Wartung UML-Notationen:
Sequenz-DiagrammeSequenz-Diagramme: Stellt den Fluß von Nachrichten zwischen Objekten im Zeitablauf dar. Kooperations-DiagrammeKooperations-Diagramme: Andere Form der Sequenzdiagramme mit Fokus auf der
Verantwortlichkeit und Kooperation der beteiligten Objekte. Statechart-DiagrammeStatechart-Diagramme: Geben an, bei welchen Ereignissen Objekte einer Klasse ihren
Zustand ändern und welche Reaktionen sie dabei zeigen. Aktivitäts-DiagrammeAktivitäts-Diagramme: Andere Form der Statechart-Diagramme, wobei meistens in
Zuständen eine Aktivität ausgeführt wird und die meisten Zustandsübergänge durch das Ende einer Aktivität ausgelöst wird.
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Frank Simon, BTU Cottbus: Einführung in UML 22
Elemente Objektinstanz mit Lebenslinie
Aktivierung eines Objektes
Nachricht / Antwort
Rekursion
Löschen eines Objektes
Behavioral View (2/15): Sequenzdiagramme
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Name
Name()
Name
Frank Simon, BTU Cottbus: Einführung in UML 23
Behavioral View (3/15): Sequenzdiagramme1. Beispiel
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Frank Simon, BTU Cottbus: Einführung in UML 24
Behavioral View (4/15): Sequenz-diagramme2. Beispiel
Frank Simon, BTU Cottbus: Einführung in UML 25
Elemente Objektinstanz
Nachricht
Erstellung /Löschen
Reihenfolge
Behavioral View (5/15): Kooperationsdiagramme Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Objekt::Klasse
Name
Reihenfolge-Nr.(geschachtelt) Name
New() Destroy()
Frank Simon, BTU Cottbus: Einführung in UML 26
Behavioral View (6/15): Kooperationsdiagramme1. Beispiel
Frank Simon, BTU Cottbus: Einführung in UML 27
Behavioral View (7/15): Kooperationsdiagramme2. Beispiel
Frank Simon, BTU Cottbus: Einführung in UML 28
Behavioral view (8/15): Statechart-Diagramme(erweiterte Zustandsautomaten)
Elemente Zustand
(Ausprägung von Eigenschafteneines Objektes, die über einegewisse Zeitspanne konstant ist)
Anfangszustand
Endzustand
Zustandsüberführung
Zustandshierarchie
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Name
Aktivitäten(entry, do, exit)
Ereignis [Bedingung]/ Aktion
E/A
Frank Simon, BTU Cottbus: Einführung in UML 29
Elemente (Fts.) Nebenläufige Zustände
Synchronisation
Behavioral view (9/15): Statechart-Diagramme Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Frank Simon, BTU Cottbus: Einführung in UML 30
Behavioral view (10/15): Statechart-Diagramme1. Beispiel
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Frank Simon, BTU Cottbus: Einführung in UML 31
Behavioral view (11/15): Statechart-Diagramme2. Beispiel
Frank Simon, BTU Cottbus: Einführung in UML 32
Elemente Aktivität
Aktivitätswechsel
Entscheidung
Synchronisation / Splitting
Behavioral view (12/15): Aktivitäts-Diagramme Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Name
[Bedingung]
[Bedingung1]
[Bedingung2]
Frank Simon, BTU Cottbus: Einführung in UML 33
Elemente (Fts.) Startaktivität
Endaktivität
Mitführen vonrelevanten Objektenund deren Zustand
Behavioror view (13/15): Aktivitäts-Diagramme Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Objekt::Klasse[Zustand]
Frank Simon, BTU Cottbus: Einführung in UML 34
Behavioral view (14/15): Aktivitäts-Diagramme1. Beispiel
Frank Simon, BTU Cottbus: Einführung in UML 35
Behavioral view (15/15): Aktivitäts-Diagramme 2. Beispiel
Frank Simon, BTU Cottbus: Einführung in UML 36
Implementation view (1/3)
Beschreibt Struktur der Realisierung (Komponenten, Beziehungen und Abhängigkeiten)
Ignoriert weitestgehend Struktur des Anwendungssystems. Anwendbar auf der Ebene der Implementierung. UML-Notationen:
Komponenten-DiagrammKomponenten-Diagramm
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Frank Simon, BTU Cottbus: Einführung in UML 37
Elemente: Komponente
(Quellcodes, Libraries,Programme...)
Aufruf, Abhängigkeit
Implementation view (2/3): Komponenten-Diagramm
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Name:Typ
Frank Simon, BTU Cottbus: Einführung in UML 38
Implementation view (3/3): Komponenten-Diagramm, 1. Beispiel
Frank Simon, BTU Cottbus: Einführung in UML 39
Environment view (1/3)
Modelliert strukturelle Aspekte aus der Umgebung des Problembereichs und den Zusammenhang zur erstellten Software. Betrachtet wird dabei ein laufendes System.
Stellt Zusammenhang zwischen Implementierung und der Zielumgebung her.
Anwendbar auf der Ebene der Implementierung. UML-Notationen:
Deployment-DiagrammDeployment-Diagramm
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Frank Simon, BTU Cottbus: Einführung in UML 40
Environment view (2/3): Deployment-Diagramm
Elemente Komponenten
(Computer, Geräte...)
Kommunikation zwischenKomponenten
Enthaltensein vonImplementierung
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Name:Typ
Name:Typ
Name:Typ
Name:Typ
Frank Simon, BTU Cottbus: Einführung in UML 41
Environment view (3/3): Deployment-Diagramm, 1. Beispiel
Frank Simon, BTU Cottbus: Einführung in UML 42
Zusammenfassung
Structural view
Beh
avio
ral v
iew
Implementation view
Environment view
User view
Komponenten-Diagramm
Deployment-Diagramm
Klassen-,Objekt-
Diagramm
Sequenz-,Kooperations-,
Statechart-,Aktivitäts-Diagramm
Frank Simon, BTU Cottbus: Einführung in UML 43
Referenzen
Sinan Si Alhir: „UML in a nutshell - a desktop quick reference“, O‘Reilly & Associates, USA 1998
Klaus Zerbe: „Bauplan für Objekte - eine Einführung in objektorientierte Verfahren mit der Unified Modelling Language“, in c‘t 21/1999, Seite 338-354, Heise-Verlag, Hannover 1999
Günter Wahl: „UML kompakt“, in OBJEKTspektrum 2/98, Seite 22-33, SIGS Conferences, Bergisch Gladbach 1998
Alek Opitz: „Unified Modeling Language (UML)“, Ausarbeitung für das Proseminar „Java“ im Sommersemester 1998
Recommended