UML Tutorial - inso.tuwien.ac.at · UML - Tutorial Hubert Baumgartner SS 06 INSO - Industrial...

39
UML - Tutorial Hubert Baumgartner www.inso.tuwien.ac.at SS 06 INSO - Industrial Software Institut für Rechnergestützte Automation | Fakultät für Informatik | Technische Universität Wien UML Tutorial

Transcript of UML Tutorial - inso.tuwien.ac.at · UML - Tutorial Hubert Baumgartner SS 06 INSO - Industrial...

UML - Tutorial

Hubert Baumgartner

www.inso.tuwien.ac.at

SS 06

INSO - Industrial SoftwareInstitut für Rechnergestützte Automation | Fakultät für Informatik | Technische Universität Wien

UML Tutorial

2LVA-Kurzbezeichnung 2005W | Einheit

Inhalt

Anwendungsfallbeschreibung2

Klassendiagramme3

Sequenzdiagramme4

Zustandsdiagramme5

Anwendungsfalldiagramme1

3LVA-Kurzbezeichnung 2005W | Einheit

Anwendungsfalldiagramm

Stellt das gewünschte externe Systemverhalten aus derSicht des Anwenders oder externer Systeme dar.

Es zeigt auf, waswas möglich sein muss, aber nicht wiewie

Stellt keine Ablaufbeschreibung dar

4LVA-Kurzbezeichnung 2005W | Einheit

Anwendungsfalldiagramm - Anwendungsfälle

Ein Anwendungsfall ist dieBeschreibung einer Menge vonAktionsfolgen die ein System ausführenkann und die ein Ergebnis für den Aktorbringt

Ein Aktor ist ein Benutzer des Systems.Er hat genau vordefinierte Rechte

Die Generalisierung beschreibt, dassder erste Aktor alles kann, was der Aktoran der Pfeilspitze kann, und zusätzlichnoch eigene Rechte besitztKunde Person

Administrator

Benutzer anlegen

5LVA-Kurzbezeichnung 2005W | Einheit

Anwendungsfalldiagramm - Beziehungen - Relationen

Buch suchen Buch anzeigen

«extends»

Buch suchen Buch bestellen

Use-Case-Beziehung extend:

▪ Optionale Beziehung▪ Der Anwendungsfall „Buch

suchen“ kann durch denAnwendungsfall „Buch anzeigen“erweitert werden

Use-Case-Beziehunginclude:

▪ Zwingende Beziehung▪ Der Anwendungsfall „Buch

bestellen“ benutzt denAnwendungsfall „Buch suchen“

6LVA-Kurzbezeichnung 2005W | Einheit

Beispiel

Spezifikation:

Es soll ein System erstelltwerden, um Bestellungen vonKunden verwalten zu können.Ein Kunde kann sich in dasSystem einloggen undausloggen. Damit er eineBestellung durchführen kannmuss er eingeloggt sein.

Der Angestellte kann einenKunden anlegen, suchen sowieseine Daten ändern.

7LVA-Kurzbezeichnung 2005W | Einheit

Beispiel

Spezifikation:

Es soll ein System erstelltwerden, um Bestellungen vonKundenKunden verwalten zu können.Ein Kunde kann sich in dasSystem einloggen undausloggen. Damit er eineBestellung durchführen kannmuss er eingeloggt sein.

Der AngestellteAngestellte kann einenKunden anlegen, suchen sowieseine Daten ändern.

Die Aktoren

Kunde

Angestellter

8LVA-Kurzbezeichnung 2005W | Einheit

Beispiel

Spezifikation:

Es soll ein System erstelltwerden, um Bestellungen vonKunden verwalten zu können.Ein Kunde kann sich in dasSystem einloggeneinloggen undausloggenausloggen. Damit er eineBestellung durchführenBestellung durchführen kannmuss er eingeloggt sein.

Der Angestellte kann einenKunden anlegenKunden anlegen, suchensuchen sowieseine Daten ändernDaten ändern.

Die Anwendungsfälle

Kunde

Angestellter

Login

Logout

Bestellungdurchführen

Kunde anlegen

Kunde ändern

Kunde suchen

9LVA-Kurzbezeichnung 2005W | Einheit

Beispiel

Spezifikation:

Es soll ein System erstelltwerden, um Bestellungen vonKunden verwalten zu können.Ein Kunde kann sich in dasSystem einloggen undausloggen. Damit er eineDamit er eineBestellung durchführenBestellung durchführen kann kannmuss er eingeloggt sein.muss er eingeloggt sein.

Der Angestellte kann einenKunden anlegen, suchen sowieseine Daten ändern.

Die Beziehungen

Kunde

Angestellter

Kunde anlegen

Kunde ändern

Kunde suchen

«extends»

Login

Logout

Bestellung

durchführen

10LVA-Kurzbezeichnung 2005W | Einheit

Inhalt

Anwendungsfallbeschreibung2

Klassendiagramme3

Sequenzdiagramme4

Zustandsdiagramme5

Anwendungsfalldiagramme1

11LVA-Kurzbezeichnung 2005W | Einheit

Anwendungsfallbeschreibung

Mehrere Varianten

▪ Gemeinsamkeiten▪ Titel▪ Vorbedingung▪ Ablaufbeschreibung▪ Auswirkungen▪ Anmerkungen

▪ Unterschiede▪ Primäre Aktoren▪ Gültigkeitsbereiche▪ Eingesetzte Technologien▪ Offene Fragen

12LVA-Kurzbezeichnung 2005W | Einheit

Anwendungsfallbeschreibung – Variante 1

Anmerkungen: keine

Auswirkungen: keine

Beschreibung des Ablaufs:

E1) Der A nwender gibt die Suchkriterien für ein Buch ein.A 1) Das System sucht nach Büchern, die den eingegeben Suchkriterien entsprechen.E2) Es exis tieren Bücher, die den eingegebenen Suchkriterien entsprechen.A 2) Die gefundenen Bücher werden in einer Lis te angezeigt.A E2) Es konnte kein Buch, das den eingegeben Suchkriterien entspricht, gefunden werden.A A 2) Hinweismeldung ausgeben.E3) Der A nwender wählt einen der angezeigten Datensätze aus.A 3) Die Lis te mit den Suchergebnissen wird geschlossen und der ausgewählte Datensatz eventuell als Parameter an einen weiteren A nwendungsfall übergeben.

Vorbedingungen: A nwender mit Berechtigung „Leser“ muss eingeloggt sein.

Kurzbeschreibung: Suche nach einem Buch.

Titel: Buch suchen

Nr.: 1

13LVA-Kurzbezeichnung 2005W | Einheit

Anwendungsfallbeschreibung – Variante 2

Anwendungsfall: Buch suchenPrimärer Aktor: LeserGültigkeitsbereich: System für UniversitätsbibliothekTyp: AnwenderzielVorbedingungen: Anwender mit Berechtigung „Leser“ muss eingeloggt sein.

Wichtigstes Erfolgszenario:1) Der Anwender gibt die Suchkriterien für ein Buch ein. Das System stelltsicher, dass angegebene Werte korrekt sind.2) Das System zeigt das Ergebnis der Anfrage in einer Liste an.3) Der Anwender fordert eine Detailansicht eines gewählten Buches.4) Das System zeigt die Details des Eintrags an.

Erweiterungen:2a) Es konnte kein Buch, das den eingegeben Suchkriterien entspricht,gefunden werden.

Auswirkungen: keineTechnologie und Datenvarianten:Anfrage wird gestellt:• Über das System

Anmerkungen: keineOffene Fragen:

14LVA-Kurzbezeichnung 2005W | Einheit

Inhalt

Anwendungsfallbeschreibung2

Klassendiagramme3

Sequenzdiagramme4

Zustandsdiagramme5

Anwendungsfalldiagramme1

15LVA-Kurzbezeichnung 2005W | Einheit

Klassendiagramm

Strukturdiagramm

Bildet statische Systemeigenschaften ab

Graphische Darstellung von Klassen im objektorientiertenSinn

16LVA-Kurzbezeichnung 2005W | Einheit

Klassendiagramm - Entitäten

Klasse: Beschreibungeiner Menge von Objektenmit gleichen Attributen

Attribut: Eigenschafteneiner Klasse, repräsentiertMerkmale einer Klase

Methode: bestimmten dieFähigkeiten einer Klasse

Buch

Buch

BuchNrTitelAutor

Buch

BuchNrTitelAutoreinfügensuchenlöschen

Klasse

Attribute

Methoden

17LVA-Kurzbezeichnung 2005W | Einheit

Klassendiagramm - Generalisierung

Generalisierung:mehrere Klassen mitgemeinsamenEigenschaften werden ineiner Oberklassezusammengefasst.

Die Unterklasse erbt dieAttribute, Assoziationenund Operationen derOberklasse.

18LVA-Kurzbezeichnung 2005W | Einheit

Klassendiagramm - Assoziationen

Assoziation: Beziehung zwischen 2 Klassen. Die Assoziationhat eine entsprechende Beschriftung und gilt in beideRichtungen.

Kunde

Ticket

1besitzt

*

Assoziation

Multiplizität

19LVA-Kurzbezeichnung 2005W | Einheit

Klassendiagramm - Multiplizitäten

mindestens 0 bis maximal 1

genau 1 zu 1

mindestens 0 bis beliebig viele

mindestens 1 bis beliebig viele

20LVA-Kurzbezeichnung 2005W | Einheit

Klassendiagramm - Aggregate

Aggregation: ist eine Beziehungzwischen 2 Klassen, die besagt,dass Teile auch bei einerZerstörung des Ganzen weiterexistieren.z.B. Ein Hotel besteht ausmehreren Zimmern. Die Zimmerbleiben jedoch erhalten, auchwenn das Hotel schließt.

Komposition: ist eine Beziehungzwischen 2 Klassen, die besagt,dass Teile bei einer Zerstörungdes Ganzen auch aufhören zuexistieren.z.B. wird der Sitzplan gelöscht, isteine Reihe nicht mehr existent.

1..n1 Hotel Zimmer

Aggregation

11..n Sitzplan Reihe

Komposition

21LVA-Kurzbezeichnung 2005W | Einheit

Aufgabe - Universitätsbibliothek

Aufgabenstellung:

▪Erstelle ein Anwendungsfalldiagramm für das System.

▪Erstelle eine Anwendungsfallbeschreibung für denAnwendungsfall „Buch suchen“.

▪Erstelle ein Klassendiagramm für das System.

22LVA-Kurzbezeichnung 2005W | Einheit

Aufgabe

Spezifikation:

Es soll ein System für eine Universitätsbibliothek programmiert werden.Leser sind Personen, die eine eindeutige Lesernummer besitzen.Mitarbeiter sind Personen, die durch ihre SVNR identifiziert werden. Vonjeder Person werden im System Vorname, Nachname und Adressegespeichert. Leser sind nicht gleich Mitarbeiter. Neue Leser werden vonMitarbeitern im System eingefügt. Leser können nach Büchern undZeitschriften suchen und ausleihen. Von jeder Zeitschrift wird die eindeutigeNummer (ISSN), Datum und Herausgeber gespeichert. Bücher besitzeneine eindeutige Nummer (ISBN), einen Titel, sowie den jeweiligen Autor.Die Bücher und Zeitschriften werden jeweils vom Mitarbeiter im Systemeingefügt. Sowohl Mitarbeiter als auch Leser können nach Büchern undZeitschriften suchen. Mitarbeiter können nach Lesern suchen und Leseraus dem System entfernen.

23LVA-Kurzbezeichnung 2005W | Einheit

Lösung - Anwendungsfalldiagramm

Mitarbeiter LeserBuch suchen

Zeitschrift anlegenBuch anlegen

Zeitschrift

ausborgen

Buch ausborgen

Leser löschen

Leser suchenLeser anlegen

Zeitschrift suchen

«extends»

«extends»

24LVA-Kurzbezeichnung 2005W | Einheit

Lösung – Anwendungsfallbeschreibung Typ 1

Kurzbeschreibung: Suche nach einem bestimmten Buch

Titel.: Buch suchen

Nr.: 1

Anmerkungen: keine

Auswirkungen: keine

Beschreibung des Ablaufs:E1) Der Anwender gibt die Suchkriterien für ein Buch ein.A1) Das System sucht nach Büchern. die den eingegebenen Suchkriterien entsprechen.E2) Es existieren Bücher, die den eingegebenen Suchkriterien entsprechen.A2) Die gefundenen Bücher werden in einer Liste angezeigt.AE2) Es konnte kein Buch, das den eingegebenen Suchkriterien entspricht, gefundenwerden.AA2) Hinweismeldung ausgeben.E3) Der Anwender wählt einen der angezeigten Datensätze ausA3) Die Liste mit den Suchergebnissen wird geschlossen und ausgewählte Datensatzeventuell als Parameter an einen anderen Anwendungsfall übergeben.

Vorbedingungen: Das System muss laufen

25LVA-Kurzbezeichnung 2005W | Einheit

Lösung – Anwendungsfallbeschreibung Typ 2

Technologie und Datenvarianten: Anfrage wird gestellt: über das System der Universitätsbibliothek

Anmerkungen: keine

Erweiterungen:2a) Es konnte kein Buch, das den eingegebenen Suchkriterien entspricht, gefunden werden.

Gültigkeitsbereich: Universitätsbibliothek

Typ: Anwenderziel

Primärer Aktor: Leser. Mitarbeiter

Anwendungsfall: Buch suchen

Offene Fragen: keine

Auswirkungen: keine

Wichtiges Erfolgsszenario1) Der Anwender gibt die Suchkriterien für ein Buch ein. Das System stellt sicher, dass dieeingegebene Werte korrekt sind.2) Das System zeigt das Ergebnis der Anfrage in einer Liste an.3) Der Anwender fordert eine Detailansicht des gewählten Buches.4) Das System zeigt die Details des Eintrages an.

Vorbedingungen: Das System muss laufen.

26LVA-Kurzbezeichnung 2005W | Einheit

Lösung - Entitäten

Spezifikation:

Es soll ein System für eine Universitätsbibliothek programmiert werden.LeserLeser sind PersonenPersonen, die eine eindeutige Lesernummer besitzen.MitarbeiterMitarbeiter sind Personen, die durch ihre SVNR identifiziert werden. Vonjeder Person werden im System Vorname, Nachname und Adressegespeichert. Leser sind nicht gleich Mitarbeiter. Neue Leser werden vonMitarbeitern im System eingefügt. Leser können nach BüchernBüchern undZeitschriftenZeitschriften suchen und ausleihen. Von jeder Zeitschrift wird dieeindeutige Nummer (ISSN), Datum und Herausgeber gespeichert. Bücherbesitzen eine eindeutige Nummer (ISBN), einen Titel, sowie den jeweiligenAutor. Die Bücher und Zeitschriften werden jeweils vom Mitarbeiter imSystem eingefügt. Sowohl Mitarbeiter als auch Leser können nach Büchernund Zeitschriften suchen. Mitarbeiter können nach Lesern suchen undLeser aus dem System entfernen.

27LVA-Kurzbezeichnung 2005W | Einheit

Lösung – Generalisierung und Attribute

Spezifikation:

Es soll ein System für eine Universitätsbibliothek programmiert werden.LeserLeser sind sind PersonenPersonen, die eine eindeutige LesernummerLesernummer besitzen.MitarbeiterMitarbeiter sind PersonenPersonen, die durch ihre SVNRSVNR identifiziert werden. Vonjeder PersonPerson werden im System VornameVorname, NachnameNachname und Adressegespeichert. Leser sind nicht gleich Mitarbeiter. Neue Leser werden vonMitarbeitern im System eingefügt. Leser können nach BüchernBüchern undZeitschriftenZeitschriften suchen und ausleihen. Von jeder Zeitschrift wird dieeindeutige Nummer (ISSNISSN), DatumDatum und HerausgeberHerausgeber gespeichert. Bücherbesitzen eine eindeutige Nummer (ISBNISBN), einen TitelTitel, sowie den jeweiligenAutorAutor. Die Bücher und Zeitschriften werden jeweils vom Mitarbeiter imSystem eingefügt. Sowohl Mitarbeiter als auch Leser können nach Büchernund Zeitschriften suchen. Mitarbeiter können nach Lesern suchen undLeser aus dem System entfernen.

28LVA-Kurzbezeichnung 2005W | Einheit

Lösung – Relationen

Spezifikation:

Es soll ein System für eine Universitätsbibliothek programmiert werden.LeserLeser sind PersonenPersonen, die eine eindeutige Lesernummer besitzen.MitarbeiterMitarbeiter sind Personen, die durch ihre SVNR identifiziert werden. Vonjeder Person werden im System Vorname, Nachname und Adressegespeichert. Leser sind nicht gleich Mitarbeiter. Neue Leser werden vonLeser werden vonMitarbeitern im System eingefügtMitarbeitern im System eingefügt. Leser können nach BüchernBüchern undZeitschriftenZeitschriften suchen und ausleihen. Von jeder Zeitschrift wird dieeindeutige Nummer (ISSN), Datum und Herausgeber gespeichert. Bücherbesitzen eine eindeutige Nummer (ISBN), einen Titel, sowie den jeweiligenAutor. Die Bücher und Zeitschriften werden jeweils vom Mitarbeiter imBücher und Zeitschriften werden jeweils vom Mitarbeiter imSystem eingefügt. Sowohl Mitarbeiter als auch Leser können nachSystem eingefügt. Sowohl Mitarbeiter als auch Leser können nachBüchern und Zeitschriften suchen. Mitarbeiter können nach LesernBüchern und Zeitschriften suchen. Mitarbeiter können nach Lesernsuchen und Leser aus dem System entfernen.suchen und Leser aus dem System entfernen.

29LVA-Kurzbezeichnung 2005W | Einheit

Lösung - Klassendiagramm

1

1

*

* fügt ein

1..n

1..n

fügtein

1

*

1

Leser

Lesernummer

Person

VornameNachnameAdresse

Mitarbeiter

SVNR

Ausleihe

DatumAnzahl

Buch

ISBNTitelAutor

Zeitschrift

ISSNDatumHerausgeber

30LVA-Kurzbezeichnung 2005W | Einheit

Inhalt

Anwendungsfallbeschreibung2

Klassendiagramme3

Sequenzdiagramme4

Zustandsdiagramme5

Anwendungsfalldiagramme1

31LVA-Kurzbezeichnung 2005W | Einheit

Sequenzdiagramme

Ein Sequenzdiagramm beschreibt wieeinzelne Objekte untereinanderNachrichten austauschen.

Objekte werden als Rechteckeentlang der x-Achse dargestellt.

Die gestrichelte Linie entlang der y-Achse zeigt die Lebensdauer desObjekts an.

Hat ein Objekt Kontrolle über denProgrammfluss, so wird dies durch einschmales Rechteck gekennzeichnet.

t: Ticket

b: Bestellung

32LVA-Kurzbezeichnung 2005W | Einheit

Sequenzdiagramme - Nachrichten

Eine Nachricht. Es werden derName der Nachricht und derübergebene Parameterangegeben.

Eine Nachricht, welche dieProgrammflusskontrolle abgibt.Es gibt keine Rückkehr zursendenden Methode.

Methodenaufruf. DerProgrammfluss kehrt nachBeendigung der Methodewieder zurück.

Rückkehr von einemMethodenaufruf

33LVA-Kurzbezeichnung 2005W | Einheit

Sequenzdiagramme

Erzeugen von Objekten

Zerstören von Objekten

34LVA-Kurzbezeichnung 2005W | Einheit

Sequenzdiagramm - Beispiel

35LVA-Kurzbezeichnung 2005W | Einheit

Inhalt

Anwendungsfallbeschreibung2

Klassendiagramme3

Sequenzdiagramme4

Zustandsdiagramme5

Anwendungsfalldiagramme1

36LVA-Kurzbezeichnung 2005W | Einheit

Zustandsdiagramme

Zustandsdiagramme beschreiben die möglichen Folgen vonZuständen, die ein Objekt der Reihe nach annehmen darf.

37LVA-Kurzbezeichnung 2005W | Einheit

Zustandsdiagramme

Die wichtigsten Eingangsbezeichnungen:

Entry: nach ‚entry/..‘ werden Aktionen angegeben, die immerausgeführt werden, wenn das Objekt in den Zustand kommt.

Exit: umgekehrt werden nach ‚exit/..‘ die Aktionen abgegeben,die immer dann stattfinden sollen, wenn der Zustand verlassenwird.

Do: nach ‚do/..‘ werden die Aktionen angegeben, die währenddes Zustandes ausgeführt werden.

38LVA-Kurzbezeichnung 2005W | Einheit

Zustandsdiagramme

Es können mehrere Zuständein einem Sammelzustandzusammengefasst werden.

Innerhalb des System kann es zu parallelen Zuständen kommen.

39LVA-Kurzbezeichnung 2005W | Einheit

Zustandsdiagramme - Beispiel