Aufgabe Vorschlag AJ - Aufgabe 1 · Abitur Hessen Informatik GK 2021
Thema: Objektorientierte Modellierung mit UML · Aus der Prüfung GK (2021)
Aufgabenstellung
Fitnessarmband
Fitnessarmbänder erfreuen sich einer immer größeren Beliebtheit. Diese sogenannten Fitnesstracker zeichnen verschiedene Daten auf, um so Rückschlüsse auf den Gesundheitszustand bzw. das sportliche Bewegungsverhalten ziehen zu können. Mit den gewonnenen Daten können Trainingseinheiten gezielt überwacht und ausgewertet werden. Im Folgenden wird ein Ausschnitt eines Fitnesstrackers modelliert.
Innerhalb der Klasse Fitnessarmband werden Name, Geschlecht, Körpergröße und Schrittlänge des Benutzers verwaltet. Außerdem erzeugt die Klasse Fitnessarmband mittels der Methode erstelleTagesleistung() jeden Tag ein Objekt der Klasse Tagesleistung, das am Ende des Tages im Feld meineTagesleistungen gespeichert wird.
Die Klasse Tagesleistung speichert für ein Datum sowohl die Anzahl der Schritte als auch den Puls jeweils zu jeder vollen Minute ( mal) automatisch mit Hilfe der Methode setzeSchritte(...) bzw. setzePuls(...) in den Feldern Schritte bzw. Pulswerte ab. Als Methoden existieren gibMinPuls(), gibMaxPuls() und gibDurschnittPuls(), die den niedrigsten, den höchsten bzw. den durchschnittlichen Tagespuls ermitteln. Die Methode berechneWegstrecke(double Schrittlänge) berechnet aus Schrittlänge und den Schritten die zurückgelegte Wegstrecke. Die Methode setzePuls(int Stunde, int Minute, int Pulswert) speichert den aktuellen Pulswert am entsprechenden Index im Feld Pulswerte.
1.1
Modellieren Sie die Klassen Fitnessarmband und Tagesleistung gemäß obigen Anforderungen als UML-Klassendiagramm. Auf die Angabe der get/set-Methoden kann verzichtet werden. [8 BE]
1.2
Erläutern Sie anhand des UML-Klassendiagramms aus Aufgabe 1.1 das Geheimnisprinzip. [5 BE]

Lösung
Nach den offiziellen Korrekturhinweisen
1.1 Modellieren Sie die Klassen Fitnessarmband und Tagesleistung gemäß obigen Anforderungen als UML-Klassendiagramm. Auf die Angabe der get/set-Methoden kann verzichtet werden.
Lösung: UML-Klassendiagramm mit den beiden Klassen `Fitnessarmband` und `Tagesleistung`: - `Fitnessarmband` besitzt private Attribute (`Name: String`, `Geschlecht: char`, `Größe: int`, `Schrittlänge: double`, `meineTagesleistungen: Tagesleistung[]`) und Methoden (`Fitnessarmband()`, `erstelleTagesleistung()`). - `Tagesleistung` besitzt private Attribute (`Datum: String`, `Schritte: int[]`, `Pulswerte: int[]`) und öffentliche Methoden (`Tagesleistung(Datum: String)`, `gibMinPuls(): int`, `gibMaxPuls(): int`, `gibDurchschnittPuls(): int`, `berechneWegstrecke(Schrittlänge: double): double`, `setzePuls(...)`, `setzeSchritte(...)`). - Zwischen beiden Klassen besteht eine gerichtete Assoziation / Aggregation.
1.2 Erläutern Sie anhand des UML-Klassendiagramms aus Aufgabe 1.1 das Geheimnisprinzip.
Lösung: Das Geheimnisprinzip besagt, dass die Implementierungsdetails einer Klasse verborgen werden sollen. Es wird so als Datenkapselung umgesetzt, dass Attribute einer Klasse die Sichtbarkeit private erhalten und somit von außen nicht direkt zugreifbar sind. Dies gilt im Diagramm von Aufgabe 1.1 für alle Attribute. Auch der Zugriff auf Methoden kann so verhindert werden. Im obigen Klassendiagramm sind allerdings keine privaten Methoden vorhanden. Die Attributwerte können von außen über Methoden mit der Sichtbarkeit public, also die öffentliche Schnittstelle, abgefragt bzw. verändert werden. Bei Tagesleistung sind alle Methoden public.
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 AJ - Aufgabe 5 · LK 2022 · Aufgabe Vorschlag AJ - Aufgabe 4.1 - Objektorientierte Mo… · GK 2021 ›
Mehr Aufgaben zu Objektorientierte Modellierung mit UML
- Aufgabe Vorschlag AJ · GK 2022
- Aufgabe Vorschlag AJ - 3.1 - UML-Modellierung · GK 2022
- Aufgabe Vorschlag AJ - Aufgabe 1 · LK 2022
- Aufgabe Vorschlag AJ - Aufgabe 5 · LK 2022
- Aufgabe Vorschlag AJ - Aufgabe 4.1 - Objektorientierte Mo… · GK 2021
- Aufgabe Vorschlag AJ - Aufgabe 1 · LK 2021
- Aufgabe Vorschlag AJ - Aufgabe 3.1 - Objektorientierte Mo… · LK 2021