Literatur

Grundsätzlich können Sie alle Themen des Kurses mit den hier bereitgestellte Informationen bearbeiten. Wichtige Literatur oder externe Quellen werden innerhalb der verschiedenen Lektionen genannt. Die hier aufgeführten Publikationen können Sie beim Ihrem Selbststudium unterstützen. Es handelt sich um eine Auswahl verschiedener Werkte aus dem Breich der Softwaretechnik und -Entwicklung. Die Liste wird in unregelmäßigen Abständen ergänzt.

Softwaretechnik

Refactoring

von Martin Fowler

A Philosophy of Software Design

von John Ousterhout

John Ousterhout lehrt Informatik an der Stanford University. In "A Philosophy of Software Design" fasst er Erkenntnisse aus seinem Software Design-Kurs zusammen und formuliert wesentliche Prinzipien für den Entwurf komplexer Softwaresysteme. Diese Prinzipien werden in 20 einzelnen Kapiteln vorgestellt, die in den meisten Fällen unabhängig voneinander gelesen werden können. Dabei werden die einzelnen Problembereiche (z.B. Modularisierung, Abstraktion, Strategien oder Schichtenmodelle) knapp vorgestellt und durch einen abstrakten Lösungsvorschlag ergänzt. Anhand sehr kurzer Beispiele wird anschließend eine konkrete Implementierung vorgestellt. Der Autor verweist dabei auch auf häufige bemerkbare Code-Konstrukte (Red flags), die auf ein Zuwiederhandeln gegen diese Prinzipien hinweisen. Insgesamt ist dieser Überblick über das Feld des Software Designs (nicht zu verwechseln mit Software Architecture) eher breit aufgestellt. Das Buch richtet sich vorranging and Studierende und Programmier und Programmierinnen, die vorhandenes Grundwissen über die Programmierung erweitern wollen. Die vorgestellten Prinzipien und Vorgehensmodelle werden zum Teil auch im MME-Kurs behandelt.

The Problem With Software: Why Smart Engineers Write Bad Code

von Adam Barr

Design Patterns: Elements of Reusable Object-Oriented Software

von Erich Gamma et al.

User Interface-Design

Design for Software. A Playbook for Developers

von Erik Klimczak