Wie entsteht ein informatisches Modell? Welches Werkzeug für welche Aufgabe — und wo stoßen Modelle an ihre Grenzen?
Die Erstellung eines informatischen Modells folgt einem strukturierten Prozess. Klicke einen Schritt an, um Details und ein durchgängiges Beispiel (Ampelsteuerung) zu sehen.
⚠ Wichtig
Der Prozess ist iterativ, nicht linear. Fehler in der Verifikation führen zurück zur Konstruktion. Validierungsprobleme können sogar eine neue Problemanalyse erfordern. In der Praxis durchläuft man den Zyklus oft mehrmals.
Die Wahl des richtigen Modellierungswerkzeugs hängt vom Modellierungsziel ab. Hier sind die vier zentralen Werkzeuge im Vergleich — und ein interaktiver Entscheidungsbaum.
Wir modellieren eine Ampelsteuerung als Zustandsdiagramm — vom Problem bis zum fertigen Modell. Arbeite die 5 Schritte nacheinander durch.
Ausgangssituation: Eine Schule will eine Datenbank für Schüler, Klassen und Lehrer entwickeln. Erarbeite Schritt für Schritt das ER-Diagramm — jeder Schritt baut auf dem vorherigen auf.
Modelle sind mächtige Werkzeuge — aber sie haben Grenzen. Hier sind vier Bereiche, in denen Modelle regelmäßig versagen.
Manche Systeme sind so komplex, dass jedes Modell sie nur unzureichend abbildet.
Ab einer gewissen Systemgröße steigt die Anzahl möglicher Zustände und Interaktionen exponentiell. Ein Zustandsdiagramm für das gesamte Verhalten eines Betriebssystems wäre unbrauchbar — zu viele Zustände, zu viele Übergänge.
Lösung: Hierarchische Modellierung (Teilsysteme getrennt modellieren), Abstraktion erhöhen, Fokus auf den relevanten Bereich.
Beispiel: Ein Schachcomputer kann nicht alle 10^120 möglichen Spielverläufe modellieren — er nutzt Heuristiken.
Modelle bilden einen Zeitpunkt ab — die Realität ändert sich ständig.
Ein ER-Diagramm, das heute korrekt ist, kann morgen veraltet sein, wenn sich die Anforderungen ändern. Datenbankschemata, Klassendiagramme und Protokolle müssen aktiv gepflegt werden.
Problem: Wenn das Modell und die Implementierung auseinanderdriften, verliert das Modell seinen Dokumentationswert — man kann ihm nicht mehr trauen.
Praxis: Versionierung von Modellen, Living Documentation, modellgetriebene Entwicklung (das Modell erzeugt den Code).
Nicht alles, was wichtig ist, lässt sich formal modellieren.
Modelle in der Informatik arbeiten mit formalen, messbaren Größen. Aber viele wichtige Aspekte eines Systems sind nicht formal erfassbar: Benutzerfreundlichkeit, ästhetische Qualität, Vertrauen, Akzeptanz.
Beispiel: Ein UML-Diagramm einer App sagt nichts darüber aus, ob Nutzer die App intuitiv finden werden. Ein ER-Schema sagt nichts über die Performance bei 1 Million gleichzeitigen Zugriffen.
Konsequenz: Modelle müssen durch Tests, Nutzerstudien und Messungen ergänzt werden.
Menschen verhalten sich nicht nach formalen Regeln — sie sind das größte Modellierungsproblem.
Informatische Modelle setzen oft voraus, dass Nutzer sich „korrekt" verhalten: alle Pflichtfelder ausfüllen, gültige Eingaben machen, Anweisungen folgen. In der Realität tun sie das nicht.
Beispiel: Ein Zustandsdiagramm für ein Login-System modelliert typischerweise „korrekte" Abläufe. Aber was passiert, wenn jemand 100 Mal falsch tippt? Das Passwort per Copy-Paste einfügt? Den Browser-Zurück-Button nutzt?
Lösung: Robustheitstests, Fehlerszenarien explizit modellieren, Nutzerforschung.
Bringe die Schritte des Modellbildungsprozesses in die korrekte Reihenfolge. Ziehe und drop die Elemente.
20 Fragen in 4 Schwierigkeitsstufen.
„Ein Modell ist nur so gut wie die Fragen, für die es gebaut wurde."