Aufgabe Vorschlag B - 1 - Use-Case-Diagramme · Abitur Hessen Technische Informatik LK 2022
Thema: Use-Case-Diagramme · Aus der Prüfung LK (2022)
Aufgabenstellung
Rasenmähroboter
Roboter, die selbstständig den Rasen mähen können, sogenannte Rasenmähroboter, erfreuen sich in Deutschland immer größerer Beliebtheit. Sie werden nicht ferngesteuert, sondern mähen autonom die vorgegebene Fläche in geraden Bahnen. Die meisten Systeme nutzen zum Abgrenzen der zu mähenden Fläche ein Begrenzungskabel, durch das elektrische Signale geleitet werden, die der Rasenmähroboter beim Überfahren sensorisch erfassen kann (Material 1). Erkennt er die Begrenzung, dreht sich der Rasenmähroboter in einem zufälligen Winkel vom Kabel weg und fährt erneut in einer geraden Bahn weiter, bis er wieder an eine Begrenzung stößt. Nach diesem sogenannten Chaosprinzip erreicht und mäht der Rasenmähroboter, über eine gewisse Zeit betrachtet, alle Bereiche der Rasenfläche. Der Rasenmähroboter ist akkubetrieben und lädt sich selbstständig an einer in der Rasenfläche befindlichen Ladestation wieder auf. Die abgeschnittenen Grashalme werden nicht aufgefangen, sondern fallen einfach zu Boden.
1 Der Hersteller eines Rasenmähroboters plant ein Simulationsprogramm zu entwerfen, um den Fahralgorithmus des Rasenmähroboters zu testen und zu verbessern. Es haben zwei Personengruppen Zugriff auf dieses Simulationsprogramm: Die Entwickler oder Entwicklerinnen (im Folgenden Entwickler genannt) und die Simulatoren oder die Simulatorinnen (im Folgenden Simulatoren genannt). Die Entwickler erstellen neue Algorithmen oder optimieren bereits vorhandene Algorithmen. Die Simulatoren können Simulationen entwerfen, durchführen und löschen. Um eine Simulation durchzuführen muss sie zunächst entworfen werden, sofern sie noch nicht vorhanden ist. Zum Entwerfen einer Simulation ist es zwingend nötig, vorher einen Rasenmähroboter und eine Rasenfläche anzulegen. Außerdem können die Simulatoren vor dem Durchführen einer Simulation einen Algorithmus importieren.
Die zentrale Klasse Simulation ist vorgegeben (Material 2). Eine Simulation kann mehrere Algorithmen verwalten, während der einzelne Algorithmus in mehreren Simulationen verwendet werden kann. Die abstrakte Klasse Algorithmus beinhaltet die Informationen über den Namen des Algorithmus und den Namen des Erstellers sowie einen Wahrheitswert, ob sich der Algorithmus derzeit im Einsatz befindet. Des Weiteren ist ein statisches Attribut idAlgo vom Datentyp int enthalten, welches als Objektzähler fungiert. Zusätzlich liegt ein Attribut vom Typ String mit dem Bezeichner algorithmus vor, in dem die Fahrbefehle des Algorithmus verkettet als String gespeichert werden. Die Klasse Algorithmus beinhaltet Bewegungsmethoden, also je eine void-Methode für die Vorwärts- und Rückwärtsbewegung und je eine Methode für das Links- bzw. Rechtsdrehen. Die Methoden für die Vorwärts- und Rückwärtsbewegung erhalten als Parameter einen int-Parameter zeitS für die Angabe der Fahrzeit in Sekunden. Die Drehmethoden bekommen beim Aufruf einen int-Parameter mit einem Winkel übergeben. Zuletzt zählt noch die Methode pruefeHindernisVorne zu den Fahrbefehlen. Diese überprüft, ob sich vor dem Rasenmähroboter ein Hindernis befindet und gibt einen Wahrheitswert zurück. Eine weitere Methode zufallswinkel gibt nach Aufruf einen int-Wert zwischen 0 und 180 Grad zurück. Die zwei Klassen rekursiverAlgorithmus und iterativerAlgorithmus erben von der Klasse Algorithmus. Für rekursive Algorithmen wird in einem Attribut die Rekursionstiefe gespeichert. Für iterative Algorithmen wird in einem Attribut die Anzahl der Schritte gespeichert.
Material 1: Schaubild Funktion Rasenmähroboter
Material 2: UML-Klassendiagramm
1.1 Entwickeln Sie unter Berücksichtigung der obigen Beschreibung ein aussagekräftiges Use-Case-Diagramm (Anwendungsfalldiagramm). Bestimmen Sie dabei die menschlichen Akteure, die Beziehungen zwischen Akteuren und Anwendungsfällen und eventuell vorhandene include- bzw. extend-Beziehungen. [10 BE]

Lösung
Nach den offiziellen Korrekturhinweisen
1.1 Entwickeln Sie unter Berücksichtigung der obigen Beschreibung ein aussagekräftiges Use-Case-Diagramm (Anwendungsfalldiagramm).
Lösung: Akteure: - *Entwickler*: Verbunden mit den Use Cases „neue Algorithmen erstellen“ und „optimieren vorhandener Algorithmen“. - *Simulator*: Verbunden mit „Simulationen entwerfen“, „Simulationen durchführen“ und „Simulationen löschen“. Beziehungen: - „Simulationen entwerfen“ schließt verpflichtend (`<<include>>`) die Anwendungsfälle „Rasenmähroboter anlegen“ und „Rasenfläche anlegen“ ein. - „Simulationen durchführen“ wird erweitert (`<<extend>>`) durch „Simulationen entwerfen“ (Extension Point: Entwurf nötig, Bedingung: Simulation ist noch nicht vorhanden). - „Simulationen durchführen“ wird erweitert (`<<extend>>`) durch „Algorithmus importieren“.
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 A - 1 - Use-Case-Diagramme · LK 2022 · Aufgabe Vorschlag C - 1 - Use-Case-Diagramme · LK 2022 ›