Unified Modeling Language UML 30.09.1998 Unified Modeling Language Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language. Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
Unified Modeling Language UML 30.09.1998 Unified Modeling Language Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
Unified Modeling Language UML 30.09.1998 Unified Modeling Language Visualisieren Kommunizieren Komplexität beherrschen Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
UML 30.09.1998 Einführung Die UML ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme. Ihre Autoren sind: Grady Booch: Object oriented design and applications James Rumbaugh: Object Modeling Technique Ivar Jacobson: Use-Cases Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
UML 30.09.1998 Ziele 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. Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
Visualisieren und Kommunizieren UML 30.09.1998 Visualisieren und Kommunizieren 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. Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
Komplexität beherrschen UML 30.09.1998 Komplexität beherrschen Verwende für jedes System ein separates Modell, Zeige in einer Darstellung einen Aspekt des Modells, Strukturiere das Modell, Verwende Vorlagen und Komponenten wieder. Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
UML Die Möglichkeiten Die UML bietet auf der einen Seite eine Reihe 30.09.1998 Die Möglichkeiten 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 Erstellung von objektorientierten Anwendungssystemen. Die angebotenen Werkzeuge dienen der Abbildung der statischen Struktur und des dynamischen Verhaltens des Anwendungssystems. Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
UML 30.09.1998 Diagrammtypen Die UML unterscheidet zwischen statischen und dynamischen Modellen eines Systems. Zum Beispiel: Klassendiagramme, Verhaltensdiagramme Basisklasse Klasse2 Attribute Operationen Objekt2 Objekt3 Objekt1 Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
Kollaborationsdiagramm collaboration diagram Anwendungsfalldiagramm UML 30.09.1998 Die Diagramme Verhaltensdiagramme Aktivitätsdiagramm activity diagram Zustandsdiagramm state diagram Wechselwirkungsdiagramme Sequenzdiagramm sequenz diagram Kollaborationsdiagramm collaboration diagram Anwendungsfalldiagramm use case diagram Klassendiagramm class diagram Diagramme der UML Übersicht und Einordnung der Diagrammtypen in der UML Implementationsdiagramme Einsatzdiagramm deployment diagram Komponentendiagramm component diagram Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
Anwendungsfalldiagramm UML 30.09.1998 Anwendungsfalldiagramm 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. System VideoDat Videoausleihe bearbeiten Anwender Videorückgabe bearbeiten Anwendungsfall Actor Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
UML Klassendiagramm Beispiele für Beziehungen: Assoziation Vererbung 30.09.1998 Klassendiagramm 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) 1,* *,1 Person Verkäufer Video Kunde Klasse Attribute Operationen Assoziation Vererbung Beispiele für Beziehungen: Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
UML Aktivitätsdiagramm 30.09.1998 Aktivitätsdiagramm 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. 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. Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
UML 30.09.1998 Zustandsdiagramm 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. Das Zustandsdiagramm gehört zu den Verhaltensdiagrammen. Hier finden wir weitere Diagrammformen, die sich inhaltlich überschneiden: Aktivitätsdiagramm, Sequenzdiagramm, Kollaborationsdiagramm. 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. Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
UML 30.09.1998 Sequenzdiagramm ::Verkäufer() ::video_prüfen (int VNr) ::~Verkäufer() Kunde ::Kunde() ::~Kunde() MyApp ::Video (VNr) Verkäufer ::~Video() ::setAusleistatus(int) Video 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. Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
Kollaborationsdiagramm UML 30.09.1998 Kollaborationsdiagramm 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. Das Kollaborationsdiagramm gehört zu den Verhaltensdiagrammen. Hier finden wir weitere Diagrammformen, die sich inhaltlich überschneiden: Aktivitätsdiagramm, Sequenzdiagramm, Zustandsdiagramm. Die Verwendung ist abhängig von der Bearbeitungsstufe des Projektes oder der gewünschten Diagrammaussage. Das Kollaborationsdiagramm ist eine alternative Darstellung zum Sequenzdiagramm. Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
UML Komponentendiagramm 30.09.1998 Komponentendiagramm Kunde Video Verkäufer MFC20.DLL Nutzer- Interface VIDEO.EXE benutzt DAO VIDEO.DBx Zugriff auf Datenbank- besteht aus Problem- Ebene Zugriff auf Daten Ausgaben Eingaben Module und andere Softwarekomponenten werden in component diagrams (Komponentendiagrammen) dokumentiert. Bestandteile sind: Module Abhängigkeiten (Benutzt-Beziehungen oder Übersetzungsabhängigkeiten) Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
UML 30.09.1998 Einsatzdiagramm Ä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. IPX-Netzwerk Belegdrucker Arbeitsplatz 2 VIDEO.EXE NT-Server SQL-Server Video.dbx 1 Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
UML CRC-Karte „Class, Responsibility and Collaborators“ 30.09.1998 CRC-Karte „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: Classname (Klassenname) Responsibilities (Verantwortlich für) Collaborators (Zusammenarbeit) Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
UML Ein Vorgehensmodell 30.09.1998 Start 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 Anwendersicht CRC Karten Start Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
In allen Projektphasen UML 30.09.1998 In allen Projektphasen Visualisieren Spezifizieren Konstruieren Dokumentieren Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
UML Empfehlung Bernd Oestereich: 30.09.1998 Empfehlung Bernd Oestereich: Objektorientierte Softwareentwicklung mit 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 Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
UML Notationsübersicht 30.09.1998 Quelle: Bernd Oestereich: Objektorientierte Softwareentwicklung mit der Unified Modeling Language Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt
UML Notationsübersicht 30.09.1998 Quelle: Bernd Oestereich: Objektorientierte Softwareentwicklung mit der Unified Modeling Language Einführung in die UML, Dipl.-Ing. Päd. A. Huwaldt