www.jurijs-skripte.de.vu UML

Transcription

www.jurijs-skripte.de.vu UML
Seite 1 von 3
www.jurijs-skripte.de.vu
UML
UML
Wir müssen alle UML-Diagramme lesen können
Klassendiagramm, Sequenzdiagramm, Use-Case-Diagramm auch erstellen können
WAS IST UML?
- eine standardisierte Notationssprache um Softwaresysteme und –projekte besser zu entwerfen,
analysieren, dokumentieren zu können
ÜBERBLICK ÜBER DIE 14 DIAGRAMMTYPEN
- Strukturdiagramme: Klassendiagramm, Paket., Objektd., Kompositionsstrukturd., Komponentend.,
Verteilungsd., Profild.
- Verhaltensdiagramme: Use-Case-Diagramm, Aktivitätsd., Zustandsautomat
Interaktionsdiagramm: Sequenzd., Kommunikationsd., Timingd., Interaktionsd.
UML ZUR SYSTEMANALYSE
- Ziele
Anforderungen untersuchen, verstehen, zurückspiegeln
Detaillierung der Anforderungen für die spätere Umsetzung
- Hauptaufgaben
Definition der Systemgrenzen und Schnittstellen des Systems zur Umwelt
Identifikation der Funktionalität des Systems
Modellierung eines Begriffsmodells ( Fachbegriffe)
- Meist wird nur ein Teil der 13 Diagrammtypen tatsächlich benutzt
KOMPONENTENDIAGRAMM
- Kontext: Definition der Systemgrenzen und Schnittstellen des Systems zur Umwelt
Gesamtsystem wird als Black-Box modelliert
Die Schnittstellen stehen im Vordergrund
Die Strichmännchen stehen für die interagierenden Personen
USE-CASE-DIAGRAMM/ANWENDUNGSFALLDIAGRAMM
- Identifikation der Funktionalität des Systems (Use Cases)
Ausgangspunkt ist häufig der Akteur
- Beschreiben, was ein System aus externer Sicht ausführt
- Schwerpunkt liegt auf dem „Was“ nicht auf dem „Wie“
Implementierungsdetails sind hier bedeutungslos
- Anwendungsfall: Zusammenfassung verschiedener Szenarien für eine bestimmte Aufgabe oder ein
bestimmtes Ziel
Zusätzlich gibt es auch oft eine textuelle Beschreibung
- Akteur: Rolle, die ein Anwender in Bezug auf das System einnimmt
Ein Akteur führt ein oder mehrere Anwendungsfälle durch
Ein Anwendungsfall kann mittels verschiedener Akteure durchgeführt werden
KLASSENDIAGRAMM
- Beschreibt Typen von Objekten im System und verschieden statische Arten von Beziehungen
zwischen diesen
- Zwei grundsätzliche Arten von statischen Beziehungen
Assoziationen
Untertypen
- 3 Sichtweisen bei der Erstellung von Klassendiagrammen
Konzeptionell (Hat der Kunde und ich dasselbe Verständnis?)
Hierbei werden meist nur die Klassennamen aufgeführt
Spezifizierend
Mit Attributen und Methoden
Implementierend
Zusammenfasser: Jurij Weinblat, WS 13/14. Alle Angaben ohne Gewähr. Quelle: Internetrecherche,
Vorlesungsunterlagen von Prof. Dr. Eicker, Mitschriften (Universität Duisburg-Essen)
Seite 2 von 3
www.jurijs-skripte.de.vu
UML
Mit weiteren Parametern wie Datentypen, Sichtbarkeiten…
AKTIVITÄTSDIAGRAMM/ OBJEKTFLUSSDIAGRAMM
- Beschreiben eine Reihenfolge von Aktivitäten
- Kombinieren Ideen verschiedener Techniken (Ereignisdiagramme, SDL, Workflow-Modellierung,
Petri-Netze)
- Objektflussdiagramme zeigen zusätzlich resultierende und vorausgesetzte Objektzustände
VERHALTENSDIAGRAMME: AKTIVITÄTSDIAGRAMM
- Beschreiben eine Reihenfolge von Aktivitäten (Ovalle) Prozess, Laufzeitverhalten
- Kombinieren Ideen verschiedener Techniken (Ereignisdiagramme, SDL, Workflow-Modellierung,
Petri-Netze)
- Objektflüsse zeigen zusätzlich resultierende und vorausgesetzte Objekte, die sich auf das
Klassendiagramm beziehen können
- Die schwarzen Balken lösen eine parallele Abarbeitung aus
- Swimlanes drücken die Verantwortlichkeiten aus
- Oben wird auch durch Quadrate der Objektfluss dargestellt
- Sämtliche Operationen innerhalb einer Parallelisierung werden gleichzeitig ausgeführt ( Türen)
VERHALTENSDIAGRAMME: ZUSTANDSAUTOMAT (FOLIEN EINFÜGEN!)
- Beschreiben das Verhalten eines Systems
- Ein Zustand gehört zu genau einer Klasse
- Zusammenfassung einer Menge möglicher Attributwerte (Objektzustände), die Objekte einer
Klasse einnehmen können
- Es gibt Transaktionen zwischen den Zuständen
- Zustände können durch Eingangs- und Ausgangsbedingungen näher spezifiziert werden
- Bei den Kreuzugspunkten hält man inne und warten (kann man auch als Zustand )
- Der Fahrkartenautomat ist ein unendlicher Automat, weil es keinen Austrittspunkt/Endpunkt ist
Endpunkte zeigen häufig, dass es ein Unterautomat eines darüber liegenden Automaten ist
- Im Zustandsautomat „Tür“ wurden Zustände und Unterzustände modelliert
WIR SIND JETZT NICHT MEHR IN DER SYSTEMANALYSE SONDERN IM SYSTEMREALISIERUNG
- Beim Klassendiagramm geht es nun nicht mehr um eine Festlegung der Begriffe, sondern z.B. um
das Datenmodell
KOMPONENTENDIAGRAMM
Es geht nun nicht mehr um die Definition der Systemgrenzen (System war eine Blackbox)
- Zeigt die verschiedenen Komponenten und deren Abhängigkeiten
- Komponente repräsentiert ein physikalisches Quelltextmodul
- Komponente meist dasselbe wie Paket
Aber: Eine Klasse kann nur innerhalb eines Pakets definiert werden, jedoch in mehreren
Komponenten vorhanden sein
- Abhängigkeiten zeigen den Änderungsbedarf an Komponenten
Verschiedene Arten von Abhängigkeiten (z.B. Kommunikations-und
Übersetzungsabhängigkeiten
Beispiel: Ändert sich die Schnittstellendefinition einer Komponente (statische Schnittstellen) so
muss die abhängige Komponente ebenfalls neu übersetzt werden
- Es geht nicht mehr darum, das System als Black Box zu modellieren und die Schnittstellen zum
Nutzer zu zeigen
Sehr wichtig bei der Architekturdefinition
- Nun ist das System eine Whitebox
Zusammenfasser: Jurij Weinblat, WS 13/14. Alle Angaben ohne Gewähr. Quelle: Internetrecherche,
Vorlesungsunterlagen von Prof. Dr. Eicker, Mitschriften (Universität Duisburg-Essen)
Seite 3 von 3
www.jurijs-skripte.de.vu
UML
Man ist aber auf einer höheren Abstraktionsebene als bei Klassendiagrammen
- Lollipop-Notation: Der Lollipop ist die Schnittstelle und die Umfassung die Nutzungs-Beziehung
VERTEILUNGSDIAGRAMM
- Zeigt die realen Beziehungen zwischen Soft-und Hardwarekomponenten im ausgelieferten System
Zeigt, welche Files in welcher Hardware und Software laufen
- Knoten repräsentieren Verarbeitungseinheiten
Hardware: z.B. Mainframe, PC, Mobiles Endgerät
Software: Laufzeitumgebung, Application Server, Container
- Verbindungen zwischen Knoten repräsentieren Kommunikationspfade
KOMMUNIKATIONSDIAGRAMM
- Zeigt eine Menge von Interaktionen zwischen ausgewählten Objekten in einem bestimmten
Kontext (zur Modellierung komplexer Sachverhalte, insb. bei vielen Objekten)
- Im Vordergrund stehen Objekte und ihre Zusammenarbeit
Beeinlusst die Wartbarkeit des Systems positiv
- Zeitlicher Verlauf wird durch Nummerierung der Nachrichten dargestellt
- Am Doppelpunkt vor dem Namen sieht man, dass es sich um Instanzen handelt
VERHALTENSDIAGRAMME: SEQUENZDIAGRAMM
- In zahlreichen Phasen wie Analyse, Architektur, Feindesign und Test einsetzbar
Kann z.B. Use-Cases aus dem Anwendungsfalldiagramm näher beschreiben
Oder auch Schnittstellen aus einem Komponentendiagramm
Oder zur Spezifikation wichtiger Algorithmen
- Eine Sequenz zeigt eine Reihe von Nachrichten, die eine ausgewählte Menge von Objekten in einer
zeitlich begrenzten Situation austauscht
- Im Vordergrund steht der zeitliche Verlauf der Nachrichten, dargestellt durch senkrechte
Lebenslinien
- Sequenzdiagramm ist das am meisten verwendete Interaktionsdiagramm
- Zweckdienlich in allen Phasen der Softwareentwicklung
- Auf der Horizontalen stehen die Kommunikationspartner/Objekte zur Laufzeit
- Auf Vertikalen steht der zeitliche Verlauf
- Der loop-Operator gruppiert mehrere Interaktionen zu einer Schleife
- Mit dem alt-Operator wird eine Alternative modelliert
- Man kann mit dem ref-Operator auch Referenzen spezifizieren
UML-METAMODELL
- Das UML-Metamodell spezifiziert die Diagrammtypen und Elemente, die verwendet werden
können
Dieses gemeinsame Metamodell ermöglich die Wiederverwendung von Modellbestandteilen
wie Klassen in anderen Diagrammtypen
- Die MOF (Meta-Metamodell von UML) ermöglicht die Definition neuer Modellelemente
UML-Profile sind solche Spracherweiterungen für bestimmte Anwendungsfälle
- Auf der Instanzebene befinden sich die realen Objekte
ZUSAMMENFASSUNG
- UML ist eine standardisierte Notationssprache
- Sie besteht aus 13+1 Diagrammtypen (das letzte dient zur Beschreibung von UML-Erweiterungen)
- Definierte Syntax und Semantik erlaubt bessere Spezifikation und Kommunikation
Erleichtert die Kommunikation und vermeidet Missverständnisse!
- Diagrammtypen anwendbar je nach Projektphase und Betrachtungsgegenstand
Zusammenfasser: Jurij Weinblat, WS 13/14. Alle Angaben ohne Gewähr. Quelle: Internetrecherche,
Vorlesungsunterlagen von Prof. Dr. Eicker, Mitschriften (Universität Duisburg-Essen)