Design Klausurenverwaltung



  • Hallo zusammen.

    Gleich mal vorweg: Es geht nicht darum, dass mir hier irgendwer meine Hausarbeit löst. 😉

    Die Aufgabe besteht darin eine kleine Klausurverwaltung zu schreiben. Soll heißen ich habe eine Klasse Student, eine Klasse Klausur und eine Klasse Verwaltung die sich um das An- und Abmelden von Klausuren, hinzufügen von Studenten, etc kümmert.

    Da ich ein "sauberes" Programm abliefern will, stellt sich mir die Frage ob jeder Student weiß welche Klausuren er angemeldet hat und jede Klausur weiß welche Studenten sich angemeldet haben, oder ob das eher zur Verwaltung gehört.

    Vielen Dank im Voraus.



  • Bei solchen Dingen immer das echte Leben nachbilden:
    Weiß der Student, welche Klausuren er schreibt? - Hoffentlich schon.
    Weiß es die Verwaltung? - Nee, aber kanns nachschauen; in diesem Fall wäre das effizient den Studenten zu fragen.
    Weiß es die Klausur? - Gute Frage. Kommt drauf an, was die Klausur machen soll.



  • Ok, hört sich vernünftig an. Hat mir sehr weitergeholfen.

    Danke 👍



  • Nathan schrieb:

    Bei solchen Dingen immer das echte Leben nachbilden:

    Ne, eben nicht. Das führt nur zu Problemen. Programme sind nicht die Realität und werden deswegen besser nicht so geschrieben.

    MrBrownwait schrieb:

    Die Aufgabe besteht darin eine kleine Klausurverwaltung zu schreiben. Soll heißen ich habe eine Klasse Student, eine Klasse Klausur und eine Klasse Verwaltung die sich um das An- und Abmelden von Klausuren, hinzufügen von Studenten, etc kümmert.

    Da ich ein "sauberes" Programm abliefern will, stellt sich mir die Frage ob jeder Student weiß welche Klausuren er angemeldet hat und jede Klausur weiß welche Studenten sich angemeldet haben, oder ob das eher zur Verwaltung gehört.

    Was soll denn das Programm tun? Solange das nicht beantwortet ist, ergibt es keinen Sinn Klassennamen zu erfinden.



  • Nathan schrieb:

    Bei solchen Dingen immer das echte Leben nachbilden:

    lol, ymmd!



  • Nathan schrieb:

    Bei solchen Dingen immer das echte Leben nachbilden:
    Weiß der Student, welche Klausuren er schreibt? - Hoffentlich schon.

    Ist aber nicht nötig. Der Stundent kanns auch vergessen und jederzeit die Verwaltung befragen.

    Nathan schrieb:

    Weiß es die Verwaltung? - Nee, aber kanns nachschauen; in diesem Fall wäre das effizient den Studenten zu fragen.

    Oder sie hat eigene Karteikästen. Dann bräuchten die Studenten sich weniger zu merken.

    Oder beide wissen es. Aber das führt schnell zu Kuddelmuddel. Doppelte Info-Haltung sollte man besser meiden und nur machen, wenn man sie aus Performance-Gründen braucht.

    Weiß es die Klausur? - Gute Frage. Kommt drauf an, was die Klausur machen soll.

    Naja, stell Dir vor, man würde alle Klausuren in eine dicke Datenbanktabelle stopfen.
    Student,Datum,Fach,Professor,Note
    Dann weiß die Klausur alles. Technisch gesehen kannste auch die Note wissen lassen, welche Klausuren sie ziert, statt andersrum. Aber das wäre ja Quatsch. Insofern ist Nathans Rat gar nicht mal so doof, wie er hier hingestellt wird.

    Natürlich baut man die Realität nicht haargenau nach, sondern nur ein (hoffentlich vereinfachtes) Modell der Realität, zum Beispiel muiß man nicht die Schuhgröße der Studenten mitverwalten, und man nimmt bewußt ein wenig Redundanz heraus, und man schummelt auch mal.



  • volkard schrieb:

    Insofern ist Nathans Rat gar nicht mal so doof, wie er hier hingestellt wird.

    Man kann sich von der Realität inspirieren lassen, aber das letzte Argument spricht Praktibilität und Performance. Ratschläge, dass das Programm ist _immer_ (er sagte "immer") die Realität nachbildet führt zu Konstrukten wie

    class Program : public Realität
    

    und das will keiner.



  • Ich schrieb aber auch "bei solchen Dingen", dh "in diesem Fall".


Anmelden zum Antworten