Klassendiagramm UML

Kovanlik07

Mitglied
Guten Morgen Zusammen!

Ich bin in dem Bereich Klassendiagramme noch nicht so geübt drin und würde mich freuen, wenn jemand mir hierbei weiterhelfen könnte.

Es geht um die folgende Aufgabe:

Es soll ein Fahrtenbuch in Form eines Klassendiagramms mit folgenden Funktionen realisiert werden:

1. Die LKWs sollen mit Bezeichnung, Baujahr, und Anschaffungspreis gespeichert werden.
2. Eine Verwaltung der LKW-Nutzer mit Name, Geburtsdatum und Geschlecht soll möglich sein.
3. Die LKW-Nutzer sollen ihre einzelnen Fahrten im System erfassen können.
4. Die jährliche Kilometerzahl sowohl der LKWs als auch der LKW-Nutzer soll vom System berechnet werden.
5. Das System soll eine Liste aller Einzelfahrten pro Mitarbeiter drucken.
 

JStein52

Top Contributor
In einem Klassendiagramm malt man die einzelnen Klassen in Kästchen, mit Attributen und Methoden und den Beziheungen der Klassen untereinander per Pfeilen. Beziehungen können entweder Vererbungen sein (Klasse ist ein ....) bzw. Aggregationen (Klasse enthält ein ....) Google mal nach UML Klassendiagramm und schaue es dir noch mal an und versuche es für deine Klassen LKW, Fahrer, Fahrten umzusetzen.
Und irgendwie fehlt dir noch eine Kontrollerklasse die die Businesslogig enthält.
 

Bitfehler

Bekanntes Mitglied
@JStein52 :
Wäre "Klasse enthält ein ..." nicht eher ein Kompositionsmuster?
Ok, es ist ein Spezialfall der Aggregation. Aber eine Aggregation setzt nicht zwingend eine Multiplizität von eins voraus.

@TE:
Je nach Quelle werden Beziehungen auch als Assoziation bezeichnet. Nicht verwirren lassen.
 

Jardcore

Top Contributor
Ich würde noch eine Klasse für Geschlecht einführen... siehe Facebook, die haben 60 Geschlechter, alles andere ist ja nicht mehr Zeitgemäß (Total Recall lässt grüßen)

Klassen:
Lkw
- String bezeichnung
- String baujahr
- double anschaffungspreis

LkwNutzer (Fahrer)
- String name
- String geburtsdatum
- Geschlecht geschlecht

Fahrt
- LkwNutzer fahrer
- Lkw lkw
- double kilomenter

Zu einer Fahrt gehört genau 1 Fahrer und ein Lkw

LkwSystem
- List<Fahrt> fahrten

Das System hat eine Liste alle Fahrten (n) man kann anhand der Liste die gewünschten Operationen ausführen. Die Liste ist nicht performant. Aber wie genau die Fahrten gespeichert werden war nicht gefordert. Man sollte hier vielleicht eine bessere Lösung wählen.

Geschlecht (Enum)
- MAENNLICH
- WEIBLICH


Das Drucken der Fahrten geschieht dann indem man einfach die Liste der Fahrten durchiteriert.
Für diese Aufgabe hätte das System wahrscheinlich 3 methoden:
druckeFahrten();
getKilometerDesLkws(Lkw lkw);
getKilomenterDesFahrers(Fahrer fahrer);

Verbesserung wäre hierbei jedoch extra Listen für Fahrer und Lkw bereit zu halten.

Die Aufgabe erinnert ein wenig an Datenbankaufgaben, bei denen durch joins die gewünschten Abfragen gemacht werden können.
 
Zuletzt bearbeitet:

JStein52

Top Contributor
Verbesserung wäre hierbei jedoch extra Listen für Fahrer und Lkw bereit zu halten.
Sind das nicht die Punkte 1.) und 2.) der Aufgabenstellung. Und wenn man keine Listen hat sondern das alles nur über die Fahrten (mit)verwaltet muss man bei Eingabe einer neuen Fahrt immer den LKW und den Fahrer mit eingeben ?! Und wenn du einen neuen LKW hast der erst mal nur rumsteht taucht der im System zunächst nicht auf.

An den TE:
Zum Klassendiagramm gehören jetzt natürlich noch die Methoden ....
 

Jardcore

Top Contributor
Ja ein Lkw kann ja einfach nur rumstehen, es wird für das Unternehmen erst interessant, wenn der Lkw sich bewegt. Also wenn man new Lkw() macht und den nicht benutzt steht er quasi nur rum^^

Ich würde zu meinem Beitrag noch etwas hinzufügen, ich weiß nur nicht wie weit die Java-Kenntnisse des TE sind.
Man könnte ein Interface hinzufügen.
ZaehltKilometer
anhand des Interfaces würde die Systemklasse weniger Abfragen machen müssen.
Zusätzlich könnte man dann die schon oben erwähnte schwäche des System verbessern indem man Maps benutzt.
Java:
private Map<ZaehltKilomenter, List<Fahrt>> fahrtenDerFahrer = new HashMap<ZaehlKilomenter, List<Fahrt>>();
private Map<ZaehltKilomenter, List<Fahrt>> fahrtenDerLkws = new HashMap<ZaehlKilomenter, List<Fahrt>>();

Nur im LkwSystem gibt es mehr als nur Getter und Setter Methoden. Es kommt immer drauf an wie genau ein Professor/Lehrer/Auftraggeber die Methodendeklaration haben möchte. Einige lassen Getter und Setter auch weg.

Edit:
Das LkwSystem hätte (zumindestens in meinem Kopf) jetzt 4 public Methoden:
> addFahrt(Fahrt fahrt);
> getGefahreneKilometer(LkwNutzer nutzer);
> getGefahreneKilometer(Lkw lkw);
> druckeFahrten(LkwNutzer nutzer);

Und dann noch (wenn man Interfaces benutzt) 4 private Methoden:
> addFahrtZuDenFahrtenDesFahrers(Fahrt fahrt);
> addFahrtZuDenFahrtenDesLkws(Fahrt fahrt);
> addFahrtZurListeFahrten(Map<ZaehltKilomenter, List<Fahrt>> map, ZaehlKilomenter object, Fahrt fahrt);
> getGefahreneKilometer(List<Fahrt> fahrten);

Alle Angaben ohne Gewähr^^ Die Namen könnte man wahrscheinlich auch noch besser wählen. "ZaehltKilometer object" ist jetzt nicht so geil^^
 
Zuletzt bearbeitet:
Ä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
S Klassen Klassendiagramm Implementierung? Java Basics - Anfänger-Themen 5
A Klassen UML Klassendiagramm Java Basics - Anfänger-Themen 5
C Erste Schritte UML Klassendiagramm einen Prüfungsplan erstellen Java Basics - Anfänger-Themen 3
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

Ähnliche Java Themen

Neue Themen


Oben