Aufgabe Vorschlag A - 1 - UML-Klassendiagramme und Objekt… · Abitur Hessen Technische Informatik LK 2022
Thema: UML-Klassendiagramme und Objektdiagramme · Aus der Prüfung LK (2022)
Aufgabenstellung
Traktorfuhrpark
Die Digitalisierung hält schon seit vielen Jahren Einzug in die moderne Landwirtschaft. So sind Traktoren heutzutage oft vernetzte Fahrzeuge, die mittels GPS-Navigation automatisch die Spur halten können und Informationen über die eingesetzte Saatgut- und Düngemittelmenge sammeln und diese an eine Zentrale zur Auswertung weiterleiten. Solche Traktoren bedeuten eine hohe Investition für landwirtschaftliche Betriebe, so dass sich viele Betriebe die Traktoren bei Fuhrparks mieten.
Ziel ist es, einen Teil einer Online-Verwaltungssoftware für den Fuhrpark zu entwickeln. Kundinnen und Kunden (im Folgenden Kunden genannt) des Fuhrparks benötigen zunächst Registrierungsdaten, bestehend aus Username und Passwort, die sie von einer Sachbearbeiterin oder einem Sachbearbeiter (im Folgenden Sachbearbeiter genannt) des Fuhrparks erhalten. Bei dem Registrierungsvorgang werden auch Anschriftsdaten und eine Abbuchungserlaubnis für ein Bankkonto mit IBAN erfasst.
Um eine Buchung durchzuführen meldet sich der Kunde auf der Webseite an. Er wählt auf der Webseite einen Traktor nach Hersteller und Leistungsklasse aus und entscheidet, ob er einen Anhänger hinzubuchen möchte. Zur Auswahl stehen Transportanhänger und Saatgutverteiler. Die Transportanhänger sind nach unterschiedlichem Zuladegewicht auswählbar, die Saatgutverteiler nach der Saatkapazität in Quadratmetern pro Stunde. Jeder Traktor und jeder Anhänger haben einen Mietpreis pro Tag.
Als weiterer Service wird auch Saatgut mit einem Preis pro Zentner verkauft, welches einem Buchungsvorgang hinzugefügt werden kann. Die Verwaltungssoftware ermittelt aus den ausgewählten Traktoren und Anhängern sowie den zusätzlich gewünschten Saatgutmengen einen Angebotspreis. Der Kunde wählt einen freien Termin und kann den Angebotspreis akzeptieren und damit den Termin buchen.
Material 1: UML-Klassendiagramm
1.2
Das UML-Klassendiagramm in Material 1 zeigt einen Ausschnitt aus der Verwaltungssoftware. Beschreiben und erläutern Sie das dargestellte Klassendiagramm unter Verwendung folgender Stichworte: Klasse, Referenzvariablen (Objektreferenzen), Operation (Methode), Datentyp, Sichtbarkeit, Vererbung, abstrakte Klasse, Parameter, Assoziation und Multiplizität.
Hinweis: Die Attribute vom Datentyp int, double und String sowie alle Konstruktoren sind nicht zu beschreiben. [10 BE]
1.3
Der Kunde Heimeler hat für den 27.7.2021 einen Traktor des Herstellers Schwerlast mit einer Leistung von 700 kW sowie einen Saatgutverteiler mit einer Saatkapazität von 6000 Quadratmetern pro Stunde für zwei Tage bestellt. Als Saatgut wurden 20 Zentner Saatgut hinzugefügt. Die Angebotspreise betragen für den Traktor € 450,-/Tag, für den Saatgutverteiler € 180,-/Tag und für den Zentner Saatgut € 130,-.
Entwickeln Sie ein Objektdiagramm für das angegebene Szenario. Ergänzen Sie fehlende Informationen durch sinnvolle Werte. [6 BE]
1.6
Erläutern Sie den Begriff Polymorphie anhand des Klassendiagramms in Material 1. [5 BE]
1.7
In dem Klassendiagramm in Material 1 gibt es Optimierungspotenzial hinsichtlich der Vererbung. Entwickeln und erläutern Sie einen Änderungsvorschlag. [5 BE]
Antworten übermittelt. Vergleichen Sie Ihre Ausarbeitungen mit den Musterlösungen.

Lösung
Nach den offiziellen Korrekturhinweisen
1.2 Beschreiben und erläutern Sie das dargestellte Klassendiagramm unter Verwendung folgender Stichworte: Klasse, Referenzvariablen (Objektreferenzen), Operation (Methode), Datentyp, Sichtbarkeit, Vererbung, abstrakte Klasse, Parameter, Assoziation und Multiplizität.
Lösung: Die Methode main befindet sich in der Klasse FuhrparkIO. Die Klasse Kunde kann beliebig viele Buchungen besitzen. Dieses wird durch die unidirektionale Assoziation mit dem Namen besitzt und der Multiplizität 0..* in Richtung Buchung dargestellt. In der Klasse Kunde befindet sich die Referenzvariablenliste myBuchungen mit dem Datentyp Buchung, in die mithilfe der Methode neueBuchung() neue Buchungen zu der Liste hinzugefügt werden können. Als Parameter besitzt diese Methode eine buchung vom Datentyp Buchung. Die Klasse Buchung enthält eine Referenzvariablenliste warenkorb, in der die gebuchten Waren gespeichert werden. Diese werden mithilfe der Methode neueWare() zu der Liste hinzugefügt. Als Parameter besitzt diese Methode ein item vom Datentyp Ware. Es sind noch zwei weitere Methoden angegeben: Der Getter für das Attribut dauer mit dem Rückgabedatentyp int und die Methode angebotBerechnen mit dem Rückgabedatentyp double. Zwischen der Klasse Buchung und der abstrakten Klasse Ware existiert die bidirektionale Assoziation enthält. Eine Buchung kennt beliebig viele Waren, aber eine Ware kennt nur eine Buchung. Die Referenzvariable myBuchung für die Buchung in der Klasse Ware ist vom Datentyp Buchung und die Sichtbarkeit ist protected (#). In der Klasse Ware gibt es den Setter für die Referenzvariable myBuchung mit dem Parameter myBuchung mit dem Datentyp Buchung und die Methode myKosten mit dem Rückgabedatentyp double. Von der Klasse Ware erben die drei Klassen Anhaenger, Traktor und Saatgut (Vererbungs-Beziehung). In allen drei Klassen gibt es die Methode myKosten mit dem Rückgabedatentyp double. Von der abstrakten Klasse Anhaenger erben die beiden Klassen SaatgutVerteiler und TransportAnhaenger.
1.3 Entwickeln Sie ein Objektdiagramm für das angegebene Szenario. Ergänzen Sie fehlende Informationen durch sinnvolle Werte.
Lösung: Objekte und Attributbelegungen: - :Kunde mit name="Heimeler", userName="heimlich", Password="asdofjwe9", IBAN="DE123456789" - :Buchung mit datum="27.7.2021", dauer=2, verknüpft mit :Kunde - :SaatgutVerteiler mit saatkapazitaet=6000, kostenProTag=180.0 - :Traktor mit hersteller="Schwerlast", leistung=700.0, kostenProTag=450.0 - :Saatgut mit menge=20.0, kostenProZentner=130.0 Alle drei Positionen sind über Objektverknüpfungen (Links) mit der Buchung verbunden.
1.6 Erläutern Sie den Begriff Polymorphie anhand des Klassendiagramms in Material 1.
Lösung: Von Polymorphie spricht man, wenn zwei Klassen denselben Methodennamen verwenden, die Implementierung der Methoden sich aber unterscheidet. In der abstrakten Klasse Ware ist die Signatur der Methode myKosten() aufgeführt. Von dieser Klasse erben u. a. die Klassen Traktor und Saatgut. In der Klasse Traktor findet die Berechnung in myKosten() mittels dauer*kostenProTag statt, während in der Klasse Saatgut die Berechnung in myKosten() mittels menge*kostenProZentner erfolgt. Man spricht in diesem Zusammenhang auch davon, dass die Methode myKosten() überschrieben wird.
1.7 In dem Klassendiagramm in Material 1 gibt es Optimierungspotenzial hinsichtlich der Vererbung. Entwickeln und erläutern Sie einen Änderungsvorschlag.
Lösung: Unter der Klasse Anhaenger sind zwei Typen von Anhängern spezialisiert. Es gibt keine strukturellen Unterschiede zwischen den Anhängern und dem Traktor, so dass der Traktor auf die gleiche Ebene wie die Anhänger gestellt werden kann. Das bedeutet, dass die Klasse Anhaenger z. B. in Fahrzeuge umbenannt werden kann. Die Klasse Traktor würde dann von der Klasse Fahrzeuge erben, genauso wie die Klassen SaatgutVerteiler und TransportAnhaenger. Das Attribut kostenProTag ist schon in der jetzigen Klasse Anhaenger vorhanden, genauso wie die Behandlung der Kostenermittlung in der Methode myKosten(). Das heißt, dass sowohl das Attribut als auch die Methode im Sinne der Objektorientierung aus der Klasse Traktor entfernt werden können.
Die ausführliche Erklärung Schritt für Schritt (mit KI) gibt es mit Premium. Premium
Löse sie direkt hier: automatische Korrektur, Hinweise und Lösung Schritt für Schritt.
Aufgabe Vorschlag B - 1 - UML-Klassendiagramme und Objekt… · LK 2022 ›