20
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller Referentin: Sarah Burmann Datum : 14.01.2010

UML

  • Upload
    arnaud

  • View
    33

  • Download
    0

Embed Size (px)

DESCRIPTION

UML. WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller Referentin: Sarah Burmann Datum : 14.01.2010. Was ist UML?. UML = Unified Modeling Language standardisierte Modellierungssprache (durch die OMG) - PowerPoint PPT Presentation

Citation preview

Page 1: UML

UML

WS 09/10: Datenbanken vs MarkUpDozent: Prof. Dr. Manfred ThallerReferentin:Sarah Burmann Datum : 14.01.2010

Page 2: UML

Was ist UML?

• UML = Unified Modeling Language

• standardisierte Modellierungssprache (durch die OMG)

• legt einen bestimmten Sprachumfang fest in dem festgehalten ist, welche Begriffe Teil der Sprache sind und was die einzelnen Begriffe bedeuten

• ist darauf ausgelegt Modelle zum besseren Verständnis zu erstellen

• Elemente der Sprache werden durch grafische Elemente dargestellt (z.B. Klasse =Rechteck)

• besitzt eine Grammatik durch die verschiedene Elemente logisch miteinander verknüpft werden können

Page 3: UML

Was ist UML?

• wurde zur Erstellung von Modellen in der Softwareentwicklung entwickelt

• Modell = Betrachtung eines Teilausschnitts; wichtige Aspekte werden herausgestellt, unwichtige vernachlässigt/weggelassen (information hiding)

UML ermöglicht eine einfache/einfachere Beschreibung eines Originals mit dem Ziel, dass Original besser verstehen zu können

Page 4: UML

Was ist UML?

• UML definiert 13 Diagrammtypen

• Je nach Betrachtungsweise werden unterschiedliche UML-Elemente und unterschiedliche Regeln zum Zusammenstellen benötigt

• verhindert, dass alle Formen verwendet werden müssen

• UML unterscheidet zwischen Struktur- und Verhaltensdiagrammen

• Strukturdiagramme: werden verwendet, um die Struktur einer Software zu beschreiben (statisch)

Klassendiagramme

• Verhaltensdiagramme: werden verwendet, um Abläufe zu erklären (dynamisch)Use cases

Page 5: UML

Vorteile von UML

• soll helfen, den Überblick zu behalten

• soll die Entwicklung aus unterschiedlichen Blickwinkeln beleuchten

• soll als Koordinationsinstrument ein Vorhaben vorantreiben

• als grafische Darstellung nicht nur für „Techniker“ gedacht/geeignet, sondern abteilungsübergreifend einsetzbar

• ist unabhängig von Programmiersprachen und Plattformen

Page 6: UML

Klassendiagramme

• Klassendiagramme sind die wichtigsten Strukturdiagramme der UML

• stellen die Zusammenhänge zwischen Klassen und/oder den Aufbau von Klassen dar

• statischer Diagrammtyp, da lediglich die Klassen mit ihren Methoden und Attributen sowie die statischen Verbindungen zwischen ihnen dargestellt werden

Page 7: UML

Klassendiagramme

• Zur Erinnerung: eine Klasse ist eine Zusammenfassung gleichartiger Objekte und definiert die Attribute und Methoden dieser Objekte. Alle Objekte (Instanzen) einer Klasse haben das gleiche Verhalten und die

selben Attribute

• UML stellt Klassen durch Rechtecke dar

• Attribute und Operationen der Klasse werden jeweils durch eine horizontale Linie vom Klassennamen getrennt

• Attribute können näher beschrieben werden, z.B. durch ihren Typ oder Initialwert, müssen aber mindestens mit ihrem Namen dargestellt werden

• Operationen/Methoden können ebenfalls näher beschrieben werden (Parameter, Initialwerte) und müssen auch mindestens mit ihrem Namen dargestellt werden

Page 8: UML

Klassendiagramme

Klassenname

Attribute

Methoden

Page 9: UML

Klassendiagramme

• UML ermöglicht die Einschränkung des Zugriffs auf Attribute und Methoden

• - private (privates Klassenmerkmal) + public (öffentliches Klassenmerkmal)

# protected (geschützt) ~ package (Paket)

• die Definition von Attributen und Methoden erfolgt durch die folgende Notation

AttributName : DatentypMethodenName () : Datentyp

Page 10: UML

Klassendiagramme

Exkurs Objekte:

• Objekte sind Exemplare einer Klasse mit einer bestimmten Anzahl von Attributen, deren Struktur in der Klasse des Objekts definiert sind

• Objekte werden in UML ebenfalls durch Rechtecke dargestellt

• der Objektname muss unterstrichen werden und ggfs. die zugehörige Klasse, durch einen Doppelpunkt getrennt, angegeben werden

ObjektName

ObjektName: KlassenName

Name der Klasse kann weggelassen werden, wenn die Klasse des Objekts aus dem Zusammenhang deutlich erkennbar ist, oder wenn die Klasse unbekannt ist

Standard-Angabe eines Objekts

Page 11: UML

Klassendiagramme

• Beziehungen von Klassen können in Klassendiagrammen unterschiedlich dargestellt werden

Gewöhnliche Assoziation: Klasse A kann auf Klasse B zugreifen (Navigierbarkeit)

Komposition: Klasse C ist abhängig von Klasse D und kann ohne diese nicht existieren

Vererbung: Klasse F ist Kind von Klasse E und erbt alle Eigenschaften und Methoden dieser Klasse

Page 12: UML

Klassendiagramme

• eine Verfeinerung der Assoziationen lässt sich durch das Einfügen von Multiplizitäten an den navigierbaren Enden erreichen

• Eine Multiplizität gibt an, ob es sich zwischen zwei Klassen um eine 1:1, 1:n oder n:m Beziehung handelt

1:1 = jedes Objekt einer Klasse steht mit genau einem Objekt einer anderen Klasse in Verbindung

1:n = ein Objekt einer Klasse hat Zugriff auf mehrere Objekte einer anderen Klasse

n:m = Objekte beider Klassen haben Zugriff auf mehrere Objekte der anderen Klasse

• keine Angabe bedeutet immer, dass eine 1:1 Beziehung besteht

• 1:n Beziehungen werden durch setzen eines * am navigierbaren Ende dargestellt

• n:m Beziehungen werden durch das setzen einer Zahl angegeben(Unter- und Obergrenze können durch setzen zweier Punkte angegeben werden (0..2))

Page 13: UML

Klassendiagramme

Ein Objekt der Klasse A kann auf mehrere Objekte der Klasse B zugreifen

Ein Objekt der Klasse C hat Zugriff auf kein oder genau ein Objekt der Klasse D

Page 14: UML

Klassendiagramme

• Ein Beispiel: Dargestellt werden soll ein Einkaufsvorgang in einem Onlineshop

Page 15: UML

Use-Case-Diagramme

• dt. Anwendungsfall-Diagramm

• dynamisches Diagramm der Kategorie Verhaltensdiagramme

• wird zur Spezifikation der Anforderungen an ein System eingesetzt

• stellt die Beziehungen und Abhängigkeiten zwischen Anwendungsfällen und Akteuren dar

• Ziel ist, zu zeigen was mit einem Softwaresystem (welches noch nicht existiert) erreicht werden soll

• Wichtig ist das WAS nicht das WIE

Page 16: UML

Use-Case-Diagramme

• grundlegende Begriffe eines Use-Case-Diagramms sind: Akteur, System, Use Case (Anwendungsfall), Assoziation, Beziehungen (inculde, extend)

• Use Case (Anwendungsfall):beschreibt eine bestimmte Menge von Aktionen, die durch schrittweise Ausführung ein bestimmtes Verhalten formen

Darstellungsform eines Use Case

• System:zu entwickelnde Software (realisiert das Verhalten, das durch die Use Cases beschrieben wird)

Darstellungsform eines Systems

UseCaseName

SystemName

Page 17: UML

Use-Case-Diagramme

• Akteur:stellt den Anwender dar. Er interagiert mit dem System und befindet sich immer außerhalb des Systems

Darstellungsform eines Akteurs

• Assoziationen:Verbindungslinien, die Zusammenhänge zwischen Elementen an den Enden der Verbindungslinie darstellen

Es gibt zwei Arten von Verbindungslinien

1. eine durchgezogene Linie stellt eine Assoziation zwischen Akteur und Use Case dar (Akteur wendet Use Case an)

Name

Page 18: UML

Use-Case-Diagramme

2. ein gestrichelter Pfeil stellt eine Assoziation zwischen zwei Use Cases dar

Da es zwei Arten der Assoziation zwischen Use Cases gibt, werden Schlüsselwörter zur eindeutigen Benennung eingesetzt

• <<include>>-Beziehung:beschreibt, dass ein Use Case A das Verhalten eines Use Case B importiertWenn Use Case A ausgeführt wird, wird von diesem Use Case ausgehend Use Case B gestartet.include-Beziehungen sind nicht optional, sondern werden immer ausgeführt

Kundendaten ändern

Berechtigung prüfen

<<include>>

Use Case BUse Case A

Page 19: UML

Use-Case-Diagramme

• <<extend>>-Beziehung:gibt an, dass der Use Case von dem die Linie ausgeht möglicherweise den anderen Use Case erweitertDer erste Use Case wird nur dann ausgeführt, wenn bestimmte Bedingungen im zweiten Use Case wahr sind

extension points:Beschriftung

CD beschriftenMusik CD erstellen

<<extend>>

Page 20: UML

Use-Case-Diagramme