Hallo (Java)Welt !
Als Vorbereitung bzw. Grundlage für die spätere Programmierung mit Java muss ich ein Klassenmodell (UML) erstellen.
Es geht um eine Prüfungsplanung, bei der ein möglichst kurzer Belegungsplan erstellt werden soll. Studierende können Prüfungen für ihre Kurse buchen (gibt 2 Prüfungsblöcke). Ein Block besteht aus mehreren Tagen. Maximal sollen 3 Kurse an einem Tag geschrieben werden können.
Jetzt soll ein Programm entwickelt werden, das bereit gestellte Eingabelisten (Studenten mit Attributen Matrikelnummer, Wohnort, Studienort (gibt 2 Orte), Präferenz viele Prüfungen an einen Tag oder wenig an einem Tag), (Kurse mit Attribut Kursbezeichnung, Kursnr, erreichte Punktzahl), (Buchungen mit Kursnr, Matrikelnummer, Punkte in Studienbegleietete Zusatzleistung) einlesen kann.
Am Ende soll wie gesagt der "optimale" Prüfungsplan rauskomen (Tag 1 : Klausur BWL, Controlling, Tag 2:...) und es sollen noch Listen erstellt werden können zur Anwesenheit (je Uni, je Prüfungstag), Noten (nach Kurs) und die Zufriedenheit der Studierenden soll im Nachhinein erhoben werden können (ob ihre Präferenz möglichst viel an einem Tag oder möglcihst wenig an einem Tag erfüllt wurde).
Ich habe ein UML Diagramm erstellt.
Das Programm geht über die PrüfungsverwaltungstoolMain los, welches dann auf die GUI und die Prüfungsverwaltungstool zugreift. Das Prüfungsverwaltungstool ist quasi der Dreh- und Angelpunkt, der quasi alles steuert und notwendige Informationen weiterleitet z.B. die eingelesenen Daten bereitstellt für den Prüfungsplanberechnung in der Klasse Prüfungsverwaltung.
Zuerst werden wie gesagt die Listen über die Klasse Datei eingelesen.
Zuerst fehlten die Klassen Studentenverwaltung, Buchungsverwaltung, Kursverwaltung, aber mir wurde gesagt, dass man solche Verwaltungsklassen benötigt...ich kann allerdings nicht genau nachvollziehen warum (mir ist eh nicht so ganz klar, was an den Klassen für spezielle Methoden hängen oder warum man sie unbedingt trennt von der Datenklasse Studenten (- Verwaltungsklasse Studentenverwaltung).
Jedenfalls erstellen die Studentenverwaltung, Kursverwaltung, Buchungsverwaltung dann die einzelnen Klassen für Studenten (mit denen dann Studentenobjekte erzeugt werden....), Kurse, Buchungen....
Nach dem die Daten bereit stehen, wird die Prüfungsplanberechnung angestoßen von Prüfungsverwaltungstool und es wird der optimale Prüfungsplan berechnet. Die Klasse Prüfungstag enthält dann das Produkt die Prüfungstage.
Die Listenverwaltung erzeugt letztlich den Output, das geht wieder über die "Zentrale", über die die Listenverwaltung auch die notwendigen Daten erhält z.B. über Studenten und den Prüfungstag.
Achja Assoziationsbeziehungen z.B. von Buchungen zu Kurs und Student konnten mit dem Programm (BlueJ) nicht dargestellt werden, daher habe ich sie erstmal aussen vor gelassen.
Ich würde mich über Kritik sehr freuen (und wenn Fragen sind zum Verständnis auch gerne stellen!!). Bin für jede konstruktive Antwort dankbar!
Als Vorbereitung bzw. Grundlage für die spätere Programmierung mit Java muss ich ein Klassenmodell (UML) erstellen.
Es geht um eine Prüfungsplanung, bei der ein möglichst kurzer Belegungsplan erstellt werden soll. Studierende können Prüfungen für ihre Kurse buchen (gibt 2 Prüfungsblöcke). Ein Block besteht aus mehreren Tagen. Maximal sollen 3 Kurse an einem Tag geschrieben werden können.
Jetzt soll ein Programm entwickelt werden, das bereit gestellte Eingabelisten (Studenten mit Attributen Matrikelnummer, Wohnort, Studienort (gibt 2 Orte), Präferenz viele Prüfungen an einen Tag oder wenig an einem Tag), (Kurse mit Attribut Kursbezeichnung, Kursnr, erreichte Punktzahl), (Buchungen mit Kursnr, Matrikelnummer, Punkte in Studienbegleietete Zusatzleistung) einlesen kann.
Am Ende soll wie gesagt der "optimale" Prüfungsplan rauskomen (Tag 1 : Klausur BWL, Controlling, Tag 2:...) und es sollen noch Listen erstellt werden können zur Anwesenheit (je Uni, je Prüfungstag), Noten (nach Kurs) und die Zufriedenheit der Studierenden soll im Nachhinein erhoben werden können (ob ihre Präferenz möglichst viel an einem Tag oder möglcihst wenig an einem Tag erfüllt wurde).
Ich habe ein UML Diagramm erstellt.
Das Programm geht über die PrüfungsverwaltungstoolMain los, welches dann auf die GUI und die Prüfungsverwaltungstool zugreift. Das Prüfungsverwaltungstool ist quasi der Dreh- und Angelpunkt, der quasi alles steuert und notwendige Informationen weiterleitet z.B. die eingelesenen Daten bereitstellt für den Prüfungsplanberechnung in der Klasse Prüfungsverwaltung.
Zuerst werden wie gesagt die Listen über die Klasse Datei eingelesen.
Zuerst fehlten die Klassen Studentenverwaltung, Buchungsverwaltung, Kursverwaltung, aber mir wurde gesagt, dass man solche Verwaltungsklassen benötigt...ich kann allerdings nicht genau nachvollziehen warum (mir ist eh nicht so ganz klar, was an den Klassen für spezielle Methoden hängen oder warum man sie unbedingt trennt von der Datenklasse Studenten (- Verwaltungsklasse Studentenverwaltung).
Jedenfalls erstellen die Studentenverwaltung, Kursverwaltung, Buchungsverwaltung dann die einzelnen Klassen für Studenten (mit denen dann Studentenobjekte erzeugt werden....), Kurse, Buchungen....
Nach dem die Daten bereit stehen, wird die Prüfungsplanberechnung angestoßen von Prüfungsverwaltungstool und es wird der optimale Prüfungsplan berechnet. Die Klasse Prüfungstag enthält dann das Produkt die Prüfungstage.
Die Listenverwaltung erzeugt letztlich den Output, das geht wieder über die "Zentrale", über die die Listenverwaltung auch die notwendigen Daten erhält z.B. über Studenten und den Prüfungstag.
Achja Assoziationsbeziehungen z.B. von Buchungen zu Kurs und Student konnten mit dem Programm (BlueJ) nicht dargestellt werden, daher habe ich sie erstmal aussen vor gelassen.
Ich würde mich über Kritik sehr freuen (und wenn Fragen sind zum Verständnis auch gerne stellen!!). Bin für jede konstruktive Antwort dankbar!
Anhänge
Zuletzt bearbeitet: