Erste Schritte UML Klassendiagramm einen Prüfungsplan erstellen

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!
 

Anhänge

  • UMLPrüfungsverwaltung.jpg
    UMLPrüfungsverwaltung.jpg
    106,6 KB · Aufrufe: 147
Zuletzt bearbeitet:

rme

Top Contributor
Hallo,

die Aufgabe ist mir gerade etwas zu umfangreich, um mich da reinzudenken, aber ein paar Kleinigkeiten fallen mir trotzdem auf:

* Klassennamen verwenden manchmal Umlaute, manchmal nicht (PruefungsTag, PrüfungsVerwaltungsToolMail)

* Methoden- und Attribute fehlen

* Vererbungs- und Implementierungspfeile fehlen (Vererbung benutzt man selten, aber Interfaces normalerweise schon)

* einige Abhängigkeiten sind mir unklar: Ist aus einer Anwesenheitsliste z.B. nicht ersichtlich, welcher Student anwesend war, ohne dass man über das Hauptprogramm geht, was eigentlich nur die Steuerung übernehmen soll? So sieht das unnötig komplex aus.

Insgesamt sieht das für mich eher wie eine grobe Planung aus, ein Klassendiagramm ist das eher nicht, finde ich.
 
Vielen Dank schon mal für eine brauchbare erste Rückmeldung.

ja sorry die Bezeichnungen hatte ich gerade verändert- Ü soll natürlich UE sein.


Ich habe die Methoden und Attribute in Excel hinterlegt, da ich sie mit der Entwicklungsumgebung nicht darstellen konnte in dem Klassendiagramm (die werden aber nachher in den Klassen hinterlegt) - das muss auch noch schön gemacht werden Attribute alle kleinbezeichnet usw. - mir ging es erstmal um den Inhalt.


Wie gesagt, die Beziehungen Assoziation konnte ich jetzt auch nicht darstellen. Das sind nur die Beziehung z.B. Studentenverwaltung greift auf Methoden von Datei zu und z.B. Prüfungsverwaltungstool greift auf Studentenverwaltung zu.
 

Anhänge

  • UML (Attribute, MEthoden).pdf
    83,4 KB · Aufrufe: 43

rme

Top Contributor
Ah, mit der PDF-Datei ergibt das ein bisschen mehr Sinn :) Die Verwaltungsklassen sollen also die Sammlungen der Objekte sein, also die Studentenverwaltung speichert vermutlich alle Studenten usw.

Warum werden die Stunden über Strings verwaltet? Also sowohl die Verwaltung als auch die Notenliste benutzt einen Parameter Teilnehmer vom Typ String - warum nicht vom Typ Student? Wenn es ein String ist, muss ja erst wieder die Studentenverwaltung von der Notenliste befragt werden, welcher Student gemeint ist. Und man handelt sich diverse Probleme ein, wenn ein Student seinen Namen ändert (bei uns haben einige während des Studiums geheiratet) oder Namen doppelt vorhanden sind (ich habe mal eine Übung geleitet, in der zwei Studenten den identischen Namen Li Zhang hatten).

Bei einer Datenbank hätte man sowas wie einen Primärschlüssel. In Java kann man doch einfach die Objekte nehmen, oder nicht?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Fragen zu einem Klassendiagramm Java Basics - Anfänger-Themen 8
dennis_lnz Klassen Wie kann ich mein Java Textadventure verbessern, um ein Klassendiagramm zu erstellen? Java Basics - Anfänger-Themen 9
B Objekt in Klassendiagramm an fremdes Objekt weiterreichen? Java Basics - Anfänger-Themen 6
S UML Klassendiagramm umsetzen Java Basics - Anfänger-Themen 10
J Klassendiagramm: unique Java Basics - Anfänger-Themen 4
J Frage zu OOP-Klassendiagramm Java Basics - Anfänger-Themen 8
B fragen zu Aufbau eines UML-Klassendiagramm Java Basics - Anfänger-Themen 1
T Klassendiagramm in Java überführen Java Basics - Anfänger-Themen 2
D Klassen Klassendiagramm richtig erstellen Java Basics - Anfänger-Themen 20
B Klassendiagramm erklären Java Basics - Anfänger-Themen 3
C Klassendiagramm aus Java-Code entwickeln Java Basics - Anfänger-Themen 3
M UML-Klassendiagramm ArrayList Java Basics - Anfänger-Themen 1
X UML Klassendiagramm, UML Notation Java Basics - Anfänger-Themen 2
CptK Best Practice Klassendiagramm aus fertigen Klassen erstellen lassen Java Basics - Anfänger-Themen 2
J UML - Klassendiagramm Java Basics - Anfänger-Themen 8
M Klassen Klassendiagramm - Hilfe benötigt Java Basics - Anfänger-Themen 0
K Klassendiagramm UML Java Basics - Anfänger-Themen 12
S Klassen Klassendiagramm Implementierung? Java Basics - Anfänger-Themen 5
A Klassen UML Klassendiagramm Java Basics - Anfänger-Themen 5
N Modellierung eines Programms in UML (Klassendiagramm) Java Basics - Anfänger-Themen 2
U klassendiagramm Java Basics - Anfänger-Themen 2
L UML Klassendiagramm Java Basics - Anfänger-Themen 8
Beckenbauer Eine anstehende (sehr simple) Applikation in UML darstellen (Klassendiagramm) Java Basics - Anfänger-Themen 20
M UML Klassendiagramm Java Basics - Anfänger-Themen 2
S Klassendiagramm - nur eigene Klassen? Java Basics - Anfänger-Themen 3
D Klassendiagramm Java Basics - Anfänger-Themen 4
M Klassendiagramm in Netbeans Java Basics - Anfänger-Themen 7
G UML-Klassendiagramm bitte prüfen! Java Basics - Anfänger-Themen 26
C UML Klassendiagramm erläutern! Java Basics - Anfänger-Themen 8
G dringende frage zu klassen und methoden ( klassendiagramm) Java Basics - Anfänger-Themen 19
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
S Timer vs ExecutorService: jeden Sonntag um 14.00 Uhr einen Task starten..? Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
X wie bekomme ich durch Eingabeaufforderung definierte double in einen Befehl, welcher 3 erwartete double braucht? Java Basics - Anfänger-Themen 3
P Gibt es einen anderen Weg um "{}" in IntelliJ zu schreiben? Java Basics - Anfänger-Themen 5
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
F Hat es noch einen Sinn, alte Versionen zu lernen Java Basics - Anfänger-Themen 45
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
N Kann man einen Iterator nur einmal verwenden Java Basics - Anfänger-Themen 5
M Kommandozeilenparamter als EINEN String werten Java Basics - Anfänger-Themen 5
FireHorses Einen Command erst nach einer Chateingabe aktivieren Java Basics - Anfänger-Themen 1
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
berserkerdq2 Brauche ich while != -1, wenn ich immer einen BufferedReader verwende? Java Basics - Anfänger-Themen 8
berserkerdq2 Habe ein Spiel entwickelt, dass immer in der 4 Runde einen cast-Fehler erhält Java Basics - Anfänger-Themen 3
N Gibt es hierfür einen Shortcut Java Basics - Anfänger-Themen 5
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17
K Wie verneine ich einen Regex? Java Basics - Anfänger-Themen 2
berserkerdq2 Wie würde man einen regulären Ausdruck in Java schreiben, der prüft, dass zwei bestimtme Zahlen nicht nebeneinadner sind? Java Basics - Anfänger-Themen 3
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
O Ich habe einen String und soll mit matches schauen, ob ein Buchstabe zu einer geraden ANzahl im String vorkommt, wie soll das gehen? Java Basics - Anfänger-Themen 7
O Ich ahbe einen char und diesen soll ich bei .matches prüfen, also ob der char in meiner Zeichenkette vorhanden ist, wie mache ich das? Java Basics - Anfänger-Themen 9
W Unterschiede bei Zugriff auf Objekt und Klassenvariablen über einen Getter? Java Basics - Anfänger-Themen 2
D Einen boolischen Wert aus einer Methode in einer anderen Klasse aufrufen? Java Basics - Anfänger-Themen 11
C Potenzberechnung über switch case. Taschenrechner mit Eingabe über einen grafischen Dialog Java Basics - Anfänger-Themen 22
Poppigescorn Mithilfe einer Arrayliste einen Notenspiegel ausgeben Java Basics - Anfänger-Themen 12
J Eintrag Combobox über einen String auswählen Java Basics - Anfänger-Themen 3
L GUI- wie cancel ich einen Timer? Java Basics - Anfänger-Themen 10
S Aus verschachtelter ArrayList auf einen Wert zugreifen Java Basics - Anfänger-Themen 4
LetsSebi Methode, die einen arry von objekten speichert in einer datei Java Basics - Anfänger-Themen 6
Devin Wo kann man einen Java Lehrplan finden? Java Basics - Anfänger-Themen 5
J Ist es möglich einen int Array wirklich leer zu initialisieren oder zu füllen? Java Basics - Anfänger-Themen 21
P Welche Zeile in Tadople gibt einen compiler error? Java Basics - Anfänger-Themen 5
S First Time Mave: Wie ergänze ich einen Source-Folder? Java Basics - Anfänger-Themen 10
M Pfadprobleme - Zugriff auf einen Ordner im Workspace Java Basics - Anfänger-Themen 17
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
P Methode die eigentlich einen Scanner benötigt mit toString() Java Basics - Anfänger-Themen 5
S Erste Schritte Button einen Wert zuweisen & diesen ausgeben Java Basics - Anfänger-Themen 2
M Auf einen Array innerhalb eines Objekts zugreifen Java Basics - Anfänger-Themen 5
V_Fynn03 Erste Schritte Einen Wert in ein TextField einfügen aus einer anderen Klasse Java Basics - Anfänger-Themen 3
J Hat jemand einen Lösungsansatz für diese Aufgabe? Java Basics - Anfänger-Themen 1
F Hilfe für einen Anfänger! Java Basics - Anfänger-Themen 4
O Ziehen im Array um einen Schritt in eine einzige beliebige Richtung Java Basics - Anfänger-Themen 5
N Wie kann ich einen String wieder zusammensetzen und ausgeben lassen? Java Basics - Anfänger-Themen 9
T Fehlermeldung beim Versuch, einen String einzulesen Java Basics - Anfänger-Themen 4
J Wie kann ich z.B. einem int-Wert einen String-Wert zuweisen? Java Basics - Anfänger-Themen 2
steven789hjk543 Kann man mit Java und Eclipse einen Virus programmieren? Java Basics - Anfänger-Themen 13
D Eingabe einscannen, ohne vorher einen Datentypen anzugeben? Java Basics - Anfänger-Themen 1
T Einen Stern malen Java Basics - Anfänger-Themen 32
T Einen Stern malen Java Basics - Anfänger-Themen 2
L Files verschieben in einen Ordner Java Basics - Anfänger-Themen 87
A Mit JComboBox Ergebnis einen Integer aus einer anderen Klasse aufrufen. Java Basics - Anfänger-Themen 2
J Mit for Schleife einen String Rückwärts befüllen Java Basics - Anfänger-Themen 9
J Einen Buttonklick in Label anzeigen Java Basics - Anfänger-Themen 6
S Gibt es einen guten kostenlosen Online-kurs Java Basics - Anfänger-Themen 2
W Wie programmiere ich einen Potenzrechner? Java Basics - Anfänger-Themen 5
B ArrayList besitzt einen Wert zu wenig Java Basics - Anfänger-Themen 16
B Prüfen, ob es schon einen Termin gibt in einem Zeitraum Java Basics - Anfänger-Themen 5
B Wie instanzisiert man einen Cursor richtig? Java Basics - Anfänger-Themen 3
S Interface (WindowBuilder) Panels in einen Frame einfügen Java Basics - Anfänger-Themen 10
J Aufruf einer Methode über einen String Java Basics - Anfänger-Themen 11
C Wie erstellt man einen Timer/Delay? Java Basics - Anfänger-Themen 1
C Wie kann ich einen User Input mit einer If-Anweisung verbinden? Java Basics - Anfänger-Themen 5
J Guten tag, Ich hoffe ihr habt einen schönen Sonntag und könnt mir helfen Java Basics - Anfänger-Themen 2
D Methoden 2 TextWatcher auf einen EditText Java Basics - Anfänger-Themen 4
I Datentypen input.nextCharAt(0) wirft einen Fehler Java Basics - Anfänger-Themen 3
C In einer Methode einen Array zurückgeben Java Basics - Anfänger-Themen 2
S Bestehendes Java Programm, einen festen Wert ändern Java Basics - Anfänger-Themen 17
F Variablen If else: Einer Variable einen Wert hinzufügen oder so? Java Basics - Anfänger-Themen 6
R Übergeben eines Array Strings an einen Spinner Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben