So#waretechnologie für Fortgeschri4ene Teil Eide Stunde IV: UML Köln 26. Januar 2017
Model of vs. model for
TheoreKcal model model for comparison calibra9on verifica9on Empirical model model of deduc9on induc9on GeneraKng knowledge created object comparison evalua9on modelled object Thanks to Oliver Nakoinz for inspira9on
II 0. UML 2.0 (2003 / 04 ff.) UML ist eine Sammlung von "graphischen Sprachen", d.h. Regelsystemen für die Konstruktion graphischer Schemata, die: v unterschiedliche Perspektiven von Anforderungen an Systeme und Entwürfen von Systemteilen, sowie deren Zusammenwirken darstellen, v einander dabei überlappen können und v unabhängig voneinander verwendet werden können. Am wichtigsten: v Klassenmodelle beschreiben den strukturellen Aufbau eines Systems, v Anwendungsfallmodelle (Use Cases) beschreiben die Interaktion mit dem System aus Benutzersicht. 4
The role of UML TheoreKcal model model for comparison calibra9on verifica9on Empirical model model of deduc9on induc9on GeneraKng knowledge created object comparison evalua9on modelled object Thanks to Oliver Nakoinz for inspira9on
II 1. Klassendiagramme Die Klassendiagramm stellt die Klassen die Generalisierung die Assoziationen zwischen Klassen dar Beschreibt das statische Model 6
II 1. Klassendiagramme Objekt Mitarbeiter (kann Attribute und Methoden haben) è Programmierung 7
II 1. Klassendiagramme Binäre Assoziation beschreibt die Beziehungen zwischen Klassen 8
II 1. Klassendiagramme Multiplizität gibt an, wie viele Objekte an einer Assoziation beteiligt sein können. 9
II 1. Klassendiagramme Reflexive Assoziation verbindet Objekte einer Klasse miteinander. 10
II 1. Klassendiagramme Aggregation verbindet beliebig viele Klassen zu einer übergeordneten. 11
II 1. Klassendiagramme Generalisierungsbeziehung zwischen Superklasse und Subklasse. 12
II 2. Anwendungsfalldiagramme Das Verhalten eines Systems kann als Sammlung von Anwendungsfällen ( = use cases) beschrieben werden. Ein Anwendungsfall beschreibt eine Klasse möglicher Interaktionen. Konkrete Anwendungsfälle heißen auch Szenarien. ( èscenario based design.) Anwendungsfälle werden in strukturiertem Text beschrieben. Alle möglichen Anwendungsfälle - oder ein für ein bestimmtes Teilsystem relevanter Teil - werden als Anwendungsfalldiagramm realisiert. 13
II 2. Anwendungsfalldiagramme Anwendungsfall als strukturierter Text (auch als Aktivitäts oder Zustandsdiagramme) Beispiel: "Buch an einem Selbstausleiheautomaten ausleihen" Normallfall: 1. BenutzerIn liest Ausweis in System ein; System validiert Ausweis. 2. BenutzerIn wählt "Ausleihen"; System aktiviert Ausleihfunktion. 3. BenutzerIn liest Buchcode ein; System identifiziert das Buch, registriert Ausleihe, deaktiviert das Diebstahletikett. Auch Sonderfälle 14
II 2. Anwendungsfalldiagramme Akteur 15
II 2. Anwendungsfalldiagramme Anwendungsfall 16
II 2. Anwendungsfalldiagramme Anwendungsfalldiagramm 17
II 2. Anwendungsfalldiagramme Include: Bindet anderen Anwendungsfall ein, der an mehreren Stellen genutzt werden kann. 18
II 2. Anwendungsfalldiagramme Extend: Modelliert Varianten, die einen Basisanwendungsfall abwandeln. 19
II 3. Zustandsdiagramme Zustandsdiagramme modellieren das dynamische zeitliche Verhalten eines Systems. Auch state machine è state diagram Mögliche Zustände der Objekte einer Klasse oder eines Teilsystems. Dynamik des Systemverhaltens: Reaktionen auf äußere Ereignisse. 20
II 3. Zustandsdiagramme 21
II 4. Aktivitätsdiagramme Aktivitätsdiagramme beschreiben Abläufe in einem System. Verbinden Aktivitäten, einen Steuerfluss und Objektzustände miteinander. Erinnern stark an traditionelle "Flussdiagramme" (und haben auch alle ihrer Nachteile). 22
II 4. Aktivitätsdiagramme 23
II 5. Interaktionssicht Ziel: Darstellung der Interaktion ausgewählter Objekte in zeitlicher Folge. Entweder als Sequenzdiagramme, die die Zeitachse in den Mittelpunkt rücken oder als Zusammenarbeitsdiagramme die Objektstruktur und Aufrufe der Objekte in den Vordergrund rücken. (Beide Diagrammtypen sind logisch äquivalent!) 24
II 5. Interaktionssicht Als Sequenzdiagramm 25
II 5. Interaktionssicht und als Zusammenarbeitsdiagramm. 26
II 6. Paketdiagramme Ziel: Aufteilung eines großen auf mehrere kleine Systeme. Innerhalb der Pakete müssen Namen eindeutig sein aber eben nicht zwischen Ihnen. (Vgl. Namespacekonzept in XML.) 27
II 6. Paketdiagramme 28
II 7. Komponentendiagramme Ziel: Aufteilung der Gesamtfunktionalität eines Systems auf mehrere Softwaremodule, die: v Möglichst unabhängig voneinander entwickelt / gewartet werden können. v Nur über genau definierte Schnittstellen miteinander kommunizieren. 29
II 7. Komponentendiagramme 30
II 8. Verteilungsdiagramme Ziel: Aufteilung der Gesamtfunktionalität eines Systems auf mehrere Hardwaremodule (Server). 31
II 8. Verteilungsdiagramme 32
The purpose of UML TheoreKcal model model for comparison calibra9on verifica9on unified Empirical model model of deduc9on induc9on GeneraKng knowledge created object make comparison evalua9on modelled object understand