UML Tutorial - inso.tuwien.ac.at · UML - Tutorial Hubert Baumgartner SS 06 INSO - Industrial...
-
Upload
nguyenthuan -
Category
Documents
-
view
218 -
download
0
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
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.