Berücksichtigen, ob eine Ausarbeitung gerade vorliegt
Aktuell wird nicht gespeichert, ob die kontrollierte Ausarbeitung einer Gruppe schon wieder zurückgegeben wurde, bzw. die Nachbesserung wieder abgegeben wurde. D.h. aktuell sieht die Speicherung so aus, wobei R = rework_required und A = accepted:
R | A | |
---|---|---|
- | - | Ausarbeitung ausstehend |
0 | 0 | Ausarbeitung abgegeben |
0 | 1 | Ausarbeitung akzeptiert |
1 | 0 | Nachbesserung nötig |
1 | 1 | Nachbesserung akzeptiert |
Man könnte nun die Tabelle z.B. um ein weiteres boolean H = handed_in erweitern:
H | R | A | |
---|---|---|---|
- | - | - | Ausarbeitung ausstehend |
0 | 0 | 0 | Ausarbeitung ausstehend |
0 | 0 | 1 | Ausarbeitung akzeptiert |
0 | 1 | 0 | Nachbesserung ausstehend |
0 | 1 | 1 | Nachbesserung akzeptiert |
1 | 0 | 0 | Ausarbeitung abgegeben |
1 | 0 | 1 | Ausarbeitung korrigiert |
1 | 1 | 0 | Nachbesserung nötig oder Nachbesserung abgegeben |
1 | 1 | 1 | Nachbesserung korrigiert |
Ein zusätzlicher Vorteil wäre, dass ein nicht existenter Eintrag gleichbedeutend mit einem Eintrag (0,0,0) wäre, man also hier keine Sonderbehandlung mehr braucht. Es bleibt aber (neben der erhöhten Komplexität) ein Nachteil: Es wird weiterhin nicht unterschieden zwischen dem Fall "Ausarbeitung korrigiert, Nachbesserung nötig, aber noch nicht zurückgegeben" und "Nachbesserung abgegeben, aber noch nicht korrigiert". Möglicherweise gibt es hier noch eine bessere Variante?