Klassendiagramm einer Schule

alexej.lvov

Mitglied
Hallo Leute,

ich möchte ein Programm für eine Freizeit Schule schreiben um alles drin per Browser verwalten zu können. Server habe ich mir Tomcat überlegt und DB ist postgreSQL.

Ich habe hier eine Klassendiagramm dazu gemacht und will wiessen was ihr dazu meint:
siehe Anhang

Beziehung 1 [1 zu n]: Person hat kein od. mehrere Kinder. Komposition, da ohne Person kein Kind
Beziehung 2 [m zu n]:Gruppe(z.B. Gruppe 4 bis 5 Jahre) hat Kinder, Assoziation, da ohne Gruppe die Kinder sind noch da. Oder doch komposition????
Bez. 3 [1 zu n](m zu n auf dem Bild ist falsch): Kurs hat mehrere Gruppen, eine Gruppe het nur ein Kurs. Komposition, da ohne Kurs die Gruppe ist auch weg.
Bez. 4 [m zu n]: Lehrer(erbst von Person) hat mehrere Kurse, Kurs kann von mehreren Lehre geleitet werden. Kurs kann auch ohne Lehrer existieren, bis ersatzt gefunden wird
Bez. 5 [1 zu 1]. Person hat ein Bankkonto. Komposition, da ohne Person kein Konto
bez. 6 [1 zu 1]: Person hat Kontaktdaten. Komposition, da ohne person kein Kontakt

Ich weiß es ist einwenig viel auf ein mal und vlt. viel falsch, aber ich brauche eine Meinung. Später soll die Funktionalität erweitert werden. Dazu kommt Zahlung von Monats und Jahresbeitrag.

Danke im Voraus

Grüße

Alexej
 

Anhänge

  • Schule.jpg
    Schule.jpg
    39,8 KB · Aufrufe: 128
Zuletzt bearbeitet:

alexej.lvov

Mitglied
Zahlen haben keine großen Bedeutung. Ich wollte nur die Beziehungen beschreiben und dazu zahlen genommen.

Warum das Kind von person nicht erbt? Ist eine gute Frage. Ich wusste halt nicht genau wie ich das machen soll. Eigentlich gehört das Kind einer Person.Person ist in dem Fall so was wie Betruer, Eltern.
Ruzmanz, wie würdest du denn das machen?
 

Ruzmanz

Top Contributor
Erlich gesagt finde ich das gesamte Diagramm nicht so toll. Ein UML Klassendiagramm ist idiotensicher:


Erstmal sind da so kleine Kästchen im Bild, die mit UML gar nichts zu tun haben und diese treffen auch keine Aussage, oder? Ist zwar schön anzusehen, aber ich habe mich die ganze Zeit nur gefragt: "Was will uns der Autor damit sagen?". Wenn das Programm XY keine Klassendiagramme darstellen kann, dann sollte man es auch nicht verwenden.

Dann sind vor 3 Attribute ein "#", was bedeutet, dass sie eine Sichtbarkeit von default haben. Die anderen haben nichts davor stehen. Was wiederum bedeutet, dass sie auch eine Sichtbarkeit von Default besitzen. Jetzt muss sich jeder fragen, warum das so ist? Es MUSS einen Grund geben, warum 3 Attribute gekennzeichnet sind und bei denen das weggelassen wurde.

Zahlen haben keine großen Bedeutung. Ich wollte nur die Beziehungen beschreiben und dazu zahlen genommen.

1. Keine Bedeutung = RAUS. Entweder es ist relevat oder nicht. Genau so könntest du ergänzen, dass ein Kind hunrig sein kann. Zwar nützlich aber würde es dir helfen?
2. Die Diagramme sind normal für andere gedacht. Ich weis was ich tue und warum. Wenn du dir etwas dabei denkst und es mir nicht mitteilst, dann werde ich daraus nicht schlau. Übertrage ich deine Zahlen auf den Alltag, dann habe ich und meine Freunin die Beziehung Vier. (Ich hoffe, dass ich meine Freundin nicht beleidigt habe, aber ich habe sowas von keinen Plan, was die Beziehung vier ist. Kannst mich bei Gelegenheit aufklären.)

Zudem kenne ich den Standard mit "src" und "dst" nicht. Ein Kind kann die Rolle des "Sklaven" haben oder "Hilfskraft". dann schreibe ich in meinen Sourcecode:

Java:
    Kind sklave;
    Kind hilfskraft;

Aber sowohl in UML als auch in Java ist folgende Aussage. Fragwürdig:

Java:
    Kind src;

Und das nicht möglich:

Java:
    Person src;
    Group src;

Kleinigkeit, aber auch Fragwürdig: Was für eine Klasse ist ELong? Und warum ist id vom Typ ELong.

Warum das Kind von person nicht erbt? Ist eine gute Frage. Ich wusste halt nicht genau wie ich das machen soll.

Das kommt von deinem Wirwar. Erstmal hat EIN Kind mindestens EINEN Erziehungsberechtigten. Dann würde man anstatt "dst" -> "- kind" und anstatt "src" würde man " erziehungsberechtigter" schreiben. Kann ein Kind ohne Erziehungsberechtigten leben? Rechtlich gesehen nein, aber pratisch gesehen ja. Also ist da weder eine Komposition noch Aggregation. Dann wird der enum "Status" überflüssig.

Kann es Gruppen ohne Kinder geben? Kann es Kurse ohne Gruppen geben? Kann es Kurse ohne Lehrer geben? Alles möglich, aber anstatt sich nur auf Aggregation und Komposition zu stürzen, sollte man auch die Multiplizitäten im Auge behalten.

Deine Beschreibung ist zwar nett, aber dort gibt es keine Person mit einem Konto. Es gibt eine Bank mit einem Besitzer, aber warum nun das gebraucht werden könnte lässt sich im entferntesten nicht erschließen.

Ziat Wikipedia:
Die Komposition (composite aggregation oder composition) als Sonderfall der Aggregation beschreibt die Beziehung zwischen einem Ganzen und seinen Teilen. Der Unterschied zur Aggregation ist im Kern, dass die Existenz des Teil-Objektes durch die des übergeordneten Objektes bedingt ist.

Ein Teil kann immer nur genau einem Ganzen zugeordnet sein. So kann z. B. ein Raum immer nur zu genau einem Gebäude gehören, nie zu keinem oder mehreren.

Trifft die Definiton auf dein Diagramm zu. Ich glaube eher nicht.

Es ist sehr positiv UML zu benutzen. Meistens ist es einfacher, wenn man nicht alle Elemente benutzt. Denn wer weniger hat, der kann auch nicht so viele Fehler machen. Zuletzt wollte ich noch sagen, dass du unbedingt nochmal über ein Buch schauen solltest :rtfm: Bei Fragen einfach melden, ich habe das jetzt nur mal Kreuz und Quer aufgefasst.
 
Zuletzt bearbeitet:

Final_Striker

Top Contributor
1. Entweder machst du die Namen komplett auf Englisch oder komplett auf Deutsch, eine Mischung aus beiden ist noch so toll.

2. Die Beziehungen sinnvoll benennen oder gar nichts, Zahlen sind unnötig und verwirren nur.

3. Das mit dem Child - Group - Kurs verstehe ich nicht

4. Von Person würde ich 3 Klassen ableiten, Lehrer, Schüler und Betreuer. Dann kann man die Abhängigkeiten deutlicher darstellen.

5. Aus Kontakt vllt. Adresse machen^^
 

alexej.lvov

Mitglied
Ruzmanz, Final_Striker,
danke euch für die konstruktive Kommentare.
Das es so viele sein wird habe ich nicht erwartet.
Ich werde in der nächste Zeit versuchen eure Empfehlungen umzusetzen.

ich habe so gut wie keinen Erfahrung mit UML und Softwareentwicklung. Solchen Dinge wie kleine Kästchen und unbekante Bezeichnungen habe ich nicht so viel Wert gegeben. Ich gebe aber zu, dass sie da nichts zu suchen haben.

Mit UML wollte ich einwenig Struktur schaffen. Damit ich es besser in meinem Kopf vorstellen kann. Ich werde mich wahrscheinlich an den Tip von Ruzmanz halten und das ganze einfacher halten, damit ich den Überblick nicht verliere und wenige Fehler mache. Später kann man es ausbauen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R UML Klassendiagramm Allgemeine Java-Themen 2
L Wie genau soll ein Klassendiagramm sein Allgemeine Java-Themen 4
D Klassen UML Klassendiagramm Modellierungsfrage Allgemeine Java-Themen 9
A Klassendiagramm und Umsetzung (Einkaufsliste) Allgemeine Java-Themen 6
M Problem mit UML-Klassendiagramm Allgemeine Java-Themen 4
F Klassendiagramm / UML Diagramm automatisch erstellen Allgemeine Java-Themen 3
L aus Quellcodes Klassendiagramm erstellen Allgemeine Java-Themen 14
T Klassendiagramm aus vorhandenem Code Allgemeine Java-Themen 4
G Klassendiagramm Allgemeine Java-Themen 2
M Problem mit dem Lesen einer projektinternen .csv aus der runnable JAR Allgemeine Java-Themen 3
P Verschiedene Aspekte einer idempotent API verstehen? Allgemeine Java-Themen 16
Zrebna Ausführung einer Testmethode in der IDE erfolgreich - failt aber via 'mvn test' Allgemeine Java-Themen 5
S Interpreter-Fehler Kann mir das mal einer erklären? Allgemeine Java-Themen 12
Zrebna Aus einer jar-Datei eine exe-Datei erzeugen lassen Allgemeine Java-Themen 37
O Text aus einer Textdatei rausholen, der zwischen zwei Schlüsselworten steht Allgemeine Java-Themen 4
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
M Methodenübersicht einer Klasse einsehen Allgemeine Java-Themen 14
T JNA, Aufruf der Funktionen einer dll Allgemeine Java-Themen 5
I Vom Monolith zu Services in einer Webseite Allgemeine Java-Themen 1
W Variable Initialisierung mit dem Ergebnis einer Regex Allgemeine Java-Themen 1
O Werte einer Generic LinkedList zusammenrechenen Allgemeine Java-Themen 14
C Sortieren und Selektieren einer ArrayList<Point3D> Allgemeine Java-Themen 6
A Einzelne Objekte und Unterobjekte einer ArrayList ausgeben Allgemeine Java-Themen 53
TheSepp Wie kann man Leerzeichen aus einer Array liste entfernen? Allgemeine Java-Themen 10
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
M Optimierung einer Methode (byte-Geraffel) Allgemeine Java-Themen 2
I Wie kann ich den Wert aus einer If abfrage ausgeben Allgemeine Java-Themen 23
S HTML einer Webseite 1:1 so bekommen wie es auch der Browser anzeigt? Allgemeine Java-Themen 14
melaniemueller Einzelne Zeile aus einer txt Datei in einem String speichern Allgemeine Java-Themen 12
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
J (Geplante) Änderungen an einer Datei vorübergehend speichern und anwenden? Allgemeine Java-Themen 12
ME2002 Fragen aus einer Java Klausur Allgemeine Java-Themen 67
G Obfuscate einer .jar-Datei mit ProGuard? Allgemeine Java-Themen 2
G Verknüpfung einer .jar-Datei (liegt z. B. auf dem Desktop) im Autostart-Ordner erstellen? Allgemeine Java-Themen 20
C Parsen einer sich updatenden Html mithilfe von jsoup Allgemeine Java-Themen 4
E Eine Methode einer extendeten Klasse deakitivieren Allgemeine Java-Themen 12
H Performance einer Monte-Carlo-Simulation verbessern Allgemeine Java-Themen 6
LimDul Kam eine java.net.URL zu einer HashMap und ging als DNS Anfrage wieder heraus Allgemeine Java-Themen 18
E Variablen Nach Übergabe einer Variable den Constructor aufrufen Allgemeine Java-Themen 16
Zeppi NullPointerException in einer if-Abfrage Allgemeine Java-Themen 6
G Abbruch einer ViewScoped Bean in Arbeit Allgemeine Java-Themen 2
Lukas2904 Schleife mit ansteuerung einer Klasse Allgemeine Java-Themen 5
d.lumpi Aus Einer Klasse auf ein Objekt einer anderen Klasse Zugreifen Allgemeine Java-Themen 1
Lukas2904 Wie kann man cps (ClicksPerSecond) in einer GUI anzeigen lassen? Allgemeine Java-Themen 4
O Produziert das Tool "jpackage" (ab JDK 14) .exe Dateien, die auf einer Zielumgebung ohne JRE lauffähig sind ?` Allgemeine Java-Themen 7
R Lambda Expression in einer Methode execute() aufrufen (execute() ist eine Methode aus dem funktionalen Interface Command) Allgemeine Java-Themen 5
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
N BlueJ Implementation einer Analoguhr Allgemeine Java-Themen 0
O Formatierte String ausgabe bei vier Variablen in einer Zeile Allgemeine Java-Themen 1
N Speicherort einer Datei im Explorer ändern Allgemeine Java-Themen 8
O Datentypen Wie kann ich den Typ einer ArrayList abfragen ? Allgemeine Java-Themen 7
O Leerzeichen und Umlaute im Pfad einer Java Applikation machen Probleme Allgemeine Java-Themen 13
H Mehrere PNG-Files in einer Datei Allgemeine Java-Themen 9
G Java Editor Löschen doppelter Zahlen einer Liste Allgemeine Java-Themen 2
J JSON Daten von einer Webseite erhalten Allgemeine Java-Themen 2
L RegEx für Teile einer Berechnung Allgemeine Java-Themen 14
L Erste Schritte TDD testen einer Methode mit injezierten Services? Allgemeine Java-Themen 12
J Zerlegen einer Zahl Allgemeine Java-Themen 6
Zrebna Wie kann man endgültig aus einer Rekursion ausbrechen? Allgemeine Java-Themen 14
MiMa Person in einer Arraylist hinzugügen mit Prüfung ? Allgemeine Java-Themen 6
Meeresgott Effizientester Weg um nach der Value einer verschachtelten Map aufzulösen Allgemeine Java-Themen 5
H Mehrere Datentypen in einer Arraylist speichern Allgemeine Java-Themen 9
MiMa Prüfziffer einer EAN Nummer berechnen Allgemeine Java-Themen 4
MiMa Erstellungsdatum einer Datei Allgemeine Java-Themen 10
Drachenbauer Wie kann ich einer existierenden Enum von außerhalb veränderte Werte zuweisen? Allgemeine Java-Themen 5
S HTML den ich von einer URL hole nicht identisch mit dem HTML im Browser Allgemeine Java-Themen 1
S Rückgabe einer HttpURLConnection für eine Seite einlesen bei der man eingeloggt ist..? Allgemeine Java-Themen 5
O Java-Applikation tut in Netbeans, als JAR nicht, wegen Pfadangaben einer benötigten Datei Allgemeine Java-Themen 8
M Hilfe bei einer Java Programmieraufgabe! Ab morgen Montag um 08:00 Uhr Allgemeine Java-Themen 5
J Algorithmen Analyse einer Schleife Allgemeine Java-Themen 6
Drachenbauer Wie finde ich den Aufrufer zu einer Methode, die sich nicht in meinem Projekt befindet? Allgemeine Java-Themen 2
J Die Letzte Zahl aus einer Text datei lesen Allgemeine Java-Themen 8
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
A Mithilfe von einer Nummer einen Namen finden n-Beziehung Allgemeine Java-Themen 8
Scream_ilias Auf einer Website die anmeldedaten eingeben Allgemeine Java-Themen 9
V Threads Probleme beim Aufrufen von Methoden einer anderen Klasse (Threads) Allgemeine Java-Themen 14
I Lohnt sich heutzutage der Aufwand einer Portierung für MacOS Allgemeine Java-Themen 8
J Suchen von einer Scannereingabe in einem HashSet Allgemeine Java-Themen 1
M Konstruktor einer Methode Allgemeine Java-Themen 35
L Echtzeitdaten aus einer Webseite ziehen mit Java Allgemeine Java-Themen 19
V EMail, Attachments auslesen von einer Email Allgemeine Java-Themen 0
T Google Links in einer Liste Allgemeine Java-Themen 4
T Sinn einer toString Methode Allgemeine Java-Themen 3
P Durchlaufen einer Queue Allgemeine Java-Themen 9
J Größe einer CD ermitteln Allgemeine Java-Themen 10
L Operatoren Java Reflections: Alle Methoden einer Klasse aufrufen ohne Exceptions Allgemeine Java-Themen 5
H Länge einer verketteten Liste Allgemeine Java-Themen 4
B Quellcode einer Java libary finden um zu copy & paste'n Allgemeine Java-Themen 5
N Daten einer JCoTable in JTextArea anzeigen Allgemeine Java-Themen 7
sascha-sphw Java 9 module Zugriff auf eine resource einer anderen JAR Allgemeine Java-Themen 0
N Generic Type einer Generischen Klasse während der Laufzeit bekommen Allgemeine Java-Themen 2
E Erstellen einer Liste mit einer maximalen Menge an Elementen Allgemeine Java-Themen 13
M Wie kann ich ein int[] Array in einer Methode benutzen? Allgemeine Java-Themen 6
T Compiler-Fehler NoClassDefFoundError beim Laden einer Class Allgemeine Java-Themen 11
H Klassen LibGDX - Verschiedene Klassen als Value in einer Map Allgemeine Java-Themen 8
P Element einer Liste wurde hinzugefügt, aber es gibt keinen Zugriff Allgemeine Java-Themen 2
E Elemente innerhalb einer ArrayList vergleichen Allgemeine Java-Themen 33
J Einen Thread in einer Schleife Allgemeine Java-Themen 2
temi Java Programm aus einer DB laden und starten Allgemeine Java-Themen 2
J int Werte in einer anderen Klasse in Arrays speichern Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben