Unified Modeling Language (UML) - Universität Hamburg€¦ · Till Kothe - Unified Modeling...

29
22.04.2004 Till Kothe - Unified Modeling Language (UML) Unified Modeling Language (UML™) Seminar: Programmiersprachen- konzepte

Transcript of Unified Modeling Language (UML) - Universität Hamburg€¦ · Till Kothe - Unified Modeling...

22.04.2004 Till Kothe - Unified Modeling Language (UML)

Unified Modeling Language (UML™)

Seminar: Programmiersprachen-konzepte

22.04.2004Till Kothe - Unified Modeling Language (UML)

2/ 29

Inhalt

� Einleitung� UML 2.0� Diagrammtypen

22.04.2004Till Kothe - Unified Modeling Language (UML)

3/ 29

Einleitung

� Objektorientierte Modellierungssprache– Definiert vollständige Semantik– Dient der Kommunikation

� Verschiedene Sichten– Diagrammtypen– Detaillierungsgrad

22.04.2004Till Kothe - Unified Modeling Language (UML)

4/ 29

Detaillierungsstufen

22.04.2004Till Kothe - Unified Modeling Language (UML)

5/ 29

Einleitung (2) - Entstehung

� Ende 80er Vielzahl objektorientierter Analyse- und Designmethoden

� Zusammenführung durch Grady Booch, Jim Rumbaugh, Ivar Jacobson

� Standardisierung durch OMG (UML 1.1, 1997)

22.04.2004Till Kothe - Unified Modeling Language (UML)

6/ 29

Einleitung (3) - Spezifikation

� Sehr umfassend und detailliert� Erlaubt Erweiterungen

– Definition von Stereotypen

� Beschreibung der UML Elemente in UML (Metamodell)

22.04.2004Till Kothe - Unified Modeling Language (UML)

7/ 29

Metamodell Klasse

22.04.2004Till Kothe - Unified Modeling Language (UML)

8/ 29

UML 2.0

� Verbesserungen:– Modellaustausch– MDA Unterstützung– Echtzeitmodellierung– Geschäftsprozessmodellierung

� Generalüberholung bei Modellierung von Verhalten– Redundanzfreiheit– Zeitliches Verhalten– Diagrammhierarchien– Kontrollstrukturen

� 4 neue Diagrammtypen

22.04.2004Till Kothe - Unified Modeling Language (UML)

9/ 29

Diagrammtypen

� Struktur– Klassendiagramm– Objektdiagramm– Paketdiagramm*– Kompositionsstrukturdiagramm*– Komponentendiagramm– Verteilungsdiagramm

*neu in UML 2.0

22.04.2004Till Kothe - Unified Modeling Language (UML)

10/ 29

Diagrammtypen (2)

� Verhalten– Use Case Diagramm– Aktivitätsdiagramm– Statechart Diagramm– Sequenzdiagramm– Kommunikationsdiagramm– Timingdiagramm*– Interaktionsübersichtsdiagramm*

*neu in UML 2.0

Interaktions-diagramme

22.04.2004Till Kothe - Unified Modeling Language (UML)

11/ 29

Use Case Diagramm

� Beschreibt vom System bereitgestellter Funktionalität� Benutzersicht eines Systems� Beschreibt Interaktion externer Akteure mit System

22.04.2004Till Kothe - Unified Modeling Language (UML)

12/ 29

Use Case Diagramm (2)

22.04.2004Till Kothe - Unified Modeling Language (UML)

13/ 29

Klassendiagramm

� Klassen– Methoden („Operations)– Attribute („Properties“)

� Beziehungen– Aggregation– Abhängigkeiten– Generalisation/Spezialisierung– Assoziation– Komposition– Realisierung

22.04.2004Till Kothe - Unified Modeling Language (UML)

14/ 29

Statecharts

� Erweiterung der Harel Statecharts� Darstellung von Zuständen und Zustandsübergängen

von Objekten– Externe Stimuli– Guards– Events

� Darstellung von Nebenläufigkeit, Wechselseitigem Ausschluss

� Wiederverwendbarkeit von Subzuständen

22.04.2004Till Kothe - Unified Modeling Language (UML)

15/ 29

Nebenläufigkeit und Synchronisation in Statecharts

22.04.2004Till Kothe - Unified Modeling Language (UML)

16/ 29

Wiederverwendbarkeit

22.04.2004Till Kothe - Unified Modeling Language (UML)

17/ 29

Statechart der Linda „in“-Operation

22.04.2004Till Kothe - Unified Modeling Language (UML)

18/ 29

Aktivitätsdiagramm

� Kontrollfluss– Alternativen, Nebenläufigkeit (fork/join), Ausnahmen– Ereignisse

� Objektfluss– Behandlung von Menge/Arrays/Collections in Expansion

Regions

22.04.2004Till Kothe - Unified Modeling Language (UML)

19/ 29

Aktivitätsdiagramm (Beispiel)

22.04.2004Till Kothe - Unified Modeling Language (UML)

20/ 29

Aktivitätsdiagramm(Expansion Region)

22.04.2004Till Kothe - Unified Modeling Language (UML)

21/ 29

Sequenzdiagramm

� Darstellen von Nachrichten und Signalen zwischen Objekten

– Prozeduraufrufe, Kommunikationsprotokolle,...– Synchrone und Asynchrone Kommunikation– Objekterzeugung

22.04.2004Till Kothe - Unified Modeling Language (UML)

22/ 29

Sequenzdiagramm (Beispiel)

22.04.2004Till Kothe - Unified Modeling Language (UML)

23/ 29

Sequenzdiagramm (Beispiel 2)

22.04.2004Till Kothe - Unified Modeling Language (UML)

24/ 29

Sequenzdiagramm vs. SR

UMLServiceInvoke

asynchrones Signalinsend

vgl. Objekterzeugungprocsend

synchroner Prozeduraufrufincall

nicht direkt abbildbarproccall

22.04.2004Till Kothe - Unified Modeling Language (UML)

25/ 29

Interaktionsübersichtsdiagramm

� Übersicht über Flusskontrolle� Variante von Aktivitätsdiagrammen� Eingebettete Interaktionen

– Referenziert– „inline“

22.04.2004Till Kothe - Unified Modeling Language (UML)

26/ 29

Interaktions-übersichts-diagramm(2)

22.04.2004Till Kothe - Unified Modeling Language (UML)

27/ 29

Timing-Diagramm

� Aus Elektrotechnik� Präzise Darstellung zeitlichen Verhaltens� Kommunikationspartner

– Nachrichtenaustausch– Zustandswechsel

� Direkte Darstellung von Nachrichtenlaufzeiten

22.04.2004Till Kothe - Unified Modeling Language (UML)

28/ 29

Timing-Diagramm (Beispiel)

22.04.2004Till Kothe - Unified Modeling Language (UML)

29/ 29

Quellen

� OMG: UML 2.0 Superstructure Final Adopted Specification, http://www.omg.org/docs/ptc/03-08-02.pdf

� M. Jeckle, C. Rupp, J. Hahn, B. Zengler, S. Queins: Großes Finale – UML 2.0: runderneuerter Kern, frische Konzepte in iX 3/2004

� Sihan Si Albir: UML in a Nutshell, O‘Reilly 1998� Martin Fowler: UML Distilled 2nd ed., Addison-Wesley 2000� B. Oestereich, T. Weilkiens: UML 2.0: Alles wird gut?,

http://www.oose.de/downloads/oestereich_OS_01_03.pdf� Scott W. Ambler: The Diagrams of UML 2.0,

http://www.agilemodeling.com/essays/umlDiagrams.htm� Torsten Horn: UML Unified Modelling Language,

http://www.torsten-horn.de/techdocs/uml.htm� G. Miller: What‘s New in UML 2.0, Part 1,

http://community.borland.com/article/images/31881/Together_White_paper__.pdf� Linda medium UML specification,

http://www-info.enst-bretagne.fr/medium/specification/linda.html