Objektorientierte Konzepte

Slides:



Advertisements
Ähnliche Präsentationen
1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Advertisements

Frank Simon, BTU Cottbus: Einführung in UML
Modellbasierte Software-Entwicklung eingebetteter Systeme
UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler.
Kapitel 7 State-Machines/Zustandsautomaten
Methodik: Objektorientierte Analyse
Objektorientierter Entwurf
Objektorientierter Entwurf
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Objektorientierte Konzepte und Notation in UML
Objektorientierte Analyse
Checklisten dynamisches Modell
Manfred Thaller, Universität zu Köln Köln 28. Januar 2008
Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim)
Seminar Rechtsinformatik
Ziel: externe Systemverhalten aus Anwendersicht
Sequenzdiagramm.
Objektorientierte Analyse (OOA) Verhaltensmodellierung
Objektorientierte Analyse (OOA) Inhaltsübersicht
Verhaltensmodellierung mit UML2 Übersicht
Ausnahmen HS Merseburg (FH) WS 06/07.
Lösungen
Weitere UML-Diagramme: Interaktionsübersichtsdiagramm Timing Diagramm
Objektorientierte Konzepte
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
State Machines Teil 2 States State Invarianten
UML Unified Modelling Language Dipl. -Inform
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
1 Klassen (1) Eine Klasse beschreibt eine Menge von Objekten mit gemeinsamer Struktur gemeinsamem Verhalten gemeinsamen Beziehungen gemeinsamer Semantik.
Kurzüberblick über ereignisgesteuerte Prozessketten (EPK)
Referat „COMET-Basis“
11. Vorlesung: Dynamische Konzepte am Fallbeispiel
12. Vorlesung: Aktivitätsdiagramme
10. Vorlesung: Dynamische Konzepte
Input / Wahrnehmung Control / Bewusstsein Output / Motorik Information.
Sequenzdiagramme (1) Festlegen des Inter-Objekt-Verhaltens (Interaktionsstruktur, Verantwortlichkeiten) Sequenzdiagramm ist temporal orientiert zeigt.
Unified Modeling Language Repetition / Einführung zu UML
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Verteidigung der Bachelor-Thesis Objektorientierte Geschäftsprozessmodellierung mit BPMN und UML Patrick Heydorn.
UML-Kurzüberblick Peter Brusten.
Unified Modeling Language
UML UML mit SiSy® Vorgehensmodell Dokumentation HTML-Export
UML Modellierung des Verhaltens von Klassen und Objekten
Informatik und Programmieren 3
Vorlesung Software Engineering I
Zustandsübergangsdiagramme (1)
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 3de.
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
Das Entity-Relationship-Modell
Klassen und Klassenstruktur
Unified Modeling Language UML
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
Lernlandkarte OOP (ObjektOrientiertes Programmieren)
XUML - executable UML Vortrag im Rahmen des Seminars zum Thema Modellgetriebene Softwareentwicklung René Heilmann.
Sichtbarkeit einschränken
1 Objektorientierter Entwurf E-R-Modellierung: Ausschließlich strukturelle Aspekte Verhaltensaspekte noch unberücksichtigt:  Interaktionen zwischen Objekten.
1 DigInf 05/06 Diagrammtypen der UML 2.0 StrukturdiagrammeVerhaltensdiagramme Interaktionsdiagramme Klassendiagramm Komponentendiagramm Kompositionsstrukturdiagramm.
© Till Hänisch, 2002 BA Heidenheim Objekte und UML "You can model 80 percent of most problems by using about 20 percent of the UML." -- Grady Booch But.
Tutorium Software-Engineering SS14 Florian Manghofer.
UML – Unified Modeling Language
Einführung DI Harald Sander.
Modellierung von Geschäftsprozessen
4. Modellieren und Diagrammarten
Informatik Softwareentwicklung – 4.2 Diagramme
 Präsentation transkript:

Objektorientierte Konzepte Dynamische Konzepte: Zustandsautomat UML-Diagramme: Zustandsdiagramm Aktivitätsdiagramm

Zustandsautomat Zustandsautomat= Zustände+ Übergänge (Transitionen) Zustand: Zeitspanne, in der ein Objekt auf ein Ereignis wartet (andauernde Aktivität) Ereignis: tritt zu einem bestimmten Zeitpunkt auf und hat (konzeptionell) keine Dauer; kann Aktion innerhalb eines Zustands auslösen (durch Operationen realisiert) Transition: Durch ein Ereignis ausgelöster Zustandswechsel (Aktion) Ein Objekt kann sukzessive mehrere Zustände durchlaufen Momentaner Zustand und eintretendes Ereignis konstituieren den Folgezustand

Zustandsdiagramm Engl.: state chart diagram, UML 2.0: state machine diagram Beschreibt die Zustandsfolgen eines Objekts einer Klasse in seinem gesamten Lebenszyklus oder während der Ausführung einer Operation Modellierung des Intraobjektverhaltens (Interaktionsdiagramme: Interobjektverhalten)

Basisnotation Zustand= Rechteck mit abgerundeten Ecken Zweiteilung möglich: Name (optional: anonymer Z.) + Aktivität (do/ Aktivität) oder Aktion (entry-,exit-Aktion) Transition: Pfeil, beschriftet mit Ereignis; Ereignisarten: Signal (Ereignisname: left button down), Nachricht (Operationsaufruf: bearbeite()), Bedingung (wenn x<10), Zeitpunkt ( after(6 seconds), when(datum=10.11.04)) Guard condition: Bedingung die nach Eintritt des Ereignisses überprüft wird Anfangszustand: ausgefüllter Kreis, Endzustand: „Bullauge“ (auch optional) Implizites Ereignis: tritt ein, wenn Verarbeitung beendet ist

Beispiel 1: Lebenszyklus eines Buchs

Beispiel 2: Kassenautomat: Parkgebühren zahlen

Ziel: Zustandsdiagramm erstellen Übung 1 Ziel: Zustandsdiagramm erstellen Modellieren Sie einen zyklischen Zustandsautomaten. Folgende Situation: Es wird ein Einweihungsfest gegeben. Da es Hochsommer ist und die Gäste sehr durstig sind, muß häufig für Getränkenachschub aus dem Keller gesorgt werden. Der Gastgeber befindet sich zunächst in einem Zustand „mit Gast kommunizieren“. Der Forderung eines Gastes nach Getränkenachschub gibt der Gastgeber dann nach, wenn der Kühlschrank tatsächlich leer ist. Er kümmert sich dann um den Nachschub, der sich im Keller befindet. Nachdem er die neuen Getränke geholt und den Keller wieder abgeschlossen hat, macht er sich ans Auffüllen des Kühlschranks. Indem er seinem durstigen Gast ein neues Getränk überreicht, tritt wieder sein anfänglicher kommunizierender Zustand ein. Die gelungene Aktion wird durch ein Prosit abgeschlossen (bedenken Sie, dass es viele Gelegenheiten für ein Prosit gibt…). Im Zustandsdiagramm sollen die nebenstehenden Operationen eingebunden sein. Gastgeber öffneKeller() schließeKeller() holeGetränke() öffneKühlschrank() schließeKühlschrank() ladeKühlschrank() zuprosten()

Beispiel: Unterzustände

Übung 2 Ziel: Zustandsdiagramm erstellen Anhand der folgenden Problembeschreibung ist ein Zustandsdiagramm zu erstellen, um das Abheben von Geld an einem - vereinfachten - Geldautomaten zu beschreiben. Zu Beginn ist der Automat im Zustand »bereit«. Wird eine Karte eingegeben, so wird die Karte eingezogen. Falsche Karten werden sofort ausgeworfen und der Geldautomat ist wieder bereit. Ist die Karte korrekt, dann wartet der Automat auf die Eingabe der Geheimzahl. Wird eine falsche Geheimzahl eingegeben, dann bricht der Automat die Verarbeitung ab (d.h. Auswerfen der Karte) und ist wieder bereit. Bei korrekter Geheimzahl wartet der Automat auf die Eingabe des Betrags. Ist der gewünschte Betrag zu hoch, kann er erneut eingegeben werden. Weist das Konto die notwendige Deckung auf, dann wird die Karte aktualisiert ausgegeben und anschließend der Kundenauftrag bearbeitet. Anschließend ist der Automat bereit für den nächsten Kunden. Solange der Automat den Auftrag noch nicht bearbeitet, kann jederzeit die Rückgabetaste gedrückt werden. Der Automat wirft die Karte aus und ist wieder bereit.

Aktivitätsdiagramm Einsatz: Beschreibung eines Ablaufs - Anwendungsfall - Workflow - Operation

Notation Kreis (ausgefüllt/ bullaugig): Start/Ende Bereich A Bereich B Kreis (ausgefüllt/ bullaugig): Start/Ende Rechteck mit abgerundeten Ecken: Aktivität Pfeil: Übergang Raute: Entscheidung Balken: Teilung (Splitting) und Synchronisation Partition, „swimlane“: Verantwortlichkeitsbereiche; alternative Notation: (Partition) Gabel: Unteraktionsdiagramm swimlane

Beispiel 3: Auftrag bearbeiten

Beispiel 4: Kaffee vom Automaten ziehen Kafeetrinker Automat

Übung 3 Ziel: Aktivitätsdiagramm erstellen Wir schauen nochmal beim Einweihungsfest vorbei. Stellen Sie nun den Ablauf des Falles „Durst stillen“ durch ein Aktivitätsdiagramm dar. Beachten Sie dabei jetzt folgende Rahmenvoraussetzungen: Der Gast kann sich selbst bedienen, indem er aus dem Kühlschrank ein Bier holt. Er kann wahlweise den Gastgeber auch bitten, einen Tee zuzubereiten. Falls kein Bier mehr im Kühlschrank ist, holt der Gastgeber Bier aus dem Keller. Beachten Sie auch den Fall, dass es gar nichts mehr gibt und der Gast durstig bleibt. Versuchen Sie möglichst viele verschiedene Basisnotationselemente in das Diagramm einzubringen.

Weitere Übungen Übung 4: Ziel: Zustandsdiagramm erstellen Versuchen Sie einen Kaffeeautomaten als Zustandsdiagramm zu modellieren. Übung 5: Ziel: Aktivitätsdiagramm erstellen Erweitern Sie den Lebenszyklus eines Buchs aus Beispiel 1, indem Sie die Akteure Entleiher und Bibliotheksangestellte mit einbeziehen. Entwickeln Sie daraus ein Aktivitätsdiagramm „Buch am Schalter entleihen“.