Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Design Patterns Schulung (nicht nur) für Embedded-Systeme - Präsenz-Training

  • Inhalt
     
  • Ziele -
    Ihr Nutzen
  • Teilnehmer
     
  • Voraussetzungen
     

Lernen Sie abzuschätzen, unter welchen Bedingungen Sie klassische Entwurfsmuster - Design Patterns - auch in ressourcenlimitierten Embedded-Systemen gewinnbringend einsetzen können.

Die Schulung macht Sie mit den Mustern vertraut, die sich besonders gut für die typischen Anwendungen von Embedded-Systemen eignen. Sie können so nicht nur deren Speicherplatz- und Laufzeitkosten beurteilen, sondern diese auch durch Laufzeitmessungen überprüfen.

Sie erfahren, welche häufig verwendeten Lösungsansätze besser vermieden werden sollten ("Anti-Pattern"), lernen Sie Einsatzmöglichkeiten von Entwurfsmustern zum Zweck der Fehlersuche kennen und können diese anwenden.

Die Design Patterns Schulung richtet sich an C++ Software-Entwickler und Software-Architekten.

Gute Kenntnisse der Programmiersprache C++

Einführung in die Design Patterns (Entwurfsmuster)

  • Geschichtliche Entwicklung
  • Was ist ein Entwurfsmuster?
  • GoF Entwurfsmuster (GoF Design Pattern)
  • Typische Probleme in Embedded-Systemen
  • Entwurfsmuster (Design Patterns) in Embedded Systemen

Erzeugungsmuster

  • Beispiel: Applikation zur Steuerung eines Motors
  • Flexibles Design auf Basis von Schnittstellen (Interfaces)
  • Praktische Übung: Messung der Speicherplatz- und Laufzeitkosten einer Schnittstelle
  • Statische Polymorphie und dynamische Polymorphie im Vergleich
  • Beispiel: Positionsverfolgung für ein Warentransportsystem
  • Wiederverwendung des Positionsverfolgungssystems für Flugzeuge
  • Positionsverfolgung auf Basis des Entwurfsmusters "Abstrakte Fabrik" (Design Pattern "Abstract Factory")
  • Fabrikerzeugung mithilfe des Entwurfsmusters "Singleton" (Design Pattern "Singleton")

Strukturmuster

  • Beispiel: Applikation zur Steuerung eines Motors
  • Alternatives Design auf Basis des Entwurfsmusters "Adapter" (Design Pattern "Adapter")
  • Workshop-Übung: Debugging einer Counter-Applikation
  • Lösung mithilfe des Entwurfsmusters "Dekorierer" (Design Pattern "Decorator")
  • Beispiel: Multithread-Applikation
  • Identifikation der Probleme typischer Lösungsansätze
  • Flexibler Lösungsansatz auf Basis des Entwurfsmusters "Proxy" (Design Pattern "Proxy")
  • Schutz-Proxy, Virtueller Proxy, Remote Proxy
  • Smart-Reference / Smart-Pointer

Verhaltensmuster

  • Beispiel: Behandlung von Timer-Ereignissen
  • Flexible Lösung auf Basis des Entwurfsmusters "Beobachter" (Design Pattern "Observer")
  • Praktische Übung: Anwendung des Beobachter-Musters in einer Aufzug-Steuerung
  • Fallstricke beim Design bzw. der Implementierung von Interfaces
  • "Horizontale" und "vertikale" Interfaces
  • Ereignisbehandlung auf Basis des Entwurfsmusters "Befehl" (Design Pattern "Command")
  • Praktische Übung: Anwendung des Befehlsmusters in der Aufzug-Steuerung
  • Beispiel: Traditionelle Implementierung eines Zustandsautomaten in C
  • Objektorientierte Lösung mithilfe des Entwurfsmusters "Zustand" (Design Pattern "State")
  • Praktische Übung: Anwendung des Zustandsmusters in der Aufzug-Steuerung
  • Beispiel: Benutzerdefinierte Speicherverwaltung
  • Partitionen und deren Verwaltung mithilfe von Partition-Managern
  • Flexible Speicherverwaltung auf Basis des Entwurfsmusters "Strategie" (Design Pattern "Strategy")
  • Praktische Übung: Anwendung des Strategiemusters in der Aufzug-Steuerung
  • Beispiel: Strategien mit gemeinsamer Grundstruktur
  • Realisierung auf der Basis des Entwurfsmusters "Schablonenmethode" (Design Pattern "Template Method")

Weitere Muster

  • Entwurfsmuster "Fabrikmethode" (Design Pattern "Factory Method")
  • Entwurfsmuster "Prototyp" (Design Pattern "Prototype")
  • Entwurfsmuster "Fassade" (Design Pattern "Facade")
  • Entwurfsmuster "Kompositum" (Design Pattern "Composite")
  • Entwurfsmuster "Memento" (Design Pattern "Memento")
  • Entwurfsmuster "Zuständigkeitskette" (Design Pattern "Chain of Responsibility")
  • Entwurfsmuster "Fliegengewicht" (Design Pattern "Flyweight")
  • Entwurfsmuster "Iterator (Design Pattern Iterator)
  • Entwurfsmuster "Vermittler" (Design Pattern "Mediator")

Praktische Übungen in der Design Pattern Schulung

  • Die Übungen werden mit der Plattform IAR Embedded Workbench und dem Designwerkzeug Enteprise Architect durchgeführt

Zusätzlich zu den praktischen Übungen in den einzelnen Kursmodulen gewinnen Sie folgende Praxiskenntnisse:

  • Wie führe ich Speicherplatz- und Laufzeitmessungen durch?
  • Wie kann ich in Projekten Entwurfsmuster als Mittel zur Steigerung der Softwarequalität einsetzen?
  • Wie kann ich Entwurfsmuster zu Debug-Zwecken verwenden?
  • Wie kann ich gegebene Projekte durch die Anwendung von Entwurfsmustern weiterentwickeln?

Im Preis enthalten:
Mittagessen, Getränke, Trainingsunterlagen und Ihr Teilnahmezertifikat


ALL INCLUSIVE!

Verwandte Trainings

Software-Architektur-Schulung für Embedded-Systeme und Echtzeitsysteme - Präsenz-Training
Anmeldecode: EMB-AR

UML-Schulung: UML-Grundlagen und Einstieg in die modellbasierte Softwareentwicklung - Präsenz-Training
Anmeldecode: UML-G

UML-Praxis-Workshop: Praktischer Einsatz modellbasierter Softwareentwicklung für Embedded- und Echtzeit-Systeme - Präsenz-Training
Anmeldecode: UMLPRAX

OOP-Grundlagen: Sprachunabhängiger Einstieg in die objektorientierte Programmierung - Präsenz-Training
Anmeldecode: OOP-G

Objektorientierte Softwareentwicklung: Spezielle Programmierprinzipien mit C++ - Der Weg zum Clean Code - Präsenz-Training
Anmeldecode: OOPFC++

C++ Schulung für Ein- und Umsteiger: Grundlegende Programmiertechniken für C++ Entwickler - Präsenz-Training
Anmeldecode: C++

Embedded C++: Objektorientierte Programmierung für Mikrocontroller mit C++/EC++ und UML - Präsenz-Training
Anmeldecode: EC++

Coaching: Software-Analyse, -Design und -Architektur
Anmeldecode: C-ADA-SWE

Coaching: Qualität im Programmcode
Anmeldecode: C-QU-PRG


Verwandte Trainings

Präsenz-Training

TerminPreis *Dauer
10.06. – 14.06.20243.000,00 €4,5 Tage 
18.11. – 22.11.20243.000,00 €4,5 Tage 
17.03. – 21.03.20253.000,00 €4,5 Tage 
Anmeldecode: DP
* Preis je Teilnehmer, in Euro zzgl. USt.
> Download Blanko-Anmeldeformular> Trainingsbeschreibung als PDF

Onsite-Training

In maßgeschneiderten Workshops kombinieren wir Ihre konkreten Projektaufgaben mit unserem Trainingsangebot. Dabei berücksichtigen wir Ihre Anforderungen bezüglich Inhalt, Zeit, Ort, Dauer, technischem Umfeld und Vermittlungsmethodik.

Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.

> Trainingsbeschreibung als PDF

Live-Online - Deutsch

Termin Dauer
10.06. – 14.06.2024 5 Tage  
18.11. – 22.11.2024 5 Tage  

Präsenz-Training - Englisch

Dauer
5 Tage  

Live-Online - Englisch

Dauer
5 Tage  

Coaching

Unsere Coaching-Angebote bieten den großen Vorteil, dass unsere Experten ihr Wissen und ihre Erfahrungen direkt in Ihren Lösungsprozess einbringen und damit unmittelbar zu Ihrem Projekterfolg beitragen.

Coaching: Qualität im Programmcode

Design Patterns Schulung (nicht nur) für Embedded-Systeme - Präsenz-Training

Inhalt

Einführung in die Design Patterns (Entwurfsmuster)

  • Geschichtliche Entwicklung
  • Was ist ein Entwurfsmuster?
  • GoF Entwurfsmuster (GoF Design Pattern)
  • Typische Probleme in Embedded-Systemen
  • Entwurfsmuster (Design Patterns) in Embedded Systemen

Erzeugungsmuster

  • Beispiel: Applikation zur Steuerung eines Motors
  • Flexibles Design auf Basis von Schnittstellen (Interfaces)
  • Praktische Übung: Messung der Speicherplatz- und Laufzeitkosten einer Schnittstelle
  • Statische Polymorphie und dynamische Polymorphie im Vergleich
  • Beispiel: Positionsverfolgung für ein Warentransportsystem
  • Wiederverwendung des Positionsverfolgungssystems für Flugzeuge
  • Positionsverfolgung auf Basis des Entwurfsmusters "Abstrakte Fabrik" (Design Pattern "Abstract Factory")
  • Fabrikerzeugung mithilfe des Entwurfsmusters "Singleton" (Design Pattern "Singleton")

Strukturmuster

  • Beispiel: Applikation zur Steuerung eines Motors
  • Alternatives Design auf Basis des Entwurfsmusters "Adapter" (Design Pattern "Adapter")
  • Workshop-Übung: Debugging einer Counter-Applikation
  • Lösung mithilfe des Entwurfsmusters "Dekorierer" (Design Pattern "Decorator")
  • Beispiel: Multithread-Applikation
  • Identifikation der Probleme typischer Lösungsansätze
  • Flexibler Lösungsansatz auf Basis des Entwurfsmusters "Proxy" (Design Pattern "Proxy")
  • Schutz-Proxy, Virtueller Proxy, Remote Proxy
  • Smart-Reference / Smart-Pointer

Verhaltensmuster

  • Beispiel: Behandlung von Timer-Ereignissen
  • Flexible Lösung auf Basis des Entwurfsmusters "Beobachter" (Design Pattern "Observer")
  • Praktische Übung: Anwendung des Beobachter-Musters in einer Aufzug-Steuerung
  • Fallstricke beim Design bzw. der Implementierung von Interfaces
  • "Horizontale" und "vertikale" Interfaces
  • Ereignisbehandlung auf Basis des Entwurfsmusters "Befehl" (Design Pattern "Command")
  • Praktische Übung: Anwendung des Befehlsmusters in der Aufzug-Steuerung
  • Beispiel: Traditionelle Implementierung eines Zustandsautomaten in C
  • Objektorientierte Lösung mithilfe des Entwurfsmusters "Zustand" (Design Pattern "State")
  • Praktische Übung: Anwendung des Zustandsmusters in der Aufzug-Steuerung
  • Beispiel: Benutzerdefinierte Speicherverwaltung
  • Partitionen und deren Verwaltung mithilfe von Partition-Managern
  • Flexible Speicherverwaltung auf Basis des Entwurfsmusters "Strategie" (Design Pattern "Strategy")
  • Praktische Übung: Anwendung des Strategiemusters in der Aufzug-Steuerung
  • Beispiel: Strategien mit gemeinsamer Grundstruktur
  • Realisierung auf der Basis des Entwurfsmusters "Schablonenmethode" (Design Pattern "Template Method")

Weitere Muster

  • Entwurfsmuster "Fabrikmethode" (Design Pattern "Factory Method")
  • Entwurfsmuster "Prototyp" (Design Pattern "Prototype")
  • Entwurfsmuster "Fassade" (Design Pattern "Facade")
  • Entwurfsmuster "Kompositum" (Design Pattern "Composite")
  • Entwurfsmuster "Memento" (Design Pattern "Memento")
  • Entwurfsmuster "Zuständigkeitskette" (Design Pattern "Chain of Responsibility")
  • Entwurfsmuster "Fliegengewicht" (Design Pattern "Flyweight")
  • Entwurfsmuster "Iterator (Design Pattern Iterator)
  • Entwurfsmuster "Vermittler" (Design Pattern "Mediator")

Praktische Übungen in der Design Pattern Schulung

  • Die Übungen werden mit der Plattform IAR Embedded Workbench und dem Designwerkzeug Enteprise Architect durchgeführt

Zusätzlich zu den praktischen Übungen in den einzelnen Kursmodulen gewinnen Sie folgende Praxiskenntnisse:

  • Wie führe ich Speicherplatz- und Laufzeitmessungen durch?
  • Wie kann ich in Projekten Entwurfsmuster als Mittel zur Steigerung der Softwarequalität einsetzen?
  • Wie kann ich Entwurfsmuster zu Debug-Zwecken verwenden?
  • Wie kann ich gegebene Projekte durch die Anwendung von Entwurfsmustern weiterentwickeln?