1 einführung in die uml dipl.-ing. päd. alexander huwaldt die grundkonzepte und diagramme der...
TRANSCRIPT
1
Einführung in die UMLDipl.-Ing. Päd. Alexander Huwaldt
Die Grundkonzepte und Diagramme der Unified Modeling Language.
Unified Modeling LanguageUML
2
Unified Modeling LanguageUML
3
Visualisieren
Kommunizieren
Komplexität beherrschen
Unified Modeling LanguageUML
4
Die UML ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme. Ihre Autoren sind:
Grady Booch: Object oriented design and applicationsJames Rumbaugh: Object Modeling Technique Ivar Jacobson: Use-Cases
EinführungUML
5
Die UML soll nach den Wünschen der Autoren eine Reihe von Aufgaben und Zielen verfolgen, wie zum Beispiel:
Bereitstellung einer universellen Beschreibungssprache für alle Arten objektorientierter Softwaresysteme und damit eine Standardisierung,
Vereinigung der bekanntesten Beschreibungsnotationen (Methoden) und
ein für zukünftige Anforderungen offenes Konzept.
ZieleUML
6
Zeige die Zusammenhänge,
Visualisiere das Endprodukt für den Benutzer,
Verwende standardisierte Darstellungen,
Kläre mit dem Benutzer die Anforderungen,
Bespreche mit dem Programmierer die Details.
Visualisieren und KommunizierenUML
7
Verwende für jedes System ein separates Modell,
Zeige in einer Darstellung einen Aspekt des Modells,
Strukturiere das Modell,
Verwende Vorlagen und Komponenten wieder.
Komplexität beherrschenUML
8
Die UML bietet auf der einen Seite eine Reihe
unterschiedlichster Werkzeuge für die reine Visualisierung
und Dokumentation.
Auf der anderen Seite bilden vor allem
Klassendiagramme den Rahmen für die
Spezifikation und Erstellungvon objektorientierten Anwendungssystemen.
Die angebotenen Werkzeuge dienen der Abbildung der statischen Struktur und des dynamischen Verhaltens des
Anwendungssystems.
Die MöglichkeitenUML
9
Die UML unterscheidet zwischen statischen und dynamischen Modellen eines Systems.Zum Beispiel: Klassendiagramme, Verhaltensdiagramme
Basisklasse
Klasse2
Attribute
Operationen
Attribute
Operationen
Objekt2
Objekt3
Objekt1
DiagrammtypenUML
10
Die DiagrammeUMLVerhaltensdiagramme
Aktivitätsdiagrammactivity diagram
Zustandsdiagrammstate diagram
Wechselwirkungsdiagramme
Sequenzdiagrammsequenz diagram
Kollaborationsdiagrammcollaboration diagramAnwendungsfalldiagramm
use case diagram
Klassendiagrammclass diagram
Diagramme der UML
Übersicht und Einordnung der Diagrammtypen in der UML
Implementationsdiagramme
Einsatzdiagrammdeployment diagram
Komponentendiagrammcomponent diagram
11
Das use case diagram (Anwendungsfalldiagramm) dient als Einstiegsebene für das Modell aus Anwendersicht. Es ist ein zweckmäßiges Hilfsmittel zum Erfassen der Benutzerforderungen und Ermitteln der Systemgrenzen. Es beschreibt das System in der Interaktion mit dem Benutzer.
Actor
SystemVideoDat
Videoausleihebearbeiten
Anwender
Videorückgabebearbeiten
AnwendungsfalldiagrammUML
Anwendungsfall
12
Das class diagram (Klassendiagramm) dient zum Modellieren der statischen Struktur von Klassen und deren Beziehungen.
Inhalt: Klassen mit Attributen und Operationen, Beziehung zwischen den Klassen
Das Klassendiagramm steht im Zentrum der objektorientierten Modellierung. Es ist die Basis für die Quelltexterzeugung. Die anderen Diagramme haben dokumentierenden Charakter. Während der Projektbearbeitung wird das Klassendiagramm schrittweise vervollständigt.(Konzept, Spezifikation, Implementierung)
KlassendiagrammUML
Assoziation
Vererbung
Beispiele für Beziehungen:1,*
*,1
*,1
Person
Verkäufer
Video
Kunde
Klasse
Attribute
Operationen
13
Das dynamische Verhalten und die Interaktion zwischen Objekten kann in der Form eines activity diagram (Aktivitätsdiagramm) dargestellt werden.
Das Zeitverhalten und die Statusübergänge zwischen den Objekten sind besonders übersichtlich durch die Darstellung der Objekte als swimlanes (Schwimmbahnen).
Das Aktivitätsdiagramm gehört zu den Verhaltensdiagrammen. Hier finden wir weitere Diagrammformen, die sich inhaltlich überschneiden:
Zustandsdiagramm, Sequenzdiagramm, Kollaborationsdiagramm.
AktivitätsdiagrammUMLKunde Verkäufer Video
zurückgeben virdeo_prüfen
bestanden
zurücknehmen
rechnung_erst.bezahlen
getAusleihstatus
getZustand
setZustand
setAusleihstatus
Die Verwendung ist abhängig von der Bearbeitungsstufe des Projektes oder der gewünschten Diagrammaussage.Das Aktivitätsdiagramm ist besonders in der ersten Konzeptstufe als Verfeinerung von Anwendungsfällen zweckmäßig.
14
Das dynamische Verhalten innerhalb einer Klasse kann in der Form eines state diagram (Zustandsdiagramm) erfasst werden.
Das Zeitverhalten und die Statusübergänge zwischen einzelnen Operationen der Klassen können dargestellt werden.
ZustandsdiagrammUML
Die Verwendung ist abhängig von der Bearbeitungsstufe des Projektes oder der gewünschten Diagrammaussage. Das Zustandsdiagramm ist geeignet, aufwendige Transaktionen innerhalb einer Klasse darzustellen. Sobald mehrere Klassen beteiligt sind, ist eine andere Diagrammform zu wählen.
Das Zustandsdiagramm gehört zu den Verhaltensdiagrammen. Hier finden wir weitere Diagrammformen, die sich inhaltlich überschneiden:
Aktivitätsdiagramm, Sequenzdiagramm, Kollaborationsdiagramm.
Initialisierung Ausführung
Aktualisierung
15
Das dynamische Verhalten und die Interaktion zwischen Objekten kann in der Form eines sequence diagram (Sequenzdiagramm) dargestellt werden.
Die Nachrichtenbeziehungen (Aufrufen von Operationen) zwischen den Objekten und deren Lebenszeit sind besonders übersichtlich durch die Darstellung der Klasseninstanzen (Objekte) als lifelines (Lebenslinien) und der Darstellung von Aufrufparametern gegeben.
Das Sequenzdiagramm gehört zu den Verhaltens-diagrammen. Hier finden wir weitere Diagrammformen, die sich inhaltlich überschneiden:
Aktivitätsdiagramm, Zustandsdiagramm, Kollaborationsdiagramm.
Die Verwendung ist abhängig von der Bearbeitungsstufe des Projektes oder der gewünschten Diagrammaussage.Das Sequenzdiagramm ist besonders in der fortgeschrittenen Spezifikation mit einem hohen Detailierungsgrad zweckmäßig.
SequenzdiagrammUML
::Verkäufer()
::video_prüfen (int VNr)
::~Verkäufer()
Kunde::Kunde()
::~Kunde()
MyApp
::Video (VNr)
Verkäufer
::~Video()
::setAusleistatus(int)
Video
16
Das Kollaborationsdiagramm gehört zu den Verhaltensdiagrammen. Hier finden wir weitere Diagrammformen, die sich inhaltlich überschneiden:
Aktivitätsdiagramm, Sequenzdiagramm, Zustandsdiagramm.
KollaborationsdiagrammUML
MyApp
Kunde
1. ::Kunde()
Verkäufer
2. ::Verkäufer()
Video
3.1. ::Video(VNr)3.2. ::setAusleihstatus()
3.3 ::setZustand(VNr)
4.1. ::~Video()
5. ::~Kunde()
3. ::video_prüfen(VNr)
4. ::~Verkäufer()
Die Verwendung ist abhängig von der Bearbeitungsstufe des Projektes oder der gewünschten Diagrammaussage. Das Kollaborationsdiagramm ist eine alternative Darstellung zum Sequenzdiagramm.
Das dynamische Verhalten von Objekten kann ebenso in der Form eines collaboration diagram (Kollaborationsdiagramm) dargestellt werden.
Die Reihenfolge der einzelnen Operationen und deren Parameter finden sich hier.
17
Module und andere Softwarekomponenten werden in component diagrams (Komponentendiagrammen) dokumentiert. Bestandteile sind:
Module Abhängigkeiten (Benutzt-Beziehungen oder Übersetzungsabhängigkeiten)
KomponentendiagrammUML
Kunde
Video
Verkäufer MFC20.DLL
Nutzer- Interface
VIDEO.EXE
benutzt
DAO
VIDEO.DBx
Zugriff auf Datenbank-
Interface
besteht aus
benutzt
benutzt
Problem- Ebene
besteht aus
Zugriff auf Daten
Ausgaben
Eingaben
benutzt
besteht aus
18
Ähnlich wie component diagrams werden deployment diagrams (Einsatzdiagramme) zur Modellierung physikalischer Eigenschaften benutzt.
Sie beschreiben die Verteilung von Verarbeitungsprozessen (Programmen) auf Rechnern. Als Ausführungsplattformen (Node) kommen dabei neben Rechnern auch Drucker, Controller usw. in Betracht.
EinsatzdiagrammUML
IPX-Netzwerk
Belegdrucker
Arbeitsplatz2
VIDEO.EXE
NT-Server
SQL-Server Video.dbx
Belegdrucker
Arbeitsplatz1
VIDEO.EXE
19
„Class, Responsibility and Collaborators“
Der Einsatz erfolgt als Hilfsmittel am Beginn der Analyse. CRC-Karten dienen zum Auffinden der wichtigsten Objekte, deren Aufgaben und Verbindungen mit anderen Objekten.
Schema einer CRC-Karte:
CRC-KarteUML
Classname (Klassenname)
Responsibilities(Verantwortlich für)
Collaborators(Zusammenarbeit)
20
Ein VorgehensmodellUML
Das hier gezeigte Vorgehensmodell zeigt die drei Stufen der Modellierung mit der UML: Konzept, Spezifikation und Implementierung.Gleichzeitig sind in diesen Modellierungs-schritten die zweckmäßigen Einstiegs-diagramme zugeordnet.
Spezifikation
Logische Sicht
Einsatzsicht
Implementierung
Komponentensicht
Konzept
AnwendersichtCRC Karten
Start
21
Visualisieren
Spezifizieren
Konstruieren
Dokumentieren
In allen ProjektphasenUML
22
Bernd Oestereich:
Objektorientierte Softwareentwicklungmit der Unified Modeling Language
3., aktualisierte Auflage (UML 1.0) Verlag R. Oldenbourg, München 1997 295 Seiten, Hardcover, gebunden Erscheinungsdatum: 20.8.1997
Preis: 78 DM (im Erscheinungsjahr)
ISBN 3-486-24319-5
EmpfehlungUML
23Quelle: Bernd Oestereich:Objektorientierte Softwareentwicklung mit der Unified Modeling Language
NotationsübersichtUML
24
NotationsübersichtUML
Quelle: Bernd Oestereich:Objektorientierte Softwareentwicklung mit der Unified Modeling Language