Uni ed Modeling Language (UML) UML: Einf uhrung Uni ed ... Einf uhrung in die Modellierung...

download Uni ed Modeling Language (UML) UML: Einf uhrung Uni ed ... Einf uhrung in die Modellierung Petrinetze

of 48

  • date post

    04-Jun-2018
  • Category

    Documents

  • view

    218
  • download

    0

Embed Size (px)

Transcript of Uni ed Modeling Language (UML) UML: Einf uhrung Uni ed ... Einf uhrung in die Modellierung...

  • Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Vorlesung ModellierungModellierungsmethoden der Informatik

    Wintersemester 2011/12

    Prof. Barbara KonigUbungsleitung: Dr. Sander Bruggink

    Barbara Konig Modellierung 1

    Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    UML: Einfuhrung

    UML = Unified Modeling Language

    Standard-Modellierungssprache furSoftware Engineering.

    Basiert auf objekt-orientiertenKonzepten.

    Sehr umfangreich, enthalt vieleverschiedene Typen von Modellen.

    Entwickelt von Grady Booch,James Rumbaugh, Ivar Jacobson(1997).

    Barbara Konig Modellierung 213

    Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    UML und Objekt-Orientierung

    Was bedeutet Objekt-Orientierung?

    Grundidee

    Die reale Welt besteht aus Objekten, die untereinander inBeziehungen stehen. Diese Sichtweise wird auch auf Modellierungund Softwareentwicklung ubertragen.

    Etwas genauer . . .

    Daten (= Attribute) werden zusammen mit der Funktionalitat (=Methoden) in Objekten organisiert bzw. gekapselt. Jedes Objekt istin der Lage Nachrichten (= Methodenaufrufe) zu empfangen,Daten zu verarbeiten und Nachrichten zu senden.

    Diese Objekte konnen einmal erstellt in verschiedenenKontexten wiederverwendet werden.

    Barbara Konig Modellierung 214

    Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    UML und Objekt-Orientierung

    Geschichte der Objekt-Orientierung

    Entwicklung von objekt-orientierten Programmiersprachen:

    60er Jahre: Simula (zur Beschreibung und Simulation vonkomplexen Mensch-Maschine-Interaktionen)80er Jahre: C++90er Jahre: Java

    Verbreitung von objekt-orientierten Entwurfsmethoden:

    70er Jahre: Entity-Relationship-Modell90er Jahre: Vorlaufer von UML:OOSE (Object-Oriented Software Engineering),OMT (Object Modeling Technique)Seit 1997: UMLSeit 2005: UML 2.0

    Barbara Konig Modellierung 215

  • Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    UML und Objekt-Orientierung

    Vorteile der objekt-orientierten Programmierung und Modellierung

    Leichte Wiederverwendbarkeit dadurch, dass Daten undFunktionalitat zusammen verwaltet werden und es Konzeptezur Modifikation von Code (Stichwort: Vererbung) gibt.

    Nahe zur realen Welt: viele Dinge der realen Welt konnen alsObjekte modelliert werden.

    Vertraglichkeit mit Nebenlaufigkeit und Parallelitat:Kontrollfluss kann nebenlaufig in den Objekten ablaufen unddie Objekte konnen durch Nachrichtenaustausch bzw.Methodenaufrufe untereinander kommunizieren.

    Barbara Konig Modellierung 216

    Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    UML und Objekt-Orientierung

    Ein Beispiel fur die Modellierung vonObjekten der realen Welt:

    Fahrkartenautomat

    Daten: Fahrtziele, Zoneneinteilung,Fahrtkosten

    Funktionalitat: Tasten drucken,Preise anzeigen, Munzen einwerfen,Fahrkarte auswerfen

    Barbara Konig Modellierung 217

    Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    UML und Objekt-Orientierung

    Konzepte

    Klassen: definiert einen Typ von Objekten mit bestimmtenDaten und bestimmter Funktionalitat.

    Beispiel: die Klasse der VRR-Fahrkartenautomaten

    Objekte: Instanzen der Klasse.

    Beispiel: der Fahrkartenautomat am DuisburgerHauptbahnhof, Osteingang

    Barbara Konig Modellierung 218

    Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    UML: Einfuhrung

    Einsatzgebiete von UML im Software-Engineering

    Visualisierung

    Spezifikation

    Konstruktion (z.B. zur Codegenerierung)

    Dokumentation

    Barbara Konig Modellierung 219

  • Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    UML: Einfuhrung

    Vokabular der UML (nach Booch/Rumbaugh/Jacobson)

    Dinge (things)

    Beziehungen (relationships)

    Diagramme (diagrams)

    Dinge

    Strukturen (structural things)

    Verhalten (behavioral things)

    Gruppen (grouping things)

    Annotationen (annotational things)

    Barbara Konig Modellierung 220

    Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    UML: Einfuhrung

    Beziehungen

    Abhangigkeiten (dependencies)

    Assoziationen (associations)

    Generalisierungen (generalizations)

    Realisierungen (realizations)

    Barbara Konig Modellierung 221

    Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    UML: Einfuhrung

    UML-Diagramme

    Verhaltens-diagramme

    Interaktions-

    diagramme

    Objekt-

    diagramm

    Kompositions-

    strukturdiagramm

    diagrammeStruktur-

    Klassen-

    diagramm

    Komponenten-

    diagramm

    Verteilungs-

    diagramm

    Paket-

    diagramm

    Diagrammeder UML

    diagramm diagramm

    diagramm

    Aktivitats- Anwendungsfall-

    Zustands-

    diagrammdiagramm

    Interaktionsuber-

    sichtsdiagramm

    Zeitverlaufs-/

    Timing-Diagramm

    Kommunikations-Sequenz-

    Barbara Konig Modellierung 222

    Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    UML: Einfuhrung

    Diagramme (I)

    Strukturdiagramme

    Klassendiagramme (class diagrams)Objektdiagramme (object diagrams)Kompositionsstrukturdiagramme (composite structurediagram)Paketdiagramme (package diagram)Verteilungsdiagramme (deployment diagram)Komponentendiagramme (component diagrams)

    Barbara Konig Modellierung 223

  • Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    UML: Einfuhrung

    Diagramme (II)

    Verhaltensdiagramme

    Aktivitatsdiagramme (activity diagrams)Zustandsdiagramme (state diagrams)Anwendungsfalldiagramm (use case diagrams)

    Interaktionsdiagramme

    Sequenzdiagramme (sequence diagrams)Kommunikationsdiagramm (communicationdiagram)Zeitverlaufsdiagramm (timing diagram)Interaktionsubersichtsdiagramm (interactionoverview diagram)

    Wir werden im Folgenden einige dieser Begriffe mit Leben fullen.

    Barbara Konig Modellierung 224

    Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    Klassen- und Objektdiagramme

    Wir beginnen mit Klassen- und Objektdiagrammen . . .

    Beispiel: Klasse der zweidimensionalen Punkte mit x-,y -Koordinaten und Operationen zum Auslesen der Koordinaten

    Graphische Darstellung einer Klasse

    x: inty: int

    Klassenname

    Attribute (evtl. mit Typ)

    Operationen/Methodenget x(): intget y(): int

    Point

    Barbara Konig Modellierung 225

    Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    Klassen- und Objektdiagramme

    Bemerkungen:

    Bei den Attributen handelt es sich um sogenannteInstanzattribute, d.h., sie gehoren zu den Instanzen einerKlasse (nicht zur Klasse selbst).

    Man kann die Sichtbarkeit eines Attributes bzw. einerMethode spezifieren, indem man + (offentlich/sichtbar) oder (privat/nicht sichtbar) vor den Attribut-/Methodennamenschreibt.Auch die Angabe # (geschutzt/protected) ist moglich. Indiesem Fall ist das Attribut nur fur Klassen sichtbar, die vonder entsprechenden Klasse erben.

    Barbara Konig Modellierung 226

    Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    Klassen- und Objektdiagramme

    Bemerkungen:

    Attribute haben im allgemeinen Typen, manchmal auchVorgabewerte (= initiale Werte). Dies wird dannfolgendermaen notiert:

    x: int = 0

    Mehrstellige Operationen mit Ruckgabewert werden mit ihrenTypen folgendermaen notiert:

    add(m: int, n: int): int

    Barbara Konig Modellierung 227

  • Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    Klassen- und Objektdiagramme

    Graphische Darstellung einer Instanz einer Klasse

    x: inty: int

    get x(): intget y(): int

    instantiate

    x = 0y = 0

    Point mypoint :Point

    Barbara Konig Modellierung 228

    Einfuhrung in die ModellierungPetrinetze

    Unified Modeling Language (UML)

    Klassen- und ObjektdiagrammeVerhaltensdiagrammeUberblick uber weitere UML-Diagramme

    Klassen- und