370 likes | 1.1k Views
UML. Unified Modeling Language. Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt. Die Grundkonzepte und Diagramme der Unified Modeling Language. UML. Unified Modeling Language. UML. Unified Modeling Language. Visualisieren Kommunizieren Komplexität beherrschen. UML.
E N D
UML Unified Modeling Language Einführung in die UML Dipl.-Ing. Päd. Alexander Huwaldt Die Grundkonzepte und Diagramme der Unified Modeling Language.
UML Unified Modeling Language
UML Unified Modeling Language • Visualisieren • Kommunizieren • Komplexität beherrschen
UML 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
UML 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.
UML 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.
UML 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.
UML 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.
UML Objekt1 Objekt2 Basisklasse Attribute Objekt3 Operationen Klasse2 Attribute Operationen Diagrammtypen Die UML unterscheidet zwischen statischen und dynamischen Modellen eines Systems. Zum Beispiel: Klassendiagramme, Verhaltensdiagramme
UML Diagramme der UML Verhaltensdiagramme Implementationsdiagramme Übersicht und Einordnung der Diagrammtypen in der UML Aktivitätsdiagramm activity diagram Zustandsdiagramm state diagram Einsatzdiagramm deployment diagram Wechselwirkungsdiagramme Klassendiagramm class diagram Sequenzdiagramm sequenz diagram Kollaborationsdiagramm collaboration diagram Komponentendiagramm component diagram Anwendungsfalldiagramm use case diagram Die Diagramme
UML VideoDat Videoausleihebearbeiten Videorückgabebearbeiten Anwender 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 Anwendungsfall Actor
UML Verkäufer Video Kunde Person *,1 Beispiele für Beziehungen: Klasse Attribute Assoziation *,1 1,* Vererbung Operationen 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)
UML 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.
UML 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.
UML MyApp Kunde Verkäufer Video ::Kunde() ::Verkäufer() ::Video (VNr) ::video_prüfen (int VNr) ::setAusleistatus(int) ::~Verkäufer() ::~Video() ::~Kunde() Sequenzdiagramm • 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.
UML 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.
UML VIDEO.EXE benutzt MFC20.DLL besteht aus besteht aus besteht aus Verkäufer benutzt Ausgaben Nutzer- Interface Problem- Ebene Kunde benutzt Eingaben Video DAO Zugriff auf Daten benutzt Datenbank- Interface Zugriff auf VIDEO.DBx Komponentendiagramm • Module und andere Softwarekomponenten werden in component diagrams (Komponentendiagrammen) dokumentiert. Bestandteile sind: • Module • Abhängigkeiten (Benutzt-Beziehungen oder Übersetzungsabhängigkeiten)
UML NT-Server SQL-Server Video.dbx IPX-Netzwerk Arbeitsplatz Arbeitsplatz 1 2 Belegdrucker Belegdrucker VIDEO.EXE VIDEO.EXE 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.
UML Classname (Klassenname) Responsibilities (Verantwortlich für) Collaborators (Zusammenarbeit) 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:
UML Konzept Start CRC Karten Anwendersicht 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 Implementierung Einsatzsicht Komponentensicht Ein Vorgehensmodell
UML In allen Projektphasen • Visualisieren • Spezifizieren • Konstruieren • Dokumentieren
UML Empfehlung 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
UML Notationsübersicht Quelle: Bernd Oestereich:Objektorientierte Softwareentwicklung mit der Unified Modeling Language
UML Notationsübersicht Quelle: Bernd Oestereich:Objektorientierte Softwareentwicklung mit der Unified Modeling Language