Kapitel 3 von 18

7-Schritte-Dekonstruktion

Das CharGraph-Projekt folgt einem bewährten 7-Schritte-Ansatz zur Problemlösung:

Schritt 1: Analyse (Analysis)

Fragestellung: Wie kann man Zeit mit Buchstaben darstellen?

Anforderungen identifizieren

  • Darstellung von Stunden (1-12)

  • Darstellung von Minuten (0-59)

  • Lesbare deutsche Sprachausgabe

  • Begrenzte Anzahl von Zeichen (110 in 11×10 Anordnung)

  • Zusätzliche Präzision durch 4 Anzeigepunkte

Constraints

  • Physikalische Begrenzung: 11×10 Buchstabenfeld

  • Sprachliche Begrenzung: Deutsche Zeitangaben

  • Kognitive Begrenzung: Schnelle Lesbarkeit

Schritt 2: Dekonstruktion (Decomposition)

Problem aufteilen in Teilprobleme

  • Layout-Problem: Welche Wörter müssen platziert werden?
  • Mapping-Problem: Wie wird Zeit auf Wörter abgebildet?
  • Positions-Problem: Wo stehen die Wörter im Raster?
  • Präzisions-Problem: Wie zeigt man 1-4 Minuten zwischen 5er-Schritten?
  • Validierungs-Problem: Wie prüft man die Korrektheit?

Schritt 3: Design (Design)

Lösungsstrategien entwickeln

A) Sprachliches Design

Zeitangabe = Einleitung + Minutenangabe + Stundenangabe + Abschluss = "ES IST" + [Minuten] + [Stunde] + ["UHR"] = "WIR HABEN" + [Minuten] + [Stunde] + ["UHR"]

B) Layout-Design

Reihenfolge: [Feste Einleitung] [Variable Minuten] [Referenzpunkt] [Variable Stunden] [Fester Abschluss]

C) Algorithmisches Design

  • Modulo-Arithmetik für 12-Stunden-Zyklus

  • Bereichs-Mapping für Minutenintervalle

  • Prioritäts-Queues für optionale Wörter

Schritt 4: Implementierung (Implementation)

Code-Struktur entwickeln

function berechneSichtbareWoerter(stunde, minute) { // 1. Normalisierung let h12 = stunde % 12; if(h12 === 0) h12 = 12;

// 2. Kontext-abhängige Stundenauswahl let anzeigeStunde = (minute >= 20) ? h12 + 1 : h12;

// 3. Bereichs-Mapping if(minute >= 0 && minute <= 4) return ["ES", "IST", "NACH", stunden[h12]]; // ... weitere Bereiche }

Schritt 5: Test (Testing)

Systematisches Testen

  • Unit-Tests für einzelne Zeitpunkte

  • Grenzwert-Tests (0:00, 12:00, 23:59)

  • Szenario-Tests (alle 5-Minuten-Schritte)

  • Edge-Cases (Minutenübergänge)

Schritt 6: Evaluation (Evaluation)

Bewertung der Lösung

  • Funktionale Korrektheit

  • Benutzbarkeit

  • Performance

  • Wartbarkeit

  • Erweiterbarkeit

Schritt 7: Iteration (Iteration)

Verbesserungen

  • Hinzufügen optionaler Wörter (KURZ, BALD, FAST)

  • Regionale Varianten (DREIVIERTEL)

  • Optimierung der Algorithmen

  • Verbesserung der Benutzeroberfläche

Systemübersicht

Fortschritt17%

Kommt als nächstes:

Systemübersicht