Ich habe in der Schule als Aufgabe bekommen, eine Notenverwaltungs Programm zu entwickeln. Dies sind die Vorgaben.
[ul]
[li]Die Noten sollen pro Klasse angezeigt werden können
[/li][li]Die Noten sollen pro Student angezeigt werden können
[/li][li]Der Notendurchschnitt soll pro Klasse und Student angezeigt werden können
[/li][li]Die Notenverteilung einer Klasse soll im GUI angezeigt werden können
[/li][li]Eine Note soll jeweils einem Fach und einem Studenten zugeordnet sein
[/li][li]Sämtliche oben erwähnten Objekte sollen erfasst werden können.
[/li][li]Es soll Swing als GUI verwendet werden
[/li][li]Das Verwenden eines GUI‐Builders ist nicht erlaubt
[/li][li]Der Umfang liegt im Bereich von ein paar Klassen
[/li][/ul]
Meine Idee ist dies über das GUI zu verwalten. Die JButtons mit der Funktion: Klasse erstellen, Klasse anzeigen, Noten hinzufügen. Also ein ziemlich simples GUI. Schon seit Stunden bin ich schon dran und habe noch nichts vernünftiges erreicht o_O
Nun wie kann ich solche Projekte mit sehr wenig Erfahrung am besten angehen und was benötige ich dafür? Gibt es schon ähnliche Projekte mit Tutorials?
Im Anhang noch ein Fluss und UML Diagramm, wie ich es mir ungefähr vorstelle.
Model und GUI sollten getrennt sein, das Model sollte von der GUI nichts “wissen”. Eine wichtige Frage wäre, ob (und wie) die Daten auch gespeichert werden müssen.
[quote=bligher]Der Umfang liegt im Bereich von ein paar Klassen[/quote]Solche Aussagen sind gefährlich, man neigt schnell dazu die Anzahl der benötigten Klassen zu unterschätzen. In de objektorientierten Programmierung gilt nämlich der Grundsatz “Im Zweifel darf 's gern 'ne Klasse mehr sein…”
Gerade im GUI Bereich entstehen gerne viele Klassen, in der Regel als Implementierungen irgendwelcher Interfaces. Die kann man dann oft als anonyme Klassen in einer Datei halten, wenn die aber selbst mehr als 3 Zeilen Code haben sollten man drüber nachdenken, die als “Top-Level”-Klassen in eigene Dateien auszulagern.
[quote=bligher]Für den Anfang müssen die Daten nicht dauernd gespeichert werden. Das heisst nach dem schliessen müssen sie nicht mehr vorhanden sein.[/quote]Das heißt aber auf der anderen Seite auch, dass es eine Eingabe (wo möglich) über die GUI geben muss…