Die OCLs bitte auch beschreiben. So ist mir bei einigen nicht ganz klar was gemeint ist.
Beispiel:
context CStatusWuerfel::klickWuerfel(void):void
pre DiceIt: CWuerfeln::Wuerfeln >= 0
Was ist "CWuerfeln::Wuerfeln" ? Eine static Membervariable von CWuerfeln ? Dort gibt es nur die Methode "Wurf",
und die ändert den Zustand des Objekts (also für OCL ungeeignet !).
Scheinbar fehlerhaftes Verständis der Syntax: "::" nur zum Zugriff auf static Variablen/Methoden einer Klasse.
CStatusWuerfeln:klickFeld: Was meint ihr mit "CFormView::OnMouse > 0" ? Doch nicht etwa ein Aufrufen des Eventhandlers ?
In der OCL dürfen keine Methoden aufgerufen werden die den Zustand ändern. In Post Conditions NUR
den Zustand des Objekts nach dem Aufruf beschreiben.
CStatusZugAusfuehren::klickFeld: eine Invariant gibt es nicht bei Methoden.