Streng genommen kommt das darauf an, nach welchem Prinzip man entwickelt.
Scrum z.B. sieht explizit vor, dass man in jeder Iteration der Entwicklung Modelle und Code präzisiert/verändert/anpasst.
RUP (rational unified process) dagegen will von Anfang an möglichst vollstaändig und präzise sein, wenn ich mich recht an die Vorlesung erinnere.
(Es gibt noch einige weitere Vorgehensweisen, alle sind eigentlich abhängig von der Projektgröße)
Ganz pragmatisch würde ich antworten: Schreibe soviel hinein, dass du (oder andere) alle Zuständigkeiten einer Klasse klar umreissen kannst. Dabei sind Assoziationen auf jeden Fall wichtiger, als zB private Member und Methoden, da das dann sicher auch Geschmackssache des Entwicklers ist.