1. Pachisi-Abgabe (Use-Cases, Domänenklassen)
Auf diese Abgabe gibt es maximal 20 Punkte.
Häufige Kritikpunkte
- Entgegen meiner ersten Aussagen scheint es "instanceof" bei Use-Cases nicht als offiziellen
UML2-Operator zu geben, also schnell wieder vergessen.
- Beschreibung des Klassendiagramms: auch wenn es wie Doppel-Arbeit klingt: hier gehört
bei jeder Klasse beschrieben, welche Teile des Use-Case-Diagramms hier eine Rolle spielen.
Im Prinzip muss also die Beschreibung der Spiellogik in Grundzügen auch hier auftauchen (vor
allem bei den Spielfeldern)
- Vor-/Nachbedingungen in Use-Cases !
- Im Klassendiagramm fehlen die Klassen für Zustandsautomat.
Gruppe A (146 006, 845 927, 546 873, 246 016)
- Use Case: Perfekt, Referenz !
- Klassendiagramm: Eure Aggregation ist falsch herum gezeichnet. Beispiel "Team" zu "Spieler":
Ein Team besteht aus Spielern, die Raute also ans Team.
- Klassendiagramm: Warum muss CSpieler ein Burgfeld kennen ? (ist wohl die "Zielburg",
diese Info fehlt hier).
- Klassendiagramm: mehr von der Spiellogik reinpacken
- Zustandsdiagramm: Der Endzustand "Gewonnen" fehlt.
- Zustandsdiagramm: Mehr von den Spielregeln in die Beschreibung bringen.
Fazit: In Klassendiagramm und Zustandsdiagramm hätte der Bezug auf Spielregeln besser sein können.
Sonst gut. 18/20 Punkte
Gruppe B (143 376, 843 365, 643 402)
- Use-Case: Was ist mit dem Fall "Spiel erstellen" (Spielernamen eingeben, Farben und Team wählen) ?
Die rudimentäre Beschreibung des Reihenfolge-Ermittelns in "Spielzug" ist hier fehl am Platz.
- Use-Case: "Figur ziehen", Sonderfall 2: wieso 4 Zielfelder ? Wenn das eine Definition der Regeln ist,
dann dies irgendwo beschreiben.
- Use-Case: Was ist mit dem Grace bzw. wie bringt man Steine ins Spiel ? Der Fall wird nirgends explizit
beschrieben, nur am Rande erwähnt
- Use-Case: Was ist mit Vor-/Nachbedingungen ?
- Ablaufdiagramm: der Fall "Zug durchführen" hätte auch hier mit den möglichen Varianten beschrieben werden müssen
(schlagen, "normales" Feld erreichen, Zielfeld, Zielgerade). Der Zustand "Gewinnen" als
Endzustand des Diagramms fehlt.
- Klassendiagramm: CWürfeln detaillierter beschreiben: was versteht man unter "Würfeln" ?
- Klassendiagramm: Klasse CFeld ist entschieden zu knapp beschrieben. Was ist ein Feld ?
Was hat es für Beziehungen zu Spieler/Spielfigur ? Welche Regeln gelten für CSpielfigur, damit eine
Figur auf das Feld ziehen kann ? Die abgeleiteten Klassen sind ebenfalls viel zu knapp beschrieben
- Klassendiagramm: Was ist mit den Klassen für den Zustands-Automaten ?
Fazit: Use-Case-Diagramm hätte ausführlicher sein können. Klassendiagramm ist viel zu knapp beschrieben. 14/20 Punkte
Gruppe C (546 881, 944 689, 946 665)
- Bitte beim nächsten Mal nur ein einziges Dokument statt eines Bündels von 5 Dateien abgeben.
- Use-Cases: "Startspieler festlegen", Zitat: "Der Spielleiter läßt die Spieler der Reihe nach würfeln".
Sollte das nicht automatisch geschehen ? Oder fordert der Spielleiter die Spieler manuell auf, zu würfeln ?
Beschreibung nicht eindeutig.
- Use-Cases: "2.6 Würfeln": Hier hättet ihr die Tabelle mit den Würfelergebnissen ruhig abschreiben können.
Querverweise in Dokus sind nicht gut, wer blättert schon gerne.
- Use-cases: "2.7 Spielzug ausführen": "bubaben, bubaben, bubaben..." hat in einer Doku nichts zu suchen.
Hier hätten die Regeln außerdem nochmal detailliert beschrieben werden müssen (wann darf wohin gezogen werden ?)
- Use-Cases: Eure "include"/"extend"-Beziehungen tauchen in der Beschreibung nirgends auf. Die Use-Cases
werden so beschrieben als gäbe es nichts außerhalb.
- Use-Case: Was ist mit Vor-/Nachbedingungen ?
- Konzept Benutzeroberfläche: Schönes Bild. Aber ein paar Zeilen Text zusätzlich hätten mir
wahrscheinlich mehr gesagt.
- Zustandsdiagramm: Beschreibung der Zustände selbst fehlt.
- Zustandsdiagramm: Ist "Zug übergeben" wirklich ein Zustand oder nur eine Option, die man
in "Würfeln" und "Zug durchführen" hat ?
- Zustandsdiagramm: Was ist mit dem Zustand "Spiel gewinnen" ?
- Klassendiagramm: Warum ein Feld einen Vorgänger/Nachfolger haben muss geht aus eurer Beschreibung nicht hervor.
- Klassendiagramm: "Klasse Burg: Hier darf nicht geworfen werden" ???? Ihr meint "Geschlagen" ?
- Klassendiagramm: "Klasse Zielgerade: Implementierungsabhängig" Was meint ihr denn damit ?
- Klassendiagramm: Bei den Feldklassen fehlt die Verbindung der Klasse zur Spiellogik: welche
Use-Cases/Spielregeln betreffen diese Klasse ?
Fazit: Use-Case-Diagramm: Spielregeln sind zu knapp beschrieben. Klassendiagramm viel zu knapp. 14/20 Punkte
Gruppe D (243 408, 340 037, 137 236, 835 794)
- Reihenfolge: Use Cases gehören VOR das Klassendiagramm.
- Use-Case: Beschreibung der Aktoren fehlt (auch wenn es hier nur einen gibt)
- Use-Case: Warum ist "Wurf berechnen" ein "include" von "Würfeln"? Es gibt keine Beschreibung
dieses includes.
- Use-Case: "Neues Spiel": Wie werden Namen eingegeben, Teams gebildet und Farben vergeben ?
- Use-Case: "Stein setzen" ist gut beschrieben !
- Use-Case: Dokumentation der Use-Case-Beziehungen (vor allem der reichlichen includes) fehlt.
- Use-Case: Was ist mit Vor-/Nachbedingungen ?
- Zustandsdiagramm fehlt komplett.
- Klassendiagramm: Pfeile an Assoziationen ?
- Klassendiagramm: Membervariablen wie "6 Muscheln" sind nicht allzu schön.
- Klassendiagramm: Was sollen "6 Muscheln" eigentlich sein ? Ist "Muschel" bei euch eine Klasse ?
- Klassendiagramm: Spielbrett: Warum für die Zielgeraden eine doppelt verkettete Liste ?
Hier läßt die Doku Fragen offen.
- Klassendiagramm: Feld: Was ist ein Feld genau ? Was hat es für eine Bedeutung für die Spiellogik ?
Hier hätten die Teile aus der Use-Case-Beschreibung reingehört, in denen diese Klasse eine Rolle spielt.
XY-Koordinaten: das Feld gehört ins Datenmodell, d.h. darf eigentlich nicht wissen wo auf dem
Bildschirm es steckt. Wenn schon müssen das logische Korrdinaten sein.
- Klassendiagramm: Wozu die "Nachfolger"-Verpointerung in den Feldern ? Hier läßt die Doku Fragen offen.
- Klassendiagramm: Was ist mit den Klassen für den Zustands-Automaten (den es bei euch nicht gibt) ?
Fazit: Use-Cases teilweise sehr gut, teilweise mager. Klassendiagramm ein bißchen knapp.
Zustandsdiagramm fehlt. 13/20 Punkte
Update 29.05.2005: Ihr habt mir am 23.05.2005 zwar das Zustandsdiagramm gegeben, die versprochene Doku aber nicht
zugemailt. Deshalb keine weiteren Punkte.
Version 1.0.0.2, Stand 29.05.2005
Historie:
1.0.0.0 (17.05.2005): Erstellt
1.0.0.1 (23.05.2005): Gruppe C: falsche Matrikelnummer 141 772 entfernt. Gruppe D: 835 794 zugefügt.
1.0.0.2 (29.05.2005): Gruppe D: Kommentar zu nicht geliefertem Zustandsdiagramm