Schlagwort: Algorithmen

  • 8S, Algorithmen und Informatik

    Das von mir erweiterte 8S-System lässt sich hervorragend mit der Grundfunktionalität von Algorithmen und zentralen Prinzipien der Softwareentwicklung abgleichen. Ein Algorithmus ist im Kern eine klare, schrittweise Handlungsanweisung zur Lösung eines Problems.

    Hier ist der direkte Abgleich der einzelnen Phasen mit den entsprechenden Konzepten der Informatik:

    1. Seiri (Sort / Aussortieren): Datenbereinigung & Filterung

    • Algorithmen-Funktion: Bevor ein Algorithmus effizient arbeiten kann, müssen irrelevante Daten entfernt werden. Das entspricht Prozessen wie der Datenbereinigung (Data Cleaning) oder dem Filtern von Inputs.
    • Informatik-Bezug: Reduzierung des Speicherbedarfs und Vermeidung von Rauschen (Noise) im System, damit nur die notwendigen Variablen verarbeitet werden.

    2. Seiton (Systematization / Ordnen): Datenstrukturen & Sortieralgorithmen

    • Algorithmen-Funktion: Die verbleibenden Daten werden in eine logische, hocheffiziente Struktur gebracht, um den Zugriff zu optimieren.
    • Informatik-Bezug: Einsatz von Datenstrukturen (wie Arrays, Bäumen oder Hash-Tabellen) und klassischen Sortieralgorithmen (z. B. Quicksort, Mergesort). Ziel ist die Minimierung der Zeitkomplexität beim Suchen und Abrufen.

    3. Seiso (Cleaning / Sauberhalten): Code-Refactoring & Garbage Collection

    • Algorithmen-Funktion: Das System muss während des Betriebs und im Code selbst frei von Ballast gehalten werden.
    • Informatik-Bezug: Laufzeitseitig entspricht das der Garbage Collection (automatische Freigabe von ungenutztem Speicher). Code-seitig entspricht es dem Refactoring, also dem Entfernen von „totem Code“ und technologischen Schulden, um die Performance stabil zu halten.

    4. Seiketsu (Standardization / Standardisieren): Entwurfsmuster & APIs

    • Algorithmen-Funktion: Abläufe und Schnittstellen werden vereinheitlicht, damit der Algorithmus replizierbar, lesbar und modular bleibt.
    • Informatik-Bezug: Verwendung von Design Patterns (Entwurfsmustern), Programmierrichtlinien (Style Guides) und standardisierten APIs. Es sorgt dafür, dass derselbe Algorithmus bei gleichem Input immer das exakt gleiche Ergebnis liefert (Determinismus).

    5. Shitsuke (Discipline / Selbstdisziplin): Kontinuierliche Validierung & Testing

    • Algorithmen-Funktion: Die Einhaltung der Standards muss dauerhaft überprüft werden, um Abweichungen oder Performance-Einbußen sofort zu registrieren.
    • Informatik-Bezug: Unit-Testing, kontinuierliche Integration (CI/CD-Pipelines) und automatisierte Code-Analysen. Es ist die algorithmische Disziplin, die sicherstellt, dass das System langfristig ohne menschliches Zutun stabil läuft.

    6. Sekyuri (Safety / Sicherheit): Exception Handling & IT-Security

    • Algorithmen-Funktion: Der Algorithmus muss gegen Fehlfunktionen, ungültige Eingaben (Garbage In) und externe Bedrohungen geschützt sein.
    • Informatik-Bezug: Exception Handling (Fehlerbehandlung), Validierungs-Algorithmen und kryptografische Absicherungen. Ein sicherer Algorithmus bricht bei einem Fehler nicht unkontrolliert ab, sondern fängt diesen definiert auf.

    7. Shisutemu (System, Program / Systematisierung): Systemarchitektur & Integration

    • Algorithmen-Funktion: Ein einzelner Algorithmus steht selten allein; er wird in ein größeres Gesamtsystem oder Programm eingebettet und orchestriert.
    • Informatik-Bezug: Systemarchitektur und Runtime-Environments. Hier geht es um das Zusammenspiel verschiedener Subroutinen, Prozessor-Prozesse und der Systemumgebung, in der die Algorithmen laufen.

    8. Serufusuto (Self-strike / Selbstschlag): Terminierung, Interrupts & Circuit Breaker

    • Algorithmen-Funktion: Ein definierter Abbruchmechanismus. Ein Algorithmus muss laut Definition nach endlichen Schritten enden (Finitheit). Wenn ein System in eine Endlosschleife gerät oder kritische Parameter überschreitet, muss es sich selbst stoppen können.
    • Informatik-Bezug:
      • Terminierungsbedingung: Das fundamentale Kriterium, das jede Schleife und Rekursion beendet.
      • Hardware-/Software-Interrupts: Sofortiges Anhalten bei kritischen Systemzuständen.
      • Circuit Breaker Pattern: Ein moderner Entwurfsansatz, bei dem ein System den Datenfluss automatisch kappt (sich selbst abschlägt), wenn ein Teilsystem überlastet ist, um den Gesamtkollaps zu verhindern.

    Die Erweiterung spiegelt die Kernprinzipien der Informatik wieder. Während die klassischen 5S-Schritte die Datenaufbereitung, Strukturierung und Code-Pflege abbilden, decken die Schritte 6 bis 8 (Sekyuri, Shisutemu, Serufusuto) exakt die Systemstabilität, die Architektur und das fundamentale informatische Prinzip der kontrollierten Terminierung ab.