Information Systems ... Beginners Software Engineering...

Denkfallen in der Software Entwicklung

Prof. Dr. Francesca Saglietti, Dipl.-Inf. Johannes Drexler

Seminar im Grundstudium


"Programming today is a race between software engineers
striving to build bigger and better idiot-proof programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning."
[Rich Cook]

Die starke Verbreitung automatisierter Werkzeuge in der Software-Entwicklung hat in den vergangenen Jahrzehnten den Programmierer von aufwendigen manuellen Tätigkeiten weitgehend entlastet. Dadurch konnte zunächst die Anfälligkeit des Entwicklungsprozesses für Unachtsamkeiten reduziert werden, die im wesentlichen durch menschliche Konzentrationsschwäche im Laufe längerer, mühsamer Schritte bedingt waren.

Dafür verlockte diese vorübergehende Entlastung den Entwickler dazu, sich einerseits mit komplexeren Aufgaben zu befassen, andererseits sich komplexerer Hilfsmittel zu ihrer Lösung zu bedienen. Dies führte allmählich zu einer Reihe neuer Probleme, die zum großen Teil das heutige Software Engineering weiterhin prägen und im wesentlichen durch Unterschätzung vorliegender Komplexität bedingt sind.

Gerade durch das mangelnde Bewusstsein für die Grenzen menschlicher Denkressourcen auf hoher Abstraktionsebene sind derartige Denkfallen ungleich schwerer zu vermeiden und zu erkennen als Unachtsamkeiten, für die allgemein durch prägnante persönliche Erfahrungen eine klare Sensibilisierung vorliegt.

Denkfallen unterschiedlicher Natur führen regelmäßig zum wirtschaftlichen Versagen großer Softwareprojekte, sowie auch zum sicherheitskritischen Versagen großer Softwaresysteme, etwa durch

Das Seminar wird sich sowohl mit Klassifikation und Ursachenforschung von Denkfallen im Software Engineering, als auch mit konkreten Instanzen von Fehlerklassen und Fallstudien befassen. Ziel der Veranstaltung ist eine systematische Analyse potentieller Denkfehler in den unterschiedlichen Phasen des Softwarelebenszyklus, sowie die Untersuchung von Maßnahmen zu ihrer gezielten Vermeidung. Eine tiefgründige und bewusste Wahrnehmung der vielfältigen Grenzen menschlichen Denkens bildet die notwendige Voraussetzung zur reifen und kritischen Einstellung gegenüber den komplexen Aufgaben des modernen Software Engineering.

Folgende Themenbereiche werden behandelt:

Für den Erwerb eines Seminarscheins erwarten wir einen ca. halbstündigen Vortrag mit anschließender Diskussion sowie eine schriftliche Ausfertigung des Vortrags (z. B. in Form der visuellen Präsentation).

Literatur

top