Tutorium Softwaretechnik I

Größe: px
Ab Seite anzeigen:

Download "Tutorium Softwaretechnik I"

Transkript

1 Tutorium Softwaretechnik I Moritz Klammler 11. Juli 2017 Fakultät für Informatik, IPD Tichy Titelfoto: Copyright (C) 2010 Multimotyl CC BY-SA Juli 2017 Moritz Klammler - Tutorium Softwaretechnik I Fakultät für Informatik, IPD Tichy KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

2 Themen des Tages XXXXXXXXXX Übungsblatt 5 Implementierung Endliche Automaten Innere Klassen in Java Grundlegende Konzepte der parallelen Programmierung Falls gewünscht: Wiederholung Entwurfsmuster Juli 2017 Moritz Klammler - Tutorium Softwaretechnik I Fakultät für Informatik, IPD Tichy

3 Implementierung von endlichen Automaten switch-case Tabellengesteuert State-Pattern Juli 2017 Moritz Klammler - Tutorium Softwaretechnik I Fakultät für Informatik, IPD Tichy

4 Implementierung von endlichen Automaten Ein Musikspieler hat zwei Tasten für die Benutzer-Interaktion stop play/pause und folgende drei Zustände stopped paused playing wobei der initiale Zustand stopped ist. Wird im Zustand playing die play/pause-taste gedrückt, speichert der Spieler die aktuelle Wiedergabeposition. Neuerliches Drücken der Taste setzt die Wiedergabe an dieser Stelle fort. Das Drücken der stop-taste löscht eine allenfalls gespeicherte Wiedergabeposition und beendet in jedem Fall die Wiedergabe. Erstelle ein UML-Zustandsdiagramm für den Musikspieler Implementiere den Musikspieler als endlichen Automaten Juli 2017 Moritz Klammler - Tutorium Softwaretechnik I Fakultät für Informatik, IPD Tichy

5 Implementierung von endlichen Automaten switch-case + Zusätzlicher Code kann flexibel eingebaut werden + Implementierung von Hand ist straight-forward Bei vielen Zuständen und Eingaben unübersichtlich Tabellengesteuert + Sehr kompakte und effiziente Codierung Zusätzlicher Code schwierig einzubauen Low-level: Compiler kann nur sehr eingeschränkte Prüfungen durchführen State -Pattern + High-level: Compiler kann umfangreiche Prüfungen durchführen + Softwaretechnisch gut wartbar Viel Code Memory- und Performance-Overhead Juli 2017 Moritz Klammler - Tutorium Softwaretechnik I Fakultät für Informatik, IPD Tichy

6 Grundlegende Konzepte der parallelen Programmierung Hardware Prozessor Hauptspeicher Instruktionszähler Register Cache Betriebssystem Prozess Adressraum Scheduler Stack Thread (Faden) Fiber (Faser) Parallelität Single Instruction Single Data (Sequentiell) Single Instruction Multiple Data (Vektorisierung) Multiple Instruction Single Data (Pipelines) Multiple Instruction Multiple Data (Multiproc.) Nebenläufigkeit Kritischer Abschnitt Lock (Mutex) Atomare Operation Transactional Memory Techniken Fork/Join-Parallelisierung (OpenMP) Tasks Spooler Juli 2017 Moritz Klammler - Tutorium Softwaretechnik I Fakultät für Informatik, IPD Tichy

7 Wiederholung: Design Patterns (Gang of Four) Creational Patterns Abstract Factory Builder Factory Method Prototype Singleton Structural Patterns Adapter Bridge Composite Decorator Facade Flyweight Proxy Behavioral Patterns Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template Method Vistor Juli 2017 Moritz Klammler - Tutorium Softwaretechnik I Fakultät für Informatik, IPD Tichy

8 Wiederholung: Entwurfsmuster (Vorlesung) Entkoppelungsmuster Adapter Beobachter Brücke Iterator Stellvertreter Vermittler Variantenmuster Abstrakte Fabrik Besucher Erbauer Fabrikmethode Kompositum Schablonenmethode Strategie Dekorierer Zustandshandhabungsmuster Einzelstück Fliegengewicht Memento Prototyp Zustand Steuerungsmuster Befehl Master-Worker Virtuelle Maschinen Interpretierer Bequemlichkeitsmuster Bequemlichkeitsklasse Bequemlichkeitsmethode Fassade Null-Objekt Juli 2017 Moritz Klammler - Tutorium Softwaretechnik I Fakultät für Informatik, IPD Tichy

Tutorium Softwaretechnik I

Tutorium Softwaretechnik I Tutorium Softwaretechnik I Moritz Klammler 27. Juni 2017 Fakultät für Informatik, IPD Tichy Titelfoto: Copyright (C) 2010 Multimotyl CC BY-SA 3.0 1 27. Juni 2017 Moritz Klammler - Tutorium Softwaretechnik

Mehr

Überblick FBC SNW Zusammenfassung. Entwurfsmuster. Eine Einführung. Botond Draskoczy. Marcus Vitruvius Pollio

Überblick FBC SNW Zusammenfassung. Entwurfsmuster. Eine Einführung. Botond Draskoczy. Marcus Vitruvius Pollio Entwurfsmuster Eine Einführung Botond Draskoczy Marcus Vitruvius Pollio Überblick Historie, Literatur Das Flugapparat-Bildschirmschoner-Projekt (FBP) Das internetbasierte Solar-Netzwerk (SNW) Zusammenfassung

Mehr

Inhaltsverzeichnis. Vorwort Geleitwort von Grady Booch Einleitung... 23

Inhaltsverzeichnis. Vorwort Geleitwort von Grady Booch Einleitung... 23 Vorwort.................................................. 17 Geleitwort von Grady Booch................................. 21 Einleitung................................................ 23 1 Einführung...............................................

Mehr

Structural Patterns. B. Sc. Andreas Meißner

Structural Patterns. B. Sc. Andreas Meißner Structural Patterns B. Sc. Andreas Meißner Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Systeme, Universität Hannover 11/16/2004 Gliederung 1. Wiederholung Entwurfsmuster

Mehr

Tutorium Softwaretechnik I

Tutorium Softwaretechnik I Tutorium Softwaretechnik I Moritz Klammler 25. Juli 2017 Fakultät für Informatik, IPD Tichy Titelfoto: Copyright (C) 2010 Multimotyl CC BY-SA 3.0 1 25. Juli 2017 Moritz Klammler - Tutorium Softwaretechnik

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

Entwurfsmuster Entkopplungs-, Varianten- und Zustandsmuster

Entwurfsmuster Entkopplungs-, Varianten- und Zustandsmuster Entwurfsmuster Entkopplungs-, Varianten- und Zustandsmuster Tutorium 17 Fabian Miltenberger 16.06.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD) KIT Universität des Landes Baden-Württemberg

Mehr

Tutorium Softwaretechnik I

Tutorium Softwaretechnik I Tutorium Softwaretechnik I Moritz Klammler 30. Mai 2017 Fakultät für Informatik, IPD Tichy Titelfoto: Copyright (C) 2010 Multimotyl CC BY-SA 3.0 1 30. Mai 2017 Moritz Klammler - Tutorium Softwaretechnik

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

Design Patterns II. Der Design Muster Katalog. Prof. Dr. Nikolaus Wulff

Design Patterns II. Der Design Muster Katalog. Prof. Dr. Nikolaus Wulff Design Patterns II Der Design Muster Katalog Prof. Dr. Nikolaus Wulff Wiederverwendung Wiederverwendung ist das Schlagwort von OOP zur Erhöhung der Produktivität. Es gibt im Prinzip drei Methoden hierzu:

Mehr

Inhaltsverzeichnis. a. Standorte...3 1. Design Patterns...6. b. Impressum... 16. i. C#.NET...6. ii. Enterprise Integration Patterns...

Inhaltsverzeichnis. a. Standorte...3 1. Design Patterns...6. b. Impressum... 16. i. C#.NET...6. ii. Enterprise Integration Patterns... 2 Inhaltsverzeichnis a. Standorte...3 1. Design Patterns...6 i. C#.NET...6 ii. Enterprise Integration Patterns... 8 iii. Entwurfsmuster-Katalog Standard (GoF)...10 iv. Java...12 v. PHP... 14 b. Impressum...

Mehr

SE Besprechung. Übung 4 Architektur, Modulentwurf

SE Besprechung. Übung 4 Architektur, Modulentwurf SE Besprechung Übung 4 Architektur, Modulentwurf SE, 22.11.11 Mengia Zollinger 2.1 Architekturstile (6 Punkte) 2.1.A Ausgabe eines Monatsabos an Angestellte Lösung: Pipe-and-Filter Beispiel Lösung [Benz,

Mehr

Entwurfsmuster in Java

Entwurfsmuster in Java Entwurfsmuster in Java Das Observer- und das Decorator-Pattern Friederike Löwe 13. März 2011 Inhaltsverzeichnis Einleitung Wozu eigentlich Entwurfsmuster? Die Grundlage: Design-Prinzipien Das Decorator-Pattern

Mehr

Matthias Geirhos. Entwurfsmuster. Das umfassende Handbuch. Rheinwerk. Computing

Matthias Geirhos. Entwurfsmuster. Das umfassende Handbuch. Rheinwerk. Computing Matthias Geirhos Entwurfsmuster Das umfassende Handbuch Rheinwerk Computing Inhalt Vorwort 17 1 Einführung 19 1.1 Einleitung und allgemeine Hinweise 19 1.1.1 Für wen ist dieses Buch gedacht? 19 1.1.2 Muster

Mehr

Entwurfsmuster Entkopplungs-, Varianten- und Zustandsmuster

Entwurfsmuster Entkopplungs-, Varianten- und Zustandsmuster Entwurfsmuster Entkopplungs-, Varianten- und Zustandsmuster Tutorium 7 iloveswt.de Fabian I. Miltenberger 20.06.2016 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD) KIT Universität des Landes

Mehr

Memory Models Frederik Zipp

Memory Models Frederik Zipp Memory Models Frederik Zipp Seminar: Programmiersprachen für Parallele Programmierung (SS 2010) Fakultät für Informatik - IPD SNELTING LEHRSTUHL PROGRAMMIERPARADIGMEN 1

Mehr

Entwurfsmuster Design Patterns by Erich Gamma et al.

Entwurfsmuster Design Patterns by Erich Gamma et al. Entwurfsmuster Design Patterns by Erich Gamma et al. Detlef Streitferdt Technische Universität Ilmenau TU-Ilmenau, Softwaresysteme / Prozessinformatik, KBSE Entwurfsmuster 1 Frühe Muster Christopher Alexander

Mehr

Software-Architektur. Design Patterns. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München

Software-Architektur. Design Patterns. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München Software-Architektur Design Patterns Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 11.07.2017 15:12 Inhaltsverzeichnis Standardwerk.................................... 2 Design

Mehr

Entwurfsmuster. Tutorium 7 iloveswt.de Fabian I. Miltenberger INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD)

Entwurfsmuster. Tutorium 7 iloveswt.de Fabian I. Miltenberger INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD) Entwurfsmuster Tutorium 7 iloveswt.de Fabian I. Miltenberger 06.06.2016 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD) KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Entwurfsmuster Martin Fesser 00IN

Entwurfsmuster Martin Fesser 00IN Entwurfsmuster Martin Fesser 00IN Inhalt Was sind Entwurfsmuster? Vorteile, Nachteile Entwurfsmusterkatalog (nach GoF) Variation von Entwurfsaspekten Wie Entwurfsmuster Entwurfsprobleme lösen Beispiele

Mehr

3. Entwurfsmuster zur Entkopplung von Modulen

3. Entwurfsmuster zur Entkopplung von Modulen 3. Entwurfsmuster zur Entkopplung von Modulen OOP-3.1 Entwurfsmuster (Design Patterns): Software-Entwicklungsaufgaben, die in vielen Ausprägungen häufig auftreten. Objektorientierte Schemata, die als Lösungen

Mehr

Design Patterns. (Software-Architektur) Prof. Dr. Oliver Braun. Letzte Änderung: :12. Design Patterns 1/26

Design Patterns. (Software-Architektur) Prof. Dr. Oliver Braun. Letzte Änderung: :12. Design Patterns 1/26 Design Patterns (Software-Architektur) Prof. Dr. Oliver Braun Letzte Änderung: 11.07.2017 15:12 Design Patterns 1/26 Standardwerk Gang of Four: Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides:

Mehr

Software Engineering II (IB) Design Patterns

Software Engineering II (IB) Design Patterns Software Engineering II (IB) Design Patterns Prof. Dr. Oliver Braun Letzte Änderung: 16.05.2017 20:56 Software Engineering II (IB), Design Patterns 1/43 Standardwerk Gang of Four: Erich Gamma, Richard

Mehr

Software Engineering II (IB) Design Patterns

Software Engineering II (IB) Design Patterns Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 16.05.2017 20:56 Inhaltsverzeichnis Standardwerk.................................... 2 Erzeugungsmuster.................................

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Software Design Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Software Design Wie schreibe ich gute Software?

Mehr

Design Patterns. OO-GetTogether. Volker Michels

Design Patterns. OO-GetTogether. Volker Michels 1 Design Patterns OO-GetTogether Volker Michels 2 Muster (engl. Pattern) Züllighoven: Ein Muster ist eine Abstraktion von einer konkreten Form, die wiederholt in bestimmten nicht willkürlichen Kontexten

Mehr

const Zwei Schlüsselwörter bei der Deklaration von Variablen und Member-Funktionen haben wir noch nicht behandelt: const und static.

const Zwei Schlüsselwörter bei der Deklaration von Variablen und Member-Funktionen haben wir noch nicht behandelt: const und static. const Zwei Schlüsselwörter bei der Deklaration von Variablen und Member-Funktionen haben wir noch nicht behandelt: const und static. Eine const Variable kann ihren Wert nicht ändern: const double pi =

Mehr

Entwurfsmuster (Design Patterns)

Entwurfsmuster (Design Patterns) Entwurfsmuster (Design Patterns) SEP 303 Entwurfsmuster (Design Patterns) In der alltäglichen Programmierarbeit tauchen viele Probleme auf, die man schon einmal gelöst hat und die man in der Zukunft wieder

Mehr

Universität Bremen. Entwurfsmuster. Thomas Röfer. Wettbewerb Motivation Erzeugende Muster Strukturelle Muster Verhaltensmuster

Universität Bremen. Entwurfsmuster. Thomas Röfer. Wettbewerb Motivation Erzeugende Muster Strukturelle Muster Verhaltensmuster Entwurfsmuster Thomas Röfer Wettbewerb Motivation Erzeugende Muster Strukturelle Muster Verhaltensmuster Mein Rückblick: RoboCup 2 Euer Rückblick: Textsuche Naive Suche abrakadabra Boyer-Moore abrakadabra

Mehr

Software-Architektur Design Patterns

Software-Architektur Design Patterns Design Patterns Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München SS 2015 Standardwerk Gang of Four: Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides: Design Patterns:

Mehr

Lukas Klich. Projektgruppe SHUTTLE. Seminar: Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 1. Entwurfsmuster

Lukas Klich. Projektgruppe SHUTTLE. Seminar: Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 1. Entwurfsmuster Entwurfsmuster Lukas Klich Projektgruppe SHUTTLE Seminar: 28.11.2002 Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 1 Motivation Die Menschheit löst Probleme, indem sie beobachtet, Beobachtungen

Mehr

Design-Patterns-Katalog

Design-Patterns-Katalog Design-Patterns-Katalog Erzeugungsmuster (Creational Patterns) Abstract Factory (Abstrakte Fabrik, siehe Abschnitt 3.1) Bereitstellung einer Schnittstelle zum Erzeugen verwandter oder voneinander abhängiger

Mehr

Comelio GmbH - Goethestr. 34-13086 Berlin. Course Catalog

Comelio GmbH - Goethestr. 34-13086 Berlin. Course Catalog Comelio GmbH - Goethestr. 34-13086 Berlin Course Catalog 2 Table Of Contents a. Locations... 3 1. Design Patterns...6 i. C#.NET...6 ii. C#.NET...8 iii. Enterprise Integration Patterns...10 iv. Enterprise

Mehr

29.01.2013. Vorlesung Programmieren. Software Design. Software Design. Entwurfsmuster

29.01.2013. Vorlesung Programmieren. Software Design. Software Design. Entwurfsmuster Vorlesung Programmieren Software Design Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Software Design Wie schreibe ich gute Software?

Mehr

Entwurfsmuster. Tutorium 17 Fabian Miltenberger INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD)

Entwurfsmuster. Tutorium 17 Fabian Miltenberger INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD) Entwurfsmuster Tutorium 17 Fabian Miltenberger 02.06.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD) KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der

Mehr

Software Engineering II

Software Engineering II Software Engineering II 9 Entwurfsmuster Prof. Dr. Dirk Müller Übersicht Einführung Geschichte Anforderungen und Nutzen Grundlegende Elemente Alphabetischer GoF-Katalog 11 GoF-Muster im Detail Nachteile

Mehr

3. Entwurfsmuster zur Entkopplung von Modulen. Übersicht zu Entwurfsmustern

3. Entwurfsmuster zur Entkopplung von Modulen. Übersicht zu Entwurfsmustern 3. Entwurfsmuster zur Entkopplung von Modulen OOP-3.1 Vorlesung Objektorientierte Programmierung WS 2013/2014 / Folie 301 Entwurfsmuster (Design Patterns): Idee der Entwurfsmuster verstehen Software-Entwicklungsaufgaben,

Mehr

Modul Software Komponenten. Entwurfsmuster. Roland Gisler

Modul Software Komponenten. Entwurfsmuster. Roland Gisler Modul Software Komponenten Entwurfsmuster Roland Gisler Präambel Dozent: Roland Gisler Unterricht: 6. Oktober: Entwurfsmuster (heute) 7. Oktober: Testing 20./21. Oktober: Coaching (Entwurfsmuster, Testing

Mehr

Modellarbeit I: Entwurfsgerechte Klassenmodellierung

Modellarbeit I: Entwurfsgerechte Klassenmodellierung Modellarbeit I: Entwurfsgerechte Klassenmodellierung Vom Analysemodell zum Entwurfsmodell Nach der Etablierung der Techologien: Überarbeitung des Fachlichen Modells zu einem geeigneten Entwurfsmodell Navigationen

Mehr

Software Reuse Sommer 2004. Schritt 1: Rechtschreibung, Grammatik, Wortschatz, Semantik Schritt 2: Vertiefung

Software Reuse Sommer 2004. Schritt 1: Rechtschreibung, Grammatik, Wortschatz, Semantik Schritt 2: Vertiefung Design Pattern Peter Sturm Universität Trier Analogie Erlernen einer Fremdsprache Schritt 1: Rechtschreibung, Grammatik, Wortschatz, Semantik Schritt 2: Vertiefung Bildung vernünftiger Sätze, Absätze,...

Mehr

Universität Bremen. Entwurfsmuster. Thomas Röfer. Motivation Erzeugende Muster Strukturelle Muster Verhaltensmuster

Universität Bremen. Entwurfsmuster. Thomas Röfer. Motivation Erzeugende Muster Strukturelle Muster Verhaltensmuster Entwurfsmuster Thomas Röfer Motivation Erzeugende Muster Strukturelle Muster Verhaltensmuster Rückblick UML Motivation Historie Spracheinheiten Strukturdiagramme Verhaltensdiagramme 2 Motivation Idee Einige

Mehr

Design Patterns. 3. Juni 2015

Design Patterns. 3. Juni 2015 Design Patterns 3. Juni 2015 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Taentzer Softwarequalität 2015 138 Was sind Design Patterns?

Mehr

Software Engineering. 7. Entwurfsmuster

Software Engineering. 7. Entwurfsmuster Software Engineering 7. Entwurfsmuster Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Implementierung

Mehr

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05. Creational Patterns Seminar Software-Entwurf WS 2004/05 Thomas Liro Inhaltsüberblick Einordnung des Themas Beschreibung von Design Pattern Auswahl von Design Patterns Was sind Creational

Mehr

Kurse. Beschreibungen und Inhalte. Stand 16.07.2005

Kurse. Beschreibungen und Inhalte. Stand 16.07.2005 Kurse Beschreibungen und Inhalte Stand 16.07.2005 Ralf Schneeweiß Gölzstraße 8 72072 Tübingen Tel.: 0179/2292471 e-mail: ralf.schneeweiss@oop-trainer.de http://www.oop-trainer.de/ C++ Einführungskurs in

Mehr

Lehrplan: Architektur und Design. paluno

Lehrplan: Architektur und Design. paluno Lehrplan: Architektur und Design Gliederung 1 Grundlagen der industriellen So9ware Entwicklung 2 Ebenen von Architektur und Design 3 KernakAvitäten von So9ware- Architekten 4 Architekturtypologien von

Mehr

Summary. OO Principles OO Design Principles OO Design Patterns: Past, Present and Future. 1 June

Summary. OO Principles OO Design Principles OO Design Patterns: Past, Present and Future. 1 June Summary OO Principles OO Design Principles OO Design Patterns: Past, Present and Future 1 OOP Principles Encapsulation Methods and data are combined in classes Not unique to OOP Information Hiding Implementation

Mehr

Decorator Pattern. Analyse- und Design-Pattern CAS SWE FS14. Roland Müller Samuel Schärer

Decorator Pattern. Analyse- und Design-Pattern CAS SWE FS14. Roland Müller Samuel Schärer Decorator Pattern Analyse- und Design-Pattern CAS SWE FS14 Roland Müller Samuel Schärer Entwurfsmuster der «Gang of Four» Strukturmuster fassen Klassen und Objekte zu grösseren Strukturen zusammen Adapter

Mehr

Design Patterns und C#

Design Patterns und C# UML - Teil2 Design Patterns und C# Claude Eisenmann 4. August 2005 Inhaltsverzeichnis Rückblende Design Patterns Creational Patterns Structural Patterns Behavioural Patterns Architectural Patterns Umwandlung

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

Praxisbuch Objektorientierung

Praxisbuch Objektorientierung Bernhard Lahres, Gregor Rayman Praxisbuch Objektorientierung Von den Grundlagen zur Umsetzung Galileo Press 1.1 Was ist Objektorientierung? 11 1.2 Hallo liebe Zielgruppe 12 1.3 Was bietet dieses Buch (und

Mehr

Paket Kommando. Command Command Processor Visitor

Paket Kommando. Command Command Processor Visitor Paket Kommando Command Command Processor Visitor Command Command [kə'mænd] aka: Action ['ækʃən] aka: Transaction [træn'zækʃən] Verhaltensmuster Zweck: Anfragen/Methodenaufrufe als Objekte kapseln 01.07.09

Mehr

I Grundlagen der parallelen Programmierung 1

I Grundlagen der parallelen Programmierung 1 vii I Grundlagen der parallelen Programmierung 1 1 Einführung...... 3 1.1 Paradigmenwechsel in der Softwareentwicklung..... 4 1.2 Anwendungsbereiche...... 5 1.3 Parallelität in der Hardware..... 5 1.3.1

Mehr

Wahlpflichtfach Design Pattern

Wahlpflichtfach Design Pattern Wahlpflichtfach Design Pattern Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik miwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338

Mehr

Studentische Probeklausur

Studentische Probeklausur Aufgabe 1 Entwurfsmuster 1. Was ist ein Entwurfsmuster? Studentische Probeklausur SWT SoSe 2010 2. In welche Kategorien werden Entwurfsmuster gewöhnlich unterteilt und wozu dienen die Muster der jeweiligen

Mehr

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger Software Engineering (Übungsblatt 5) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Rollenverteilung in der Softwareentwicklung; Rolle des Testers; Prinzip der Strukturierung; Softwarearchitektur;

Mehr

Software Engineering. 10. Entwurfsmuster II. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. 10. Entwurfsmuster II. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering 10. Entwurfsmuster II Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: 10. Entwurfsmuster II 2 Die Entwurfsmuster der Gang of Four Die 23 GoF Pattern sind in 3 Gruppen

Mehr

Entwurfsmuster. Die Entwurfsmuster Observer, State und Singleton am Beispiel einer Digital-Uhr

Entwurfsmuster. Die Entwurfsmuster Observer, State und Singleton am Beispiel einer Digital-Uhr Entwurfsmuster Die Entwurfsmuster Observer, State und Singleton am Beispiel einer Digital-Uhr Was sind Entwurfsmuster (1) Muster (allg.) sind schematische Lösungen für eine Klasse verwandter Probleme Beschreibung:

Mehr

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs... Auf einen Blick Auf einen Blick 1 Einleitung... 15 2 Die Basis der Objektorientierung... 29 3 Die Prinzipien des objektorientierten Entwurfs... 41 4 Die Struktur objektorientierter Software... 67 5 Vererbung

Mehr

Entwurfsmuster. Marc Monecke

Entwurfsmuster. Marc Monecke Entwurfsmuster Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 20. Mai 2003 Inhaltsverzeichnis 1 Grundlagen

Mehr

Software Engineering 1 6. Übung. Sönke Holthusen, Matthias Kowal, Joachim Steinmetz Institut für Softwaretechnik und Fahrzeuginformatik

Software Engineering 1 6. Übung. Sönke Holthusen, Matthias Kowal, Joachim Steinmetz Institut für Softwaretechnik und Fahrzeuginformatik Software Engineering 1 6. Übung Sönke Holthusen, Matthias Kowal, Joachim Steinmetz Institut für Softwaretechnik und Fahrzeuginformatik Aufgabe 2a - Statecharts a) Modellieren sie eine Lichtschaltung als

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/2015 1 / 28 Strukturmuster Kompositum Dekorierer Adapter 2 / 28 Einführung: Strukturmuster Zu

Mehr

Wahlpflichtfach Design Pattern

Wahlpflichtfach Design Pattern Wahlpflichtfach Design Pattern Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik miwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338

Mehr

Parallelität, Threads

Parallelität, Threads Parallelität, Threads Tutorium 17 Fabian Miltenberger 30.06.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD) KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Konzepte der parallelen Programmierung

Konzepte der parallelen Programmierung Fakultät Informatik, Institut für Technische Informatik, Professur Rechnerarchitektur Konzepte der parallelen Programmierung Parallele Programmiermodelle Nöthnitzer Straße 46 Raum 1029 Tel. +49 351-463

Mehr

Objektorientierte Systementwicklung

Objektorientierte Systementwicklung Karl-Heinz Rau Objektorientierte Systementwicklung Vom Geschäftsprozess zum Java-Programm Mit 162 Abbildungen vieweg Überblick und Vorbemerkungen 1 1 Objektorientierte Software-Entwicklung 5 1.1 Überblick

Mehr

Objektorientierte und Funktionale Programmierung SS 2014

Objektorientierte und Funktionale Programmierung SS 2014 Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten

Mehr

Wahlpflichtfach Design Pattern

Wahlpflichtfach Design Pattern Wahlpflichtfach Design Pattern Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik miwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338

Mehr

Architektur und Entwurfsmuster Definition, Abgrenzung und ausgewählte Beispiele

Architektur und Entwurfsmuster Definition, Abgrenzung und ausgewählte Beispiele 1 Architektur und Entwurfsmuster Definition, Abgrenzung und ausgewählte Beispiele W3L AG info@w3l.de 2012 2 Zur Historie Entwurf-durch-Routine Wiederverwendung bewährter Lösungen Entwurf-durch-Innovation

Mehr

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion Betriebssysteme Vorlesung im Herbstsemester 2010 Universität Mannheim Kapitel 6: Speicherbasierte Prozessinteraktion Felix C. Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung

Mehr

Entwurfsmuster. Rainer Schmidberger

Entwurfsmuster. Rainer Schmidberger Entwurfsmuster Rainer Schmidberger schmidrr@informatik.uni-stuttgart.de Copyright 2004, Rainer Schmidberger, Universität Stuttgart, Institut für Softwaretechnologie, Abt. Software Engineering Was sind

Mehr

MSE/SWF - API Design. Arthur Zaczek. Feb 2015

MSE/SWF - API Design. Arthur Zaczek. Feb 2015 Arthur Zaczek Feb 2015 1 Einleitung Dieses Dokument ist eine Zusammenfassung des Buches Practical API Design: Confessions of a Java Framework Architect. [@Tulach2012] 1.1 Cluelessness Je einfacher eine

Mehr

14 Design Patterns. 14.1 Einführung 14.2 Composite Pattern

14 Design Patterns. 14.1 Einführung 14.2 Composite Pattern 14 Design Patterns 14.1 Einführung 14.2 Composite Pattern 14.1 Einführung 14.1.1 Motivation 14.1.2 Was ist ein Design Pattern? 14.1.3 Beschreibung eines Design Patterns 14.1.4 Katalog von Design Patterns

Mehr

Deutsche Ausgabe. Die Kraft von C# voll ausschöpfen! C# 3.0. Entwurfsmuster. Judith Bishop. O Reilly. Deutsche Übersetzung von Thomas Demmig

Deutsche Ausgabe. Die Kraft von C# voll ausschöpfen! C# 3.0. Entwurfsmuster. Judith Bishop. O Reilly. Deutsche Übersetzung von Thomas Demmig Die Kraft von C# voll ausschöpfen! Deutsche Ausgabe C# 3.0 Entwurfsmuster O Reilly Judith Bishop Deutsche Übersetzung von Thomas Demmig First Inhalt Vorwort....................................................

Mehr

Auf einen Blick. 1 Einführung Funktionen und funktionale Aspekte Objektorientierte Programmierung mit JavaScript...

Auf einen Blick. 1 Einführung Funktionen und funktionale Aspekte Objektorientierte Programmierung mit JavaScript... Auf einen Blick Auf einen Blick 1 Einführung... 17 2 Funktionen und funktionale Aspekte... 61 3 Objektorientierte Programmierung mit JavaScript... 121 4 ECMAScript 6... 173 5 Der Entwicklungsprozess...

Mehr

Vorwort Einleitung Entstehung und Historie 18

Vorwort Einleitung Entstehung und Historie 18 Inhalt Vorwort 13 1 Einführung n 1.1 Einleitung 17 1.2 Entstehung und Historie 18 1.3 Einsatzgebiete von JavaScript 19 1.3.1 Clientseitige JavaScript-Webanwendungen 19 1.3.2 Serverseitige JavaScript-Anwendungen

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 13.11.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/2015 Inhaltsverzeichnis 1 Objektorientierte Programmierung 1 1.1 Grundlegende Eigenschaften

Mehr

OOSE 8 Entwurfsmuster (Hörsaalübung)

OOSE 8 Entwurfsmuster (Hörsaalübung) OOSE 8 Entwurfsmuster (Hörsaalübung) SS 2015 Birgit Demuth Entwurfsmuster in Softwaretechnologie 2015 Prüfungsrelevant Composite Iterator Factory Method Class Adapter Object Adapter Observer Singleton

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Pflichtenheft Master Thesis Von Swing zu Ergonomie

Pflichtenheft Master Thesis Von Swing zu Ergonomie Pflichtenheft Master Thesis Von Swing zu Ergonomie Nummer der Abschlussarbeit MAS-07-02.18 Klasse / Datum MAS-IT-2007-02 / 22.11.2009 Student und Autor Betreuer Expertin Emilio Walter Jurastrasse 41 CH-3063

Mehr

C-to-CUDA-Compiler. Johannes Kölsch. October 29, 2012

C-to-CUDA-Compiler. Johannes Kölsch. October 29, 2012 October 29, 2012 Inhaltsverzeichnis 1 2 3 4 5 6 Motivation Motivation CUDA bietet extreme Leistung für parallelisierbare Programme Kompliziert zu programmieren, da multi-level parallel und explizit verwalteter

Mehr

Software Design Patterns. Einführung

Software Design Patterns. Einführung Software Design Patterns Einführung SDP: Organisatorisches Abteilung Betriebliche Informationssysteme, Prof. Fähnrich Seminar im Rahmen des Modules 'Betriebliche Informationssysteme' Seminarleiter: Frank

Mehr

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Programmieren I. Überblick.  Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft Programmieren I Überblick KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Übersicht Programmieren Programmieren I (1. Semester) 4 Vorlesungs- und Übungsstunden / Woche 7,5 (!) Stunden

Mehr

Prüfungsvorbereitungsfragen SE2

Prüfungsvorbereitungsfragen SE2 Prüfungsvorbereitungsfragen SE2 Woche 1 Projektmanagement 1. Erklären Sie den Satz Projektmanagement ist keine Insel. Woche 2 Build Server / Automation 2. Warum braucht es Buildserver? 3. Nennen sie drei

Mehr

Objektorientierteund FunktionaleProgrammierung

Objektorientierteund FunktionaleProgrammierung Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten

Mehr

Design Pattern. Motivation, Beispiel Definition "Das" Buch der Gang of Four Ausführliches Beispiel: Facade Beispiele. Aufgabe

Design Pattern. Motivation, Beispiel Definition Das Buch der Gang of Four Ausführliches Beispiel: Facade Beispiele. Aufgabe , Beispiel der Gang of Four Ausführliches Beispiel: Beispiele Wiederverwendung ist etwas Gutes...!!! Wiederverwendung (auch: Verständlichkeit, Änderbarkeit, Portierbarkeit etc.) wird auf Design-Ebene ermöglicht

Mehr

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

Betriebssysteme. Tutorium 2. Philipp Kirchhofer Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 4. November 2009 Philipp

Mehr

Programmiertechnik II WS 2017/18

Programmiertechnik II WS 2017/18 Programmiertechnik II WS 2017/18 Fakultät Informatik Bachelor Angewandte Informatik Prof. Dr. Oliver Bittel bittel@htwg-konstanz.de www-home.htwg-konstanz.de/~bittel WS 17/18 Überblick OOP: Schnittstellen

Mehr

Programmiertechnik II SS Fakultät Informatik Bachelor Angewandte Informatik

Programmiertechnik II SS Fakultät Informatik Bachelor Angewandte Informatik Programmiertechnik II SS 2017 Fakultät Informatik Bachelor Angewandte Informatik Prof. Dr. Oliver Bittel bittel@htwg-konstanz.de www-home.htwg-konstanz.de/~bittel SS 2017 Überblick! OOP: Schnittstellen

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

Mehr

PHP OOP, Design Patterns und UML. Marco Skulschus

PHP OOP, Design Patterns und UML. Marco Skulschus PHP OOP, Design Patterns und UML Marco Skulschus Page ta Controller Transfer bject Two-Step-View Row Transaction Script Data Mapper Data Gateway Application Controller Table Module Transform View Front

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II SS 2012 6 Objektorientierte Entwurfsmuster Wissensbassierte Systeme / Wissensmanagement Einführung in die Informatik II 1 Prüfungstermine EI II im Sommersemester 2012 Klausurtermine

Mehr

Objektorientierte und Funktionale Programmierung

Objektorientierte und Funktionale Programmierung Objektorientierte und Funktionale Programmierung SS 2013 6 Objektorientierte Entwurfsmuster Wissensbassierte Systeme / Wissensmanagement Objektorientierte und Funktionale Programmierung 1 PrüfungstermineOFP

Mehr

Software-Entwurfsmuster (weitere) A01 OOP. Software-Entwurfsmuster (weitere)

Software-Entwurfsmuster (weitere) A01 OOP. Software-Entwurfsmuster (weitere) 2014-01-08 Software-Entwurfsmuster (weitere) 1 185.A01 OOP Software-Entwurfsmuster (weitere) 2014-01-08 Software-Entwurfsmuster (weitere) 2 OOP Vererbung versus Delegation class A { public void x() { z();

Mehr

Design Patterns. 5. Juni 2013

Design Patterns. 5. Juni 2013 Design Patterns 5. Juni 2013 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Refactoring und Design Patterns: Welchen Zusammenhang gibt es

Mehr

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Programmieren I. Überblick.  Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft Programmieren I Überblick KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Übersicht Programmieren Programmieren I (1. Semester) 4 Vorlesungs- und Übungsstunden / Woche 1 Stunde

Mehr

Pthreads. David Klaftenegger. Seminar: Multicore Programmierung Sommersemester

Pthreads. David Klaftenegger. Seminar: Multicore Programmierung Sommersemester Seminar: Multicore Programmierung Sommersemester 2009 16.07.2009 Inhaltsverzeichnis 1 Speichermodell 2 3 Implementierungsvielfalt Prioritätsinversion 4 Threads Speichermodell Was sind Threads innerhalb

Mehr