Teilnahme am iSAQB® CPSA®-Advanced-Training in funktionaler Softwarearchitektur (FUNAR) – Wer sollte die Schulung besuchen und warum?
Ein Interview mit Kurator Michael Sperber
Wer soll mit dem Modul FUNAR angesprochen werden?
Die Schulung ist für alle Softwarearchitekt:innen gedacht, die neugierig sind auf Ansätze zur Softwarearchitektur, die sich fundamental von traditionellen OOP-basierten Ansätzen unterscheiden (und natürlich effektiver sind).
Welche Bedeutung hat das Modul für die berufliche Praxis von Softwarearchitekt:innen?
Das kommt drauf an: Funktionale Architektur unterscheidet sich schon wesentlich von objektorientierter Architektur, und sie entfaltet ihre volle Wirkung erst bei Verwendung von funktionalen Programmiersprachen.
Gerade in Deutschland stehen viele Projekte Änderungen und Neuerungen ablehnend oder zumindest skeptisch gegenüber. In Projekten und Teams, die offen sind für andere und besonders effektive Ansätze, findet sich aber eigentlich immer ein Weg, um von funktionaler Architektur zu profitieren.
Welche Fähigkeiten erwerben Softwarearchitekt:innen im Modul, was genau lernt man in dieser Schulung?
Die Schulung vermittelt zunächst einmal grundlegende Fähigkeiten beim Umgang mit unveränderlichen Daten (ein Grundpfeiler funktionaler Architektur) und vor allem mit systematischer Abstraktion. Dazu gehören auch die typisch funktionalen Abstraktionsmuster.
Die Schulung vermittelt dann, wie diese Techniken für besonders effektive Domänenmodellierung eingesetzt werden können, speziell für die Erstellung sogenannter Kombinatormodelle, die besonders flexibel und langlebig sind. Des Weiteren vermittelt die Schulung, wie funktionale Programmierung im Kontext von Domain-Driven Design funktioniert – die beiden Ansätze harmonieren ziemlich gut. (Es gibt noch weitere Themen, aber dies sind die wichtigsten.)
Warum sollten (angehende) Softwarearchitekt:innen an einer solchen Schulung teilnehmen?
Funktionale Architektur hat eine Reihe von Vorteilen:
- Sie reduziert architektonische Kopplung drastisch und sorgt so für bessere Wartbarkeit.
- Funktionale Domänenmodelle sind flexibler und damit langlebiger als typische DDD-Modelle.
- Funktionale Architektur erleichtert es, wichtige Eigenschaften der Software zu formulieren und ihre Erfüllung sicherzustellen.
Können Softwarearchitekt:innen von der Schulung profitieren, auch wenn sie in der Praxis keine funktionale Programmiersprache verwenden (können)?
Zumindest teilweise: Die wesentlichen Techniken der Kombinatormodellierung können zum Beispiel auch in objektorientierten Sprachen implementiert werden. Die entstehenden Modelle passen sich auch nahtlos in einen OO-Kontext ein. Die in der Schulung vermittelten fortgeschrittenen Abstraktionstechniken erfordern allerdings den Einsatz einer funktionalen Sprache.
Ist funktionale Architektur nur besonders fortgeschrittenen oder „talentierten“ Architekt:innen zugänglich?
Funktionale Architektur ist für alle zugänglich: Insbesondere ist ja die funktionale Programmierung Grundlage besonders effektiver Anfängerausbildung in der Informatik. (Und das funktioniert sogar für Schulkinder.) Unter dem Strich ist funktionale Programmierung und Architektur sogar einfacher als OO.
Allerdings sind die funktionalen Konzepte fremd, wenn man mit OO aufgewachsen ist: das ist zunächst einmal anstrengend. Die Schulung wird deshalb in der Regel mit einem optionalen eintägigen Vorkurs angeboten, der die wichtigsten Grundlagen vermittelt.
Sie möchten mehr über das CPSA-Advanced-Level-Modul FUNAR erfahren? Bitte besuchen Sie die FUNAR-Modul-Webseite.
Sie möchten lieber gleich eine passende FUNAR-Schulung finden und buchen? Dann sehen Sie sich in unserem Schulungskalender um.
Teilen Sie diesen Artikel:
Zum Thema passende Artikel
Über die Autor:innen