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)