# Stadt Humoriana – Systemanalyse und Facharchitektur

## Systemgrenze
Humoriana simuliert eine eigenständige Kommune. Externe reale Kommunaldaten werden nicht benötigt. Innerhalb der Simulation werden fachliche Beziehungen jedoch so behandelt, als müssten sie in einem produktiven Informationssystem konsistent bleiben.

## Domänen
1. Stadt / Stadtteil / Adresse / Geografie
2. Bürger / Haushalt / Bürgerkonto
3. Register / Dokument / Vorgang
4. Finanzen / Konto / Buchung / Versorgung
5. Mobilität / Ticket / HUMCard / HUMPass / Fahrzeug
6. Einrichtung / Schule / Kita / Gesundheit / Sicherheit
7. Betrieb / Arbeitgeber / Beschäftigung / freie Stelle
8. Meldung / Veranstaltung / Suche / öffentliche Inhalte
9. Administration / Backup / Restore / Patch / Migration

## Kritische Abhängigkeitsketten
- Bürger → Adresse/Stadtteil → Einwohnerstatistik
- Bürger → Haushalt/HUM-Konto → Finanzsummary
- Bürger → Beschäftigung → Mein HUM / JobCenter / Arbeitsmarktstatistik
- freie Stelle → Vermittlung → Vakanzzahl → Kündigung
- Meldung → Hero / Aktuelles / Archiv / Detail
- redaktionelle Seite → Renderer → dynamische Ausgabe → Suche
- Patch → Manifest/Version/Hash → Prebackup → Migration → Plattformstand
- Bürgerbackup → Restore → exakter personenbezogener Teilbestand

## Single Source of Truth
Die wichtigste Architekturentwicklung war die schrittweise Entfernung paralleler Wahrheiten. Historisch gab es z. B. statische Einwohnerzahlen neben dem Melderegister oder klassische CMS-Beiträge neben administrierten Meldungen. Der aktuelle Zielzustand legt pro fachlicher Information eine führende Quelle fest.

## Datenvolumen
Der Personenbestand umfasst über 58.000 Datensätze. Deshalb werden Aggregationen nicht bei jedem öffentlichen Request vollständig neu berechnet. Cacheinvalidierung orientiert sich an relevanten Quelldateien.

## Integrationsmuster
Fachmodule kommunizieren nicht über eine zusätzliche Service-Infrastruktur, sondern über definierte PHP-Funktionen und strukturierte Datenbestände. Für die Projektgröße ist dies ein bewusstes KISS-Muster. Die Traceability dokumentiert dennoch, welche Querschnittsanforderungen mehrere Module verbinden.

## Betriebsarchitektur
Shared Hosting, PHP-Runtime, Flat-File-Daten und versionierte ZIP-Patches bilden den Betriebsrahmen. Notfallwerkzeuge sind als separate Adminplugins gehalten, damit das Stadtportal selbst nicht unnötig mit generischen Datei-/Corefunktionen belastet wird.

## Qualitätsschwerpunkt
Der kritische Fehlerfall ist meist nicht „Funktion X ist komplett kaputt“, sondern „Funktion X und Y zeigen verschiedene Wahrheiten“. Entsprechend liegt der Testschwerpunkt auf Integrations- und Regressionstests zwischen Modulen.
