Funktionale Software-Architektur

Die Schulung ist Teil des Advanced Level der iSAQB-Zertifizierung für Software-Architekten (CPSA-A) und setzt das iSAQB-Module FUNAR um.

Termine

1.7.-4.7.2019, Berlin

(zusammen mit der Entwicklerakademie)

Details hier.

8.7.-11.7.2019, Hamburg

(zusammen mit oose)

Details hier.

15.7.-18.7.2019, München

(zusammen mit der Entwicklerakademie)

Details hier.

22.7.-25.7.2019, Stuttgart

Vorkurs FP (22.7.) Early-Bird €500 bis 22.5. danach €600 (jeweils zzgl MWSt.)
FUNAR (23.7.-25.7.) Early-Bird €1800 bis 22.5. danach €2000 (jeweils zzgl MWSt.)

Selbstzahler-Rabatte vefügbar - kontaktieren Sie uns!

Inhalt

Wie funktioniert Softwarearchitektur mit Funktionen, unveränderlichen Daten, Kombinatoren?

Die Schulung präsentiert den Teilnehmern funktionale Softwarearchitektur als Alternative zu objektorientierter Architektur. Im Vergleich zu OO-Architektur setzt die funktionale Softwarearchitektur auf unveränderliche Daten, algebraische Abstraktionen und eingebettete domänenspezifische Sprachen. Das Resultat sind flexible und robuste Architekturen, die gegenüber OO weniger komplex sind und weniger versteckte Abhängigkeiten mit sich bringen.

Aufgrund der erhöhten Ausdruckskraft und Abstraktionsmöglichkeit in funktionalen Sprachen ist Architektur Code. In der Schulung gibt es Hands-On-Übungen, in denen (in Haskell) programmiert wird.

Vorkenntnisse in funktionaler Programmierung sind hilfreich aber nicht notwendig. Wer noch nicht in funktionalen Sprachen programmiert hat, sollte den Vorkurs besuchen. Eine Einführung in Haskell wird als Teil der Schulung gegeben.

ISAQB-Logo

Wenn Sie dieses Training als Teil des Advanced Level des iSAQB besuchen, können Sie sich danach Credit Points anrechnen lassen (10 Credit Points im Kompetenzbereich Methodik und 20 Credit Points im Kompetenzbereich Technische Kompetenz).

Für Teilnehmer, die noch keine praktische Vorerfahrung mit funktionaler Programmierung haben, empfehlen wir den eintägigen Vorkurs.

Vorkurs “Einführung in die funktionale Programmierung” (1 Tag)

Der Vorkurs ist eine kompakte Einführung in die funktionale Programmierung für Schulungsteilnehmer, die damit noch keine Erfahrung haben oder eine kurze Auffrischung genießen wollen. Im Vorkurs gibt es Hands-On-Übungen, in denen programmiert wird. Der Vorkurs benutzt die spezielle Lehrsprachen und die die erprobte didaktische Methodik der DeinProgramm-Konstruktionsanleitungen.

Agenda

  • Datenmodellierung
  • Konstruktionsanleitungen
  • Selbstreferenzen und Rekursion
  • Programmieren mit Folgen
  • Higher-Order-Programmierung
  • eingebaute Datenstrukturen
  • Programmieren mit Zustand
  • Programmieren mit Akkumulatoren
  • eigenschaftsbasiertes Testen

Funktionale Software-Architektur (3 Tage)

Tag 1

Struktur funktionaler Software-Systeme

  • Funktionen und Werte
  • Komposition
  • Typen
  • Module

Technologien für funktionale Programmierung

  • statische Typen
  • dynamische Typen
  • Endrekursion
  • strikte bzw. nicht-strikte Auswertung
  • Laufzeitumgebung

Tag 2

Umsetzung von funktionalen Anforderungen

  • DDD vs. FP
  • Kombinatormodelle
  • eingebettete domänenspezifische Sprachen

Umsetzung von nicht-funktionalen Anforderungen

  • CQRS
  • Event Sourcing
  • Parallelisierung
  • Verteilung

Tag 3

Architekturmuster

  • funktionale Datenstruktur
  • Monoid
  • Funktor
  • Monade
  • Model-View-Update

Praxisbeispiel

Dozenten

Die Dozenten Dr. Michael Sperber und Nicole Rauch sind die Autoren des FUNAR-Curriculums.

Dr. Michael Sperber

Foto Michael Sperber

Mike Sperber ist Geschäftsführer der Active Group GmbH, die Individualsoftware ausschließlich mit funktionaler Programmierung entwickelt. Er ist Experte für funktionale Programmierung und wendet sie seit über 25 Jahren in Forschung und industrieller Entwicklung an. Derzeit treibt ihn das Spannungsfeld zwischen traditioneller und funktionaler Software-Architektur um, die sich deutlich unterscheiden. Mike befasst sich außerdem seit über 30 Jahren mit der Programmierausbildung und hat dazu umfangreich geforscht. Mike ist Mitbegründer des Blogs funktionale-programmierung.de und Mitorganisator der Entwicklerkonferenz BOB, sowie Autor mehrerer Bücher und zahlreicher Fachartikel.

Nicole Rauch

Foto Nicole Rauch

Nicole Rauch ist freiberufliche Softwareentwicklerin und Softwareentwicklungscoach mit umfangreichem Hintergrund in Compilerbau und formalen Verifikationsmethoden. Neben Specification by Example, Domain-Driven Design, React.js/Redux, Node.js und der Sanierung von Java Legacy Code Applikationen erobern funktionale Programmiersprachen, allen voran Haskell, sich langsam aber sicher einen festen Platz in ihrem Repertoire. Des weiteren wirkte sie an der Ausrichtung mehrerer selbstorganisierter Konferenzen und an der Initiierung der Softwerkskammer, einer deutschsprachigen User Community zum Thema Software Craftsmanship, sowie ihrer Karlsruher Regionalgruppe mit.