3.1.3: Aspekt-Typen Scale3/Binary/Points in Raster und Dialog unterstützt
Neue Klasse ParticipationRatingScale (Core) ist die einzige Quelle für Rohwerte je Aspekt-Typ. Scale3/Binary liegen bewusst direkt auf derselben -2..+2-Achse wie Scale5 (nur mit weniger Zwischenschritten), damit die bestehende Gewichtung/Mittelwertbildung zur Mitarbeitsnote unverändert kompatibel bleibt. Points ist grundverschieden (echter Zählwert 0..MaxPoints, neues Feld auf ParticipationAspect) und wird nur zur Aggregation linear auf dieselbe Achse normiert. Ohne diese Normierung hätte ein Punkte-Aspekt die Mitarbeitsnote verfälscht: drei Stellen summierten bisher den Rohwert direkt (ParticipationGradeDialog- ViewModel.Recompute, ParticipationWizardViewModels.WeightedRating und .ComputeSuggestion) - alle drei sind jetzt auf die Normierung umgestellt. Raster: Punkte-Aspekte zeigen ein NumericUpDown statt fester Stufen-Buttons. Schnelleingabe-Dialog: Zifferntasten/+/- sind jetzt typabhängig, Legende zeigt live die für den aktuellen Aspekt gültigen Tasten. Aspekt-Verwaltung um "Max. Punkte"-Feld ergänzt (nur bei Typ "Punkte" sichtbar). Bewusst nicht angefasst: die Trendlinien-Visualisierung im Mitarbeits-Assistenten bleibt fest auf die drei Standardaspekte zugeschnitten - eigener, größerer Umbau. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -177,12 +177,35 @@ Siehe [ParticipationViewModels.cs](LehrerApp.Desktop/ViewModels/Groups/Participa
|
||||
8.1.1, `SortOrder` wird bei jeder Verschiebung sofort und lückenlos gespeichert.
|
||||
**Drag & Drop nicht umgesetzt:** Hoch/Runter deckt die vollständige Bedienung bereits ab,
|
||||
analog zur Drag-Entscheidung bei 4.3.3.
|
||||
- [ ] **3.1.3** Aspekt-Typen `Scale3`, `Binary`, `Points` in Raster und Dialog vollständig unterstützen
|
||||
(bisher primär `Scale5`). **Weiterhin offen:** 3.1.1 macht den Typ zwar anlegbar/speicherbar
|
||||
(`AspectValueTypeDisplay`, ComboBox in der Verwaltung), das Bewertungsraster und der
|
||||
Schnelleingabe-Dialog rendern und interpretieren Eingaben aber weiterhin nach dem
|
||||
Scale5-Schema — ein als `Binary`/`Points`/`Scale3` angelegter Aspekt wird dort noch nicht
|
||||
passend dargestellt. Bewusst getrennt von 3.1.1, da das die Bewertungs-UI selbst betrifft.
|
||||
- [x] **3.1.3** Aspekt-Typen `Scale3`, `Binary`, `Points` in Raster und Dialog vollständig
|
||||
unterstützen (bisher primär `Scale5`) — Nutzer-Nachtrag, damit das Bewertungsfeature mit
|
||||
selbst angelegten Aspekt-Typen produktiv nutzbar wird.
|
||||
**Umsetzung:** Neue statische Klasse `ParticipationRatingScale` (Core) ist die einzige
|
||||
Quelle für Rohwert/Label-Stufen je Typ und für die Normierung zur Aggregation. Bewusste
|
||||
Design-Entscheidung: `Scale3`/`Binary` bekommen **keine eigene Wertemenge**, sondern liegen
|
||||
direkt auf derselben -2..+2-Achse wie `Scale5` (Scale3: -2/0/+2, Binary: -2/+2 für
|
||||
Nein/Ja) — dadurch bleibt die bestehende Gewichtung/Mittelwertbildung zur Mitarbeitsnote
|
||||
(3.2) unverändert kompatibel, ohne pro Bewertung erst umrechnen zu müssen. Nur `Points` ist
|
||||
grundverschieden (ein echter Zählwert 0..`MaxPoints`, neues Feld auf `ParticipationAspect`)
|
||||
und wird ausschließlich zum Aggregationszeitpunkt linear auf dieselbe Achse normiert
|
||||
(`ParticipationRatingScale.Normalize`, 0 → -2, MaxPoints → +2) — dafür mussten die drei
|
||||
Stellen, die bisher `r.Value * gewicht` direkt aufsummierten
|
||||
(`ParticipationGradeDialogViewModel.Recompute`, `ParticipationWizardViewModels.WeightedRating`
|
||||
und `.ComputeSuggestion`), auf die Normierung umgestellt werden; ohne diese Korrektur hätte
|
||||
ein Punkte-Aspekt die Mitarbeitsnote grob verfälscht (z.B. "4 Punkte" als Rohwert weit
|
||||
außerhalb der -2..+2-Skala).
|
||||
Raster (`ParticipationTabView`): Zellen für `Points`-Aspekte sind jetzt ein
|
||||
`NumericUpDown` (0..MaxPoints) statt der fünf Stufen-Buttons, die anderen Typen zeigen die
|
||||
jeweils passende Buttonzahl (2/3/5) aus `ParticipationRatingScale.Steps`.
|
||||
Schnelleingabe-Dialog: Zifferntasten und +/− sind jetzt typabhängig (Scale3: Tasten 1–3,
|
||||
Binary: 1/2, Points: Tasten 0–9 als direkte Zahleneingabe bis `MaxPoints`, sonst Cycling
|
||||
mit +/−); die Tastenkürzel-Legende im Dialog zeigt dafür jetzt dynamisch die für den
|
||||
aktuell gewählten Aspekt gültigen Tasten statt eines festen Textes.
|
||||
Aspekt-Verwaltung (3.1.1) um ein "Max. Punkte"-Feld ergänzt, nur sichtbar bei Typ "Punkte".
|
||||
**Bewusst nicht angefasst:** die spezialisierte Trendlinien-Visualisierung im
|
||||
Mitarbeits-Assistenten (Kapitel 3.2-Erweiterung) ist weiterhin fest auf die drei
|
||||
Standardaspekte (Qualität/Quantität/Arbeitsphase) zugeschnitten — eigene Trendlinien für
|
||||
beliebige, selbst angelegte Aspekte wäre ein eigener, größerer Umbau dieser Ansicht.
|
||||
- [x] **3.1.4** Aspekt deaktivieren statt löschen, damit alte Einträge gültig bleiben.
|
||||
**Umsetzung:** Checkbox "Aktiv" je Zeile in der neuen Verwaltung (3.1.1); die bestehenden
|
||||
Abfragen (`GetByGroup`/`GetDefaults`, für Bewertungsraster und -aggregation) filterten
|
||||
|
||||
Reference in New Issue
Block a user