INHALT

Teil V
Geschafft!

Das war’s! Wir haben in einer Tour de Force viele verschiedene Konzepte kennengelernt, die wir noch einmal zusammenfassen wollen. Im Stakkato: Ausgangspunkt war ein Problem. Wenn wir die Lösung des Problems als Überführung von Eingabedaten in Ausgabedaten verstehen können, ist Software ein guter Kandidat. Das Verhältnis von Ein- zu Ausgaben lässt sich als (mathematische) Funktion beschreiben, als das Was der Problemlösung. Algorithmen sind mögliche Vorschriften, wie solche Funktionen berechnet werden. Ein Algorithmus kann dann durch unterschiedliche Programme implementiert werden, die auf der Hardware, insbesondere einem Prozessor, ablaufen. Alternativ können einzelne Funktionen mithilfe von Maschinenlernen berechnet werden. Software besteht üblicherweise aus mehreren miteinander kommunizierenden Programmen. Das Identifizieren und Verstehen des richtigen Problems, das Zergliedern in Teilprobleme, das Etablieren einer Struktur für Lösungen dieser Teilprobleme, das Sicherstellen und Überprüfen von korrekter Funktionalität und Güte eines Programms und dessen Wartung sind zentrale Aufgaben des Software Engineering. Und schließlich ist Software überall, auch in den cyberphysikalischen Systemen um uns herum.

Ich finde, wir sollten den Anspruch haben, zumindest prinzipiell zu verstehen, worum es sich dabei handelt. Vielleicht kann dieser Text dazu beitragen.

Peter Bludau und Johannes Kroß von fortiss; Manfred Broy, der statt des Kuchens lieber einen Taschenrechner gesehen hätte, Severin Kacianka und Traudl Fichtl von der TUM; Niina Zuber und Jan Gogoll vom bidt sowie Alexandra Pretschner von Boosting Change haben sehr geholfen, meine Beschreibungen des komplexen Materials zu vereinfachen. Die Idee, das Beispiel Kuchenbacken auf die automatisierte Backstube zu übertragen, stammt von Gordon Mühl von Huawei. Vielen Dank!