Softwaretechnik. Kapitel 11 : Zustandsdiagramme. Statecharts / State Machines Historisches. State Machines in UML Verwendung in OO

Größe: px
Ab Seite anzeigen:

Download "Softwaretechnik. Kapitel 11 : Zustandsdiagramme. Statecharts / State Machines Historisches. State Machines in UML Verwendung in OO"

Transkript

1 Statecharts / Historisches Softwaretechnik Kapitel 11 : Zustandsdiagramme Kurt Stenzel, Hella Seebach Statecharts entstanden als Verallgemeinerung von Automaten Beschreibung von Zustandsübergangsystemen Konzept unabhängig von Objekt Orientierung entwickelt von David Harel (ca. 1987) hauptsächliche Anwendung: Modellierung reaktiver, eingebetteter Systeme z. B.: Steuerung von Ampeln, Fahrstühlen, Gleisanlagen, Hardwareschaltungen etc. unter dem Namen in UML integriert Softwaretechnik Kapitel 11 2 in UML Verwendung in OO bisher: Kommunikation zwischen den verschiedenen Elementen in der OO Entwicklung: Verhalten eines Elements Element = Objekt / Teilsystem (oder Vertreter: Fassade) Beschreibung der Zustände, die ein Element beim Erhalt verschiedener Nachrichten durchläuft mögliche Lebensgeschichten (life cycles) sinnvoll für zustandsabhängige Objekte d. h. Reaktion auf Nachricht hängt vom Zustand ab in UML typische Anwendungsfälle für Session oder Use Case Controller (Ablauf muss bestimmte Reihenfolge einhalten) Protokolle zu externen Systemen (sekundäre Akteure): Modem, Chipkartenleser, Sensoren/Aktoren etc. Teilsysteme, die separat entwickelt werden: Transaktionsverwalter einer Datenbank Protokolle zwischen separat entwickelten Teilsystemen: Client Server Protokolle Softwaretechnik Kapitel 11 3 Softwaretechnik Kapitel 11 4

2 Beispiel POST Notation Zustände durch benamte Rechtecke mit abgerundeten Ecken Ein Zustand ist entweder aktiv oder nicht (dynamisch!) Transitionen durch Pfeile mit Annotation Annotation: Ereignis[Bedingung] /Aktion Alle Elemente sind optional Semantik: Wenn Zustand aktiv ist, und Ereignis eintrifft, und Bedingung wahr ist, dann Zustandsübergang und Ausführen der Aktion (andernfalls passiert nichts) Initialzustand durch Pfeil von ausgefülltem Kreis Endzustand durch Pfeil zu umkringeltem Kreis Softwaretechnik Kapitel 11 5 Softwaretechnik Kapitel 11 6 Ereignisse (events) mögliche Arten von Ereignissen: Aufrufereignis (call event) Operation [Bedingung] / Aktion Endeereignis (completion event) [Bedingung] / Aktion Änderungsereignis (change event) when(test)[bedingung]/ Aktion Signalevent Signal [Bedingung] / Aktion Timeevent after(5 sec/min/...) [Bedingung] / Aktion Ereignisse Semantik erzeugte Ereignisse werden am Ende einer sog. Event Queue einsortiert das erste Ereignis dieser Queue ist das aktive Ereignis d.h. es ist immer nur ein Ereignis aktiv Transitionen werden von aktiven Ereignissen ausgelöst nach einem Schritt ist das aktive Ereignis abgearbeitet Softwaretechnik Kapitel 11 7 Softwaretechnik Kapitel 11 8

3 Aufruf und Endeereignisse call event Event ist UML Operation, d. h. Methodenaufruf sollte in der Klasse deklariert sein completion event wird erzeugt, sobald do action ( später) des Quellzustands beendet ist Zustand ohne do action: wird sofort erzeugt meistens wird Zustand sofort wieder verlassen Änderungsereignisse change event wird erzeugt, sobald Bedingung von falsch zu wahr wechselt Beispiel: when(x > y) zu dem Zeitpunkt, wo sich die beteiligte Variablen (hier: x,y) so ändern, dass Bedingung (x > y) von falsch zu wahr wechselt oft vorkommende Fälle ( state Zustand eines anderen Objekts) when(in s) (d. h. Zustand s wurde betreten) when(not in s) (d. h. Zustand s wurde verlassen) gut, um leicht spezifizieren zu können eventuell schwierig zu implementieren (Listeners für Methoden zum Setzen von x,y) Softwaretechnik Kapitel 11 9 Softwaretechnik Kapitel Signalereignisse Zeitereignisse signal event Signale (signal event) Sensor, Tastatur, Exception, Timer, Interrupt etc. Nachricht vs. Signal: ein definierter Empfänger vs. Signal mehrere oder Broadcast synchron vs. asynchron Signale meist durch Unterklassen einer Klasse Signal modelliert Dependency <<sends>>, wenn A an B ein Signal sendet Beispiel: Timer sendet Alarme, Methode sendet Exceptions time events kennen Timer: Ereignisse wie: 5 Sekunden nach Eintritt in Zustand oder: am um 12:30 Notation: after bzw. at: after(5 sec) [Bedingung] / Aktion at( :30) [Bedingung] / Aktion Softwaretechnik Kapitel Softwaretechnik Kapitel 11 12

4 Beispiel zusammengesetzte Zustände Notation zusammengesetzte Zustände zusammengesetzter Zustand: composite state Ein Zustand kann Unterzustände haben Notation durch Schachtelung XOR Zustand : Genau einer der Unterzustände ist aktiv Schachtelungstiefe beliebig Gesamtdiagramm kann als zusammengesetzter Zustand gesehen werden Softwaretechnik Kapitel Softwaretechnik Kapitel Zusammengesetzte Zustände Betreten und Verlassen Beispiel parallele Zustände Betreten eines zusammengesetzten Zustands Transition an zusammengesetzten Zustand selbst (default entry): Betreten des initialen Unterzustands Transition an Unterzustand: Betreten dieses Unterzustands Verlassen eines zusammengesetzten Zustands Transition von einem Unterzustand aus dem zusammengesetzten Zustand heraus Transition von dem zusammengesetzten Zustand selbst: Wenn Ereignis eintritt, wird Zustand verlassen (egal, welcher Unterzustand gerade aktiv ist) Ereignis = completion event: Zustand wird verlassen, wenn Endzustand erreicht ist Softwaretechnik Kapitel Softwaretechnik Kapitel 11 16

5 parallele Zustände ein Objekt kann mehrere Zustände verwalten (Aber: Überlegen, ob nicht besser durch 2 Objekte realisiert!) ein paralleler Zustand enthält mehrere Regionen Regionen sind durch gestrichelte Linie getrennt Jede Region enthält wieder Zustände Und Semantik : in jeder Region gibt es mindestens einen aktiven Zustand Initialzustand für jede Region separat Alle aktiven Zustände reagieren simultan auf die Nachricht parallele Zustände Betreten Betreten eines parallelen Zustands Transition an zusammengesetzten Zustand selbst (default entry): Betreten der initialen Unterzustände Transition an jeweils einen Unterzustand in jeder Region (fork): Betreten dieser Unterzustände Transition an nur einen Unterzustand in einer Region: Betreten dieses Unterzustands und des initialen Unterzustands der anderen Region. Softwaretechnik Kapitel Softwaretechnik Kapitel parallele Zustände Verlassen Verlassen eines parallelen Zustands Transition von dem parallelen Zustand selbst: Wenn Ereignis eintritt, wird Zustand verlassen (egal, welche Unterzustände gerade aktiv sind) Ereignis = completion event: Zustand wird verlassen, wenn alle Endzustände in allen Regionen erreicht sind Transition von jeweils einem Unterzustand in jeder Region (join): Verlassen des Zustands, wenn alle Unterzustände aktiv sind Transition von einem Unterzustand einer Region aus dem parallelen Zustand heraus: Zustand wird verlassen (egal, welcher Unterzustand in der anderen Region gerade aktiv ist) Forks und Joins In Parallelzustände führende Transitionen mit Forks gezeichnet Aus Parallelzuständen führende Transitionen mit Joins gezeichnet E2 E1 E3 E5 E5 E5 E5 E4 Softwaretechnik Kapitel Softwaretechnik Kapitel 11 20

6 Shallow History Aktionen Pfeil zu H (istory) Zustand (flach): Der Unterzustand, aus dem der Zustand verlassen wurde, wird wiederhergestellt grob: ein Programm wird ausgeführt UML bietet Notation für ein paar übliche Konstrukte Aufruf einer Methode obj.msg(args) Erzeugung eines Objekts new classname(args) Löschen eines Objekts object.destroy() senden eines Signals send(signal) (Programme, Zuweisungen,... ) meist werden in der Aktion nur die relevanten Nachrichten an die Umgebung (oder Parallelzustände) genannt Softwaretechnik Kapitel Softwaretechnik Kapitel Aktionen in Zuständen Konsistente Zustandskonfiguration Zustände können auch Aktionen enthalten: Zustand do / Aktion1 entry / Aktion2 exit / Aktion3 Ereignis [Bedingung] / Aktion4 entry und do Action werden ausgeführt, sobald der Zustand betreten wird der Zustand kann erst verlassen werden, wenn die entry Action beendet ist die do Action wird abgebrochen, sobald der Zustand verlassen wird wenn die do Action endet, wird ein completion event ausgelöst die exit Action wird ausgeführt, sobald der Zustand verlassen wird Aktionen können auch an Ereignisse und Bedingungen geknüpft werden Nach Ausführung eines Schrittes muss eine State Machine immer in einer konsistenten Zustandskonfiguration sein. Bedingungen für konsistente Zustandskonfiguration: Falls das Zustandsdiagramm aktiv ist, ist auch immer genau ein Top Level Zustand aktiv. Falls ein zusammengesetzter Zustand aktiv ist, so ist genau einer seiner direkten Kind Zustände aktiv. Falls ein paralleler Zustand aktiv ist, so ist in jeder seiner Regionen genau ein direkter Kind Zustand aktiv. Falls ein Zustand aktiv ist, so ist auch sein Eltern Zustand aktiv. Softwaretechnik Kapitel Softwaretechnik Kapitel 11 24

7 Konflikte In einem Schritt werden immer alle ausführbaren und nicht in Konflikt stehenden Transitionen ausgeführt Faustregel: 2 Transitionen sind im Konflikt, falls ihr gleichzeitiges Ausführen zu einer inkonsistenten Zustandskonfiguration führt Verschiedene Transitionen gleichzeitig möglich Indeterminismus, falls auf gleicher Ebenen Verschiedene Ebenen: niederere Ebene hat Priorität Indeterministische Schritte Parallelität bei Aktionen: Beide Transitionen schalten (Reihenfolge indeterministisch) Ergebnis der Zuweisung unspezifiziert (X = 0: 1 oder 2 oder 3?) derartige Konflikte vermeiden Softwaretechnik Kapitel Softwaretechnik Kapitel Beispiel Geldautomat Beispiel: Implementierung? Softwaretechnik Kapitel Softwaretechnik Kapitel 11 28

8 Implementierung in Java Implementierung in Java Möglichkeit 1: gar nicht. Oberfläche sorgt für richtige Reihenfolge Möglichkeit 2: expliziter Zustand, geschachtelte if s: enteritem(...) { if (state == EnteringItems) then Case1 else /* state!= EnteringItems */ print_errormessage } Möglichkeit 1: gar nicht. Oberfläche sorgt für richtige Reihenfolge Möglichkeit 2: expliziter Zustand, geschachtelte if s: enteritem(...) { if (state == EnteringItems) then Case1 else /* state!= EnteringItems */ print_errormessage } Möglichkeit 3: Polymorphie verwenden! Softwaretechnik Kapitel Softwaretechnik Kapitel Patterns Zustand Controller mit State Pattern Name: Zustand (state) Problem: Das Verhalten eines Objekts auf eine Nachricht ist abhängig vom Zustand des Objekts. Die Methoden enthalten Fallunterscheidung über endlich viele Fälle. Lösung: eigene Klasse Zustand definieren Objekt erhält Zustand als Attribut jeder Einzelfall wird Unterklasse Methoden überladen Softwaretechnik Kapitel Softwaretechnik Kapitel 11 32

9 Beispiel: Code State Pattern Bemerkungen POST: enteritem(...) state.enteritem(this,...); Controlstate: enteritem(post po,...) { print_errormessage } class EnteringItems extends Controlstate { enteritem(post po,...) { Case1; po.state = this; } endsale(post po) {... po.state=waitingforpayment.theinstance(); } } Die Klassen des Zustands sind zustandslos! es gibt nur einen Zustand EnteringItems alle Unterklassen als Singletons realisieren! kein Speicherverbrauch parallele Zustände = mehrere Zustandsattribute Nachricht an alle schicken zusammengesetzte Zustände Klassenhierarchie Softwaretechnik Kapitel Softwaretechnik Kapitel Zustände Noch ein Problem Pattern Kommandos Manche Objekte müssen auf große Zahl von Ereignissen hören Methoden e1(), e2(),... Ereignisse verändern im Wesentlichen den Zustand alle ähnlich geht s besser? Name: Kommando (command) Problem: ein Objekt erhält viele ähnliche Kommandos/Ereignisse? Wie implementieren? Lösung: Polymorphie anwenden: Definiere eine Klasse Command Eine Unterklasse pro Kommando Nur eine Methode execute() zum Ausführen Softwaretechnik Kapitel Softwaretechnik Kapitel 11 36

10 Pattern: Kommando Diskussion Zusammenfassung execute ist ein Interpreter erlaubt: Speicherung der Kommandos in Historie Undo() für Kommandos einfach möglich: Speichere notwendige Info während execute im Kommando andere Operationen möglich: Sortieren nach Priorität ( Scheduling ) Gruppieren zu Transaktionen Problem: nicht ohne weiteres verträglich mit Zustands Pattern weiterer UML Diagrammtyp: zur Modellierung von Zuständen und Reaktion auf (externe) Ereignisse Einsatz für reaktive, eingebettete Systeme, Protokolle, Controller Strukturelemente: Zustände, Transitionen, Events zusammengesetzte Zustände, parallele Zustände, fork, join Semantik: Event Queue, aktive Zustände konsistente Konfiguration, Konflikte Implementierung: State Pattern, Command Pattern Softwaretechnik Kapitel Softwaretechnik Kapitel 11 38

OOA-Dynamische Konzepte

OOA-Dynamische Konzepte Proseminar UML im SS 2005 OOA-Dynamische Konzepte Teil 2 von Benjamin Daeumlich 1 Übersicht Szenario Definition Interaktionsdiagramme Sequenzdiagramm Kommunikationsdiagramm Sequenz- vs. Kommunikationsdiagramm

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

UML / Fujaba. Generierung von Java-Quellcode aus UML-Diagrammen. Marcel Friedrich

UML / Fujaba. Generierung von Java-Quellcode aus UML-Diagrammen. Marcel Friedrich UML / Fujaba Generierung von Java-Quellcode aus UML-Diagrammen Marcel Friedrich Agenda Einleitung Struktur Verhalten Klassendiagramme Storydiagramme Statecharts Action methods 2 Thema Codegenerierung mit

Mehr

Einführung: Zustandsdiagramme Stand:

Einführung: Zustandsdiagramme Stand: Einführung: Zustandsdiagramme Stand: 01.06.2006 Josef Hübl (Triple-S GmbH) 1. Grundlagen Zustandsdiagramme Zustände, Ereignisse, Bedingungen, Aktionen 2. Verkürzte Darstellungen Pseudozustände 3. Hierarchische

Mehr

Sommersemester Analyse II: Verhalten (Zustandsautomaten)

Sommersemester Analyse II: Verhalten (Zustandsautomaten) Sommersemester 23 Analyse II: Verhalten (Zustandsautomaten) 8 Aufgabe 2 Analyse II: Verhalten (Zustandsautomaten) Umfang: 2 Wochen Punkte: P. Nachdem in der ersten Aufgabe die Systemstruktur mit Hilfe

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Vorlesung Software Engineering I

Vorlesung Software Engineering I Vorlesung Software Engineering I 10 Unified Modeling Language: Zustandsdiagramme Prof. Dr. Dirk Müller Einführung Übersicht Software-Entwicklungsprozesse Anforderungsanalyse Prozessanalyse und -modellierung

Mehr

Übungen Softwaretechnik I

Übungen Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der

Mehr

Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen.

Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen. Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen. Shop Käufer Einkauf Verkauf Verwaltung Händler Hersteller Actor: Jemand oder etwas, der/das mit dem zu entwickelnden System interagiert

Mehr

Teil II: OOP und JAVA (Vorlesung 9)

Teil II: OOP und JAVA (Vorlesung 9) Teil II: OOP und JAVA (Vorlesung 9) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 14.06.06 1 Teil

Mehr

Behavioral Patterns. Seminar Software-Entwurf WS 04/05. Przemyslaw Dul

Behavioral Patterns. Seminar Software-Entwurf WS 04/05. Przemyslaw Dul Behavioral Patterns Seminar Software-Entwurf WS 04/05 Przemyslaw Dul Gliederung Design Pattern (Wiederholung) Einordnung Übersicht über die Kategorien: Creational,Structural,Behavioral Übersicht über die

Mehr

Vgl. Oestereich Kap 2.6 Seiten 127-133

Vgl. Oestereich Kap 2.6 Seiten 127-133 Vgl. Oestereich Kap 2.6 Seiten 127-133 4. Zustände 1 Aktivitäts- und Zustands-Diagramm werden oft verwechselt. Es ist darum wichtig zu unterscheiden, dass im Aktivitätsdiagramm die Aktionen im Zentrum

Mehr

Software Engineering. 7. Sequenz- und Zustandsdiagramme. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering. 7. Sequenz- und Zustandsdiagramme. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 7. Sequenz- und Zustandsdiagramme Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 7. Sequenz- und Zustandsdiagramme 2 Sequenzdiagramme Häufigstes Verhaltensdiagramm

Mehr

6.1 Statecharts in Rhapsody / UML 2.0

6.1 Statecharts in Rhapsody / UML 2.0 Statecharts in UML 2.0 Das Prinzip von Statecharts ist unter dem Namen Zustandsautomat (StateMachine) Bestandteil von UML 2.0. Ein Ausschnitt aus dem UML Metamodell: Zustandsautomat - StateMachine Region

Mehr

Abbildungsverweise PlantUML Code. Version 1.0 Vanessa Petrausch

Abbildungsverweise PlantUML Code. Version 1.0 Vanessa Petrausch Abbildungsverweise PlantUML Code Version 1.0 Vanessa Petrausch Inhaltsverzeichnis INHALTSVERZEICHNIS 1 AUFBAU DES DOKUMENTS 5 2 KLASSENDIAGRAMM 7 3 ANWENDUNGSFALLDIAGRAMM 9 4 AKTIVITÄTSDIAGRAMM 11 5 ZUSTANDSDIAGRAMM

Mehr

4.2 Die Behandlung diskreter Zeitaspekte unter Synchroniehypothese

4.2 Die Behandlung diskreter Zeitaspekte unter Synchroniehypothese Zeit in Prozeßalgebra Synchroniehypothese: Aktionen des Systems brauchen keine Zeit. Einbau einer diskreten Uhr. 1 Beispiel Doppelte Maus-Clicks Angenommen, wir wollen ein Programm schreiben, das doppelte

Mehr

8. Stateflow Grundlagen. Daniel Schrammel - BA Stuttgart -

8. Stateflow Grundlagen. Daniel Schrammel - BA Stuttgart - 8. Stateflow Grundlagen Was ist Stateflow? Mit Stateflow lassen sich innerhalb von Simulink Zustandsautomaten und Flussdiagramme abbilden. Ein Stateflow-Element wird wie ein gewöhnlicher Simulink-Block

Mehr

RUP Analyse und Design: Überblick

RUP Analyse und Design: Überblick Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und

Mehr

Stateflow: Eine grafische Erweiterung zu SIMULINK

Stateflow: Eine grafische Erweiterung zu SIMULINK Stateflow: Eine grafische Erweiterung zu SIMULINK Simulation mit Matlab/Simulink WS08/09 Was ist Stateflow? Modellierung und Simulation von endlichen Zustandsautomaten/ereignisorientierten reaktiven Systemen

Mehr

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]

Mehr

3.1 Konzepte und Syntax

3.1 Konzepte und Syntax Entstanden durch Erweiterung des Konzepts der Transitionssysteme Parallelität, explizite Auswahl hierarchische Modellierung in UML: Zustandsdiagramme Graphische Notation für den Systementwurf mit formaler

Mehr

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

Mehr

Unified Modeling Language (UML )

Unified Modeling Language (UML ) Unified Modeling Language (UML ) Seminar: Programmiersprachenkonzepte Inhalt Einleitung UML 2.0 Diagrammtypen 2 Einleitung Objektorientierte Modellierungssprache Definiert vollständige Semantik Dient der

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel Jason T. Roff UML IT Tutorial Übersetzung aus dem Amerikanischen von Reinhard Engel Inhaltsverzeichnis Inhaltsverzeichnis Einführung 11 Grundlagen der UML 15 Warum wir Software modellieren 16 Analyse,

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 11. UML: Sequenzdiagramm 1 Motivation Es

Mehr

UML - Zustandsdiagramm

UML - Zustandsdiagramm Name Klasse Datum 1 Allgemeines Die Zustandsdiagramme in UML basieren im Wesentlichen auf den Statecharts von David Harel. Der Grundgedanke ist, das Verhalten eines endlichen Zustandsautomaten grafisch

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen

Mehr

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit

Mehr

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen

Mehr

Übungsaufgaben UML Zertifizierung Fundamental-Level

Übungsaufgaben UML Zertifizierung Fundamental-Level Übungsaufgaben UML Zertifizierung Fundamental-Level Kapitel 15: Sequenzdiagramm Die folgenden Aufgaben behandeln die Inhalte aus Kapitel 15 von UML 2 glasklar (4. Auflage), die die OMG für die Zertifizierung

Mehr

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Interaktionsdiagramme in UML

Interaktionsdiagramme in UML Interaktionsdiagramme in UML Interaktionsdiagramm ist ein Oberbegriff für eine Reihe von Diagrammen, die das Verhalten eines objektorientierten Systems durch Objektinteraktionen beschreiben Ein Sequenzdiagramm

Mehr

Software-Engineering

Software-Engineering SWE43 Slide 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 3: Der Systemanalysestandard UML SWE43 Slide 2 UML: Was ist das? UML = Unified Modelling Language ist ein Standard,

Mehr

UML fürs Pflichtenheft

UML fürs Pflichtenheft UML fürs Pflichtenheft Sebastian Fischmeister Department of Computer Science University of Salzburg, Austria Sebastian.Fischmeister@cs.uni-salzburg.at Overview Use-Case Diagramm State-Machine Diagramm

Mehr

BABOK Knowledge Area Requirements Analysis Modeling Techniques - Process Models - - State Diagrams - Holger Dexel, 26.02.2011

BABOK Knowledge Area Requirements Analysis Modeling Techniques - Process Models - - State Diagrams - Holger Dexel, 26.02.2011 BABOK Knowledge Area Requirements Analysis Modeling Techniques - Process Models - - State Diagrams - Holger Dexel, 26.02.2011 This presentation is build upon material of the Business Analysis Body of Knowledge

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

Mehr

6.1 Statecharts in Rhapsody / UML 2.0

6.1 Statecharts in Rhapsody / UML 2.0 Statecharts in UML 2.0 Das Prinzip von Statecharts ist unter dem Namen Zustandsautomat (StateMachine) Bestandteil von UML 2.0. Ein Ausschnitt aus dem UML Metamodell: Zustandsautomat - StateMachine Region

Mehr

SEQUENZDIAGRAMM. Christoph Süsens

SEQUENZDIAGRAMM. Christoph Süsens SEQUENZDIAGRAMM Christoph Süsens DEFINITION Das Sequenzdiagramm gibt Auskunft darüber: Welche Methoden für die Kommunikation zwischen ausgewählten Objekten zuständig sind. Wie der zeitliche Ablauf von

Mehr

3. Tutorium zu Softwaretechnik I

3. Tutorium zu Softwaretechnik I 3. Tutorium zu Softwaretechnik I Aktivitäts-, Sequenz- & Zustandsdiagramme Michael Hoff 20.05.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION KIT Universität des Landes Baden-Württemberg und

Mehr

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS (theoretische Aspekte der Informationsmodellierung) 12. Vorlesung 04.06.2007 Use Case Diagram (Anwendungsfalldiagramm) Use

Mehr

Aktivitätsdiagramm (Activity Diagram)

Aktivitätsdiagramm (Activity Diagram) (Activity Diagram) Eine Präsentation von Christoph Süsens und Matthias Holdorf 1 C Diagrammtypen im Überblick 2 Definiton Problem: Es sollen Abläufe, z.b. Geschäftsprozesse, modelliert werden. Im Vordergrund

Mehr

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure 8. Objektorientierte Programmierung Informatik II für Verkehrsingenieure Grundbegriffe ALAN KAY, ERFINDER DER SPRACHE SMALLTALK, HAT DIE GRUNDBEGRIFFE DER OBJEKTORIENTIERTEN PROGRAMMIERUNG WIE FOLGT ZUSAMMENGEFASST:

Mehr

Grundlagen der Fehlerbehandlung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 06: Ausnahme- und Fehlerbehandlung in Java.

Grundlagen der Fehlerbehandlung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 06: Ausnahme- und Fehlerbehandlung in Java. Universität Osnabrück 1 Grundlagen der Fehlerbehandlung 3 - Objektorientierte Programmierung in Java Vorlesung 06: Ausnahme- und Fehlerbehandlung in Java SS 2006 Prof. Dr. F.M. Thiesing, FH Osnabrück Wenn

Mehr

2. Übung zu Software Engineering

2. Übung zu Software Engineering 2. Übung zu Software Engineering WS 2009/2010 Henning Heitkötter Projektplanung, Netzplantechnik AUFGABE 3 1 Aufgabenstellung Ausgangspunkt ist die Anforderungsermittlung, an die sich eine Durchführbarkeitsstudie

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

8 Design Patterns. Events

8 Design Patterns. Events 8 Design Patterns. Events Jörn Loviscach Versionsstand: 28. März 2015, 19:13 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

Socket-Programmierung (3)

Socket-Programmierung (3) Socket-Programmierung (3) E-Mails versenden Aufgabe: ein Programm schreiben, das E-Mails versenden kann Lernziele: - SMTP Kommandos - Authentifizierung - Passworteingabe (wxwidgets) - SMTP Ergebniscodes

Mehr

Business Process Model and Notation

Business Process Model and Notation BPMN 2.0 Crashkurs Business Process Model and Notation entwickelt von der Object Management Group, einem Konsortium von vielen Firmen (u.a. HP, IBM, Microsoft, Oracle, SAP) >60 verschiedene Produkte implementieren

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Softwaretechnik 1 5. Tutorium

Softwaretechnik 1 5. Tutorium Softwaretechnik 1 5. Tutorium Tutorium Nr. 1 Philipp Adolf 17.06.2014 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Aufgabe 1 Nur

Mehr

Einführung in Computer Microsystems Sommersemester Vorlesung Dr.-Ing. Wolfgang Heenes

Einführung in Computer Microsystems Sommersemester Vorlesung Dr.-Ing. Wolfgang Heenes Einführung in Computer Microsystems Sommersemester 2010 12. Vorlesung Dr.-Ing. Wolfgang Heenes 30. Juni 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 1 Inhalt 1. Literatur 2. Statechart-Modellierung

Mehr

Entwurfsmuster und Frameworks Singleton

Entwurfsmuster und Frameworks Singleton Entwurfsmuster und Frameworks Singleton Oliver Haase Oliver Haase Emfra Singleton 1/20 Beschreibung I Klassifikation: objektbasiertes Erzeugungsmuster Zweck: sicherstellen, dass eine Klasse nur genau einmal

Mehr

Techniken der Projektentwicklungen

Techniken der Projektentwicklungen Dynamische Modellierung 8. Termin Rückblick auf statische Modellierung Dynamische Modellierung Basiskonzepte Beispiel Erweiterungen Eigenschaften Syntax Rückblick auf statische Modellierung Dynamische

Mehr

Modellierung von Verhalten OOPM, Ralf Lämmel

Modellierung von Verhalten OOPM, Ralf Lämmel Wer ist das dann wieder? Modellierung von Verhalten OOPM, Ralf Lämmel 878 Strukturelle Modellierung vs. Verhaltensmodellierung Klassendiagramm für die Modellierung einer Universität Aktivitätsdiagramm

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

LeJOS: Mindstorms in Java programmieren

LeJOS: Mindstorms in Java programmieren LeJOS: Mindstorms in Java programmieren Alexander Koller Softwareprojekt "Sprechende Roboter" 30. April 2004 Überblick Warum Java? Was ist LeJOS? Motoren steuern Auf Sensoreingaben reagieren Wie geht's

Mehr

DLR SchoolLab Lektion 1 Erste Schritte

DLR SchoolLab Lektion 1 Erste Schritte 1 Navigation Die Entwicklungsoberfläche lässt sich durch sechs Buttons am unteren Bildschirmrand bedienen. Alternativ kann man auch über die Tastatur navigieren. Hierfür gibt es folgdende Abkürzungen:

Mehr

State Event Technik CT2, Donnerstag 10.00-11.35 / TE402 M. Thaler, TG208, tham@zhaw.ch

State Event Technik CT2, Donnerstag 10.00-11.35 / TE402 M. Thaler, TG208, tham@zhaw.ch State Event Modellierung State Event Technik CT2, Donnerstag 10.00-11.35 / TE402 M. Thaler, TG208, tham@zhaw.ch http://www.zhaw.ch/~tham 1 ZHAW, CT2 FS14, M. Thaler Systembus CT2 Anschluss von Input/Output

Mehr

Ich begrüße Sie zu unserer nächsten Vorlesung aus Objektorientierter Modellierung. Heute geht es um das Zustandsdiagramm.

Ich begrüße Sie zu unserer nächsten Vorlesung aus Objektorientierter Modellierung. Heute geht es um das Zustandsdiagramm. Ich begrüße Sie zu unserer nächsten Vorlesung aus Objektorientierter Modellierung. Heute geht es um das Zustandsdiagramm. Seite 0 Seite 1 Zu Beginn dieser Einheit möchte ich ein kleines Experiment mit

Mehr

UML (UNIFIED MODELING LANGUAGE)

UML (UNIFIED MODELING LANGUAGE) NT Druckdatum: 31.03.13 InI I UML (UNIFIED MODELING LNGUGE) Ziel: Einheitliche Darstellung einer Vielzahl von Elementen von Softwaresystemen mittels einer einheitlichen Notation. Übersicht Zusammenhang

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

Mehr

Das Model/View/Controller Paradigma

Das Model/View/Controller Paradigma Model/View/Controller Das Model/View/Controller Paradigma Christian Knauer Trennung von Daten, Ansicht und Funktion ermöglicht z.b. mehrere Ansichten desselben Datensatzes wird meist als Model-Delegate

Mehr

Nebenläufige Programmierung in Java: Threads

Nebenläufige Programmierung in Java: Threads Nebenläufige Programmierung in Java: Threads Wahlpflicht: Fortgeschrittene Programmierung in Java Jan Henke HAW Hamburg 10. Juni 2011 J. Henke (HAW) Threads 10. Juni 2011 1 / 18 Gliederung 1 Grundlagen

Mehr

Motivation. Motivation

Motivation. Motivation Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten

Mehr

Software-Engineering

Software-Engineering FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 3: Der Systemanalysestandard UML FH Wedel Prof. Dr. Sebastian Iwanowski

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 15 Parallele Programmierung... 15-2 15.1 Die Klasse java.lang.thread... 15-2 15.2 Beispiel 0-1-Printer als Thread... 15-3 15.3 Das Interface java.lang.runnable... 15-4 15.4 Beispiel 0-1-Printer

Mehr

Lösungsvorschlag zu Übungsblatt 1 mit Korrekturhinweisen

Lösungsvorschlag zu Übungsblatt 1 mit Korrekturhinweisen Universität Karlsruhe (TH) Fakultät für Informatik Lehrveranstaltung Informatik II Sommersemester 2008 Prof. Dr. K. Böhm Dipl.-Wirtsch.-Inf. C. Kühne Lösungsvorschlag zu Übungsblatt 1 mit Korrekturhinweisen

Mehr

Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes

Verschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 5. Kontrollstrukturen Allgemein Kontrollstrukturen dienen zur Steuerung des Programmablaufs. (Bemerkung: C und C++ besitzen die selben Kontrollstrukturen.)

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

UML. Weiteres Vorgehen im Projekt

UML. Weiteres Vorgehen im Projekt UML Download objectif Personal Edition (kostenlos): http://www.microtool.de/objectif/de/download.asp Weiteres Vorgehen im Projekt Komponenten, Klassen, Objekte Prozesse Nichtfunktionale Anforderungen Skizzen,

Mehr

6. Globalübung (zu Übungsblatt 8)

6. Globalübung (zu Übungsblatt 8) 6. Globalübung (zu Übungsblatt 8) Inhalt: Klassenhierarchien Verdecken von Attributen Überschreiben von Methoden Codeanalyse Analyse von JAVA-Programmen Semestralklausur Klausurtermin: Mittwoch 11.01.2006

Mehr

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A 2.4.6. Kontrollstrukturen if-anweisung: Bedingte Ausführung (Verzweigung) 2 Varianten: if (Bedingung) Anweisung (Anweisung = einzelne Anweisung oder Block) Bedeutung: die Anweisung wird nur ausgeführt,

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 04: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

Vererbung. Martin Wirsing. Ziele. Vererbung

Vererbung. Martin Wirsing. Ziele. Vererbung 2 Ziele Martin Wirsing en Begriff der einfachen verstehen und Redefinition von Oberklassenmethoden verstehen spolymorphie verstehen ie Klasse Object kennenlernen in Zusammenarbeit mit Michael Barth, Philipp

Mehr

Softwaretechnik 1 Tutorium

Softwaretechnik 1 Tutorium Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Softwaretechnik 1 Tutorium 25. Mai 2009 Matthias Thoma (s_thoma@ira.uka.de) Heute Übungsblatt Nr. 2 UML Klassendiagramme UML Sequenzendiagramm

Mehr

(BABOK-v3-Technik 10.42)

(BABOK-v3-Technik 10.42) (BABOK-v3-Technik 10.42) Allgemeines Sequenzdiagramme geben Antworten auf die Frage Wie läuft die Kommunikation in meinem System ab?. Sie ermöglichen die Modellierung von festen Reihenfolgen, zeitlichen

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 3. Kontrollstrukturen 04.11.2015 Prof. Dr. Ralf H. Reussner Version 1.1 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD),

Mehr

Entwurfsprinzip. Entwurfsprinzip

Entwurfsprinzip. Entwurfsprinzip Die Komposition (hat ein Beziehung) ist der Vererbung (ist ein Beziehung) vorzuziehen. Es können Familien von Algorithmen in eigenen Klassensätzen gekapselt werden. Das Verhalten lässt sich zu Laufzeit

Mehr

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

Mehr

Softwaretechnik. Überblick I. Prof. Dr. Rainer Koschke. Sommersemester 2009

Softwaretechnik. Überblick I. Prof. Dr. Rainer Koschke. Sommersemester 2009 Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Sommersemester 2009 Überblick I 1 Entwurfsmuster Entwurfsmuster: Entwurfsmuster

Mehr

Algorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1

Algorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1 Algorithmen und Datenstrukturen 1. EINLEITUNG Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Allgemeines Einleitung Zu den Begriffen: Algorithmen und Datenstrukturen systematische

Mehr

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 Marvin Frommhold 17.11.2008 Gliederung Einleitung Geschichte Strukturierung der Spezifikation Diagrammtypen Strukturdiagramme Verhaltensdiagramme CASE-Werkzeuge Quellen Was

Mehr

Das umfassende Handbuch

Das umfassende Handbuch Christoph Kecher UML 2.0 Das umfassende Handbuch. Jfjf- Ali' ' w v^i* >" '-«(."', Galileo Press Inhalt Vorwort 11 1 Einführung 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3

Mehr

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Vgl. Oestereich Kap 2.1 Seiten

Vgl. Oestereich Kap 2.1 Seiten Vgl. Oestereich Kap 2.1 Seiten 21-49. 1 Ein Use Case ist eine zeitlich ununterbrochene Interaktion (ein Arbeitsschritt). Use Case Namen bestehen aus einem Subjekt und einem Verb wie zum Beispiel Daten

Mehr

Implementierung einer Finite State Machine

Implementierung einer Finite State Machine Implementierung einer Finite State Machine Philipp Kälin 5. März 2012 This work is licensed under a Namensnennung-Weitergabe unter gleichen Bedingungen 2.5 Schweiz (CC BY-SA 2.5) http://creativecommons.org/licenses/by-sa/2.5/ch/

Mehr

Java-Programmierung mit NetBeans

Java-Programmierung mit NetBeans Java-Programmierung mit NetBeans Klassen, Objekte, Alternativen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Grundlegende Definitionen - Objekt Ein Objekt ist allgemein ein Gegenstand

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen

Mehr

Super. Sub1. Sub2 State2. Sub3. Sub4. Super. State2. Sub4

Super. Sub1. Sub2 State2. Sub3. Sub4. Super. State2. Sub4 Sub1 Super Sub3 H Sub2 State2 Sub4 Super State2 Sub4 $FWLYLW\'LDJUDPV Aktivitätsdiagramme beschreiben spezielle Zustandsautomaten. Transitionen werden hier grundsätzlich durch die Beendigung von Aktionen

Mehr

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische

Mehr

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort then S. d. I.: Programieren in C Folie 4-1 4 Anweisungen 4.1 if-anweisung 1) if (Ausdruck) 2) if (Ausdruck) } else im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then" es wird nur der numerische Wert

Mehr

ModProg 15-16, Vorl. 5

ModProg 15-16, Vorl. 5 ModProg 15-16, Vorl. 5 Richard Grzibovski Nov. 18, 2015 1 / 29 Übersicht Übersicht 1 Logische Operationen 2 Priorität 3 Verzweigungen 4 Schleifen 2 / 29 Logische Werte Hauptkonzept: Besitzt ein C-Ausdruck

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr