Rolf B: mysql: Redundanzen vermeiden oder nicht?

Beitrag lesen

Hallo Pit,

irgendwie habe ich den Eindruck, dass Du zwischen den Userstories deines Terminsystems hin und herpendelst. Um ein Feature zu designen, sollte man den Überblick über die Stories haben, dann aber Story für Story überlegen, was man dafür braucht.

Die Story, von der ich in diesem Thread ausgegangen bin, lautet so: Jemand erfasst einen Termin im System und ordnet mehrere Teilnehmer zu (Einladung, Dienstverpflichtung, wasauchimmer). Diese Teilnehmer werden zunächst als Vollzeit-Teilnehmer registriert, können dann aber ihre Teilnahmezeiten ändern. Diese Änderungen sollen für den Terminerfasser, vielleicht auch den anderen Teilnehmern, sichtbar sein. Durch die Zeitänderungen der Teilnehmer ist es möglich, dass es für sie mehrere Teilnahmeintervalle gibt.

Dass Du für Dich einen Termin einträgst, an dem kein anderer Nutzer dieses Termins teilnimmt, ist eine andere Story. Natürlich sollte das Datenmodell beide Stories bedienen können.

Wieder andere Storys könnten sein, dass User nachträglich eingeladen werden oder sich eigenständig an einen bestehenden Termin anhängen können.

Der konkrete Ablauf der Teilnahmezeitänderung muss auch noch betrachtet werden, das ist wieder eine andere Story.

So. Und nun bringst Du noch die Idee der vorzeitigen Anreise ins Spiel. In meinem Vorschlag wäre das keine Warnung, sondern würde von der Plausibilitätsprüfung abgelehnt. Denn damit wechselst Du vom gemeinsamen Termin zum Einzelschicksal und das gehört da nicht hinein; es sei denn, es erfolgt eine GEMEINSAME vorzeitige Anreise. Die wäre dann Teil des Terminzeitraums, dann trifft man sich ja auch irgendwo - und irgendwer kann das dann absagen weil er eigenständig anreist.

Wenn die vorzeitige Anreise individuell erfolgt, sehe ich das nicht als Teil des gemeinsamen Termins, die kann jeder für sich terminieren. Möglicherweise kann das Terminsystem vorsehen, dass man einen Termin als "abhängig von" einem anderen Termin einträgt - die Anreise wäre dann abhängig von der Tagung. Aber auch das ist eine andere Story. Du könntest es auch so machen, dass sich jeder User sich zu seiner Terminteilnahme Zusatzzeiträume eintragen kann (für Anreise, psychologische Einstimmung, nachträgliches Abdampfen, etc). Solltest Du aber nicht tun. Wer für einen gemeinsamen Termin Zusatzzeiten braucht, kann sich dafür einen eigenen Termin eintragen. Je mehr Komplexität, desto mehr Lernaufwand, desto mehr Testaufwand. KISS!

Ich habe fertig...
Rolf

--
sumpsi - posui - clusi