Aufgabe 2 - Objektorientierte Modellierung mit Im… · Abitur NRW Informatik LK · Nachtermin 2021

Thema: Objektorientierte Modellierung mit Implementationsdiagrammen · Aus der Prüfung LK · Nachtermin (2021)

Aufgabenstellung

Aufgabenstellung:

Damit sich das Verkehrsaufkommen auf Fernstraßen genauer abschätzen lässt, finden regelmäßig Verkehrszählungen statt. Im Zuge der Digitalisierung soll dieser Vorgang automatisiert ablaufen. Eine Kamera und eine passende Bilderkennungssoftware sollen dazu die Ortskürzel (auch Ortskennzeichen genannt) der vorbeifahrenden Kraftfahrzeuge (Kfz) selbstständig erfassen und zählen. Die Daten werden in einem binären Suchbaum abgelegt, dessen Ordnung auf der alphabetischen Reihenfolge der Ortskürzel beruht.

Die Zählsoftware soll um weitere Merkmale ergänzt werden. Für jede Messung sollen der exakte Zeitpunkt sowie die Fahrzeugklasse des Fahrzeugs, das die Zählstelle durchfuhr, festgehalten werden. Dabei wird bei der Fahrzeugklasse zwischen dem üblichen Personenverkehr mit Pkw auf der einen Seite und allen übrigen, vor allem größeren Kraftfahrzeugen auf der anderen Seite (z. B. Bussen, Traktoren und Lastkraftwagen) unterschieden.

Grundlage der Software ist das Implementationsdiagramm, von dem die folgende Abbildung 2 einen Ausschnitt zeigt. Die Dokumentation der verwendeten Klassen befindet sich im Anhang.

b)

Analysieren Sie die Modellierung, die im Implementationsdiagramm in Abbildung 2 dargestellt ist, indem Sie im Sachzusammenhang erläutern, welche Bedeutung die Klassen, das Interface und die Beziehungen zwischen ihnen haben.

Erläutern Sie, weshalb ein binärer Suchbaum für die Verwaltung der Ortsdaten gegenüber einer linearen Liste besonders geeignet ist.

Erläutern Sie, weshalb es zweckmäßig ist, die Daten im Suchbaum nach Ortskürzeln statt nach Zeitstempeln zu ordnen.

[12 Punkte]

d)

Weil täglich mehrere Verkehrszählungen an verschiedenen Standorten und in verschiedenen Zeiträumen stattfinden, soll die Software beliebig viele Zählungen getrennt voneinander verwalten können. Zu jeder Zählung sollen ihr Standort (genaue Adresse mit Straße, Hausnummer, Postleitzahl und Ort) sowie ihr Beginn und ihr Ende gespeichert werden.

Entwerfen Sie ausgehend von der Modellierung in Abbildung 2 eine erweiterte Modellierung in Form eines Implementationsdiagramms, die den oben genannten Anforderungen genügt.

Hinweis: Stellen Sie in Ihrer Lösung nur diejenigen Teile dar, die eine Veränderung zu Abbildung 2 darstellen. Geben Sie in den relevanten Klassen lediglich die Konstruktoren an; weitere Methoden müssen nicht dargestellt werden.

Erläutern Sie die von Ihnen erweiterte Modellierung.

[10 Punkte]

Aufgabenstellung: Aufgabe 2 - Objektorientierte Modellierung mit Im… · Abitur NRW Informatik LK · Nachtermin 2021

Lösung

Nach den offiziellen Korrekturhinweisen

b) Analysieren Sie die Modellierung und begründen Sie Datenstrukturwahl und Ordnungskriterium.

Lösung: Die Klasse Zaehlung führt die Erfassung neuer Fahrzeuge durch und verwaltet im Attribut verkehrszaehlung die entsprechenden Messdaten in Form eines binären Suchbaums, der nach Ortsdaten sortiert ist. Die Knoten des Suchbaums verwalten entsprechend Objekte der Klasse OrtsDaten, die wiederum das notwendige Interface ComparableContent implementiert. Jedes der Ortsdaten-Objekte beinhaltet die Information über das Ortskürzel und verwaltet wiederum eine Liste mit Messungen. Jede Messung speichert dabei, welcher Kfz-Klasse das jeweils erfasste Fahrzeug angehörte und zu welchem Zeitpunkt die Messung erfolgte. Zu diesem Zweck besitzt jedes Objekt der Klasse Messung ein Objekt der Klasse Zeitstempel. Der binäre Suchbaum ist zum einen deshalb geeignet, weil die Menge der während des Messzeitraums auftauchenden Ortskürzel unbestimmt ist und binäre Suchbäume dynamische Datenstrukturen sind. In dieser Hinsicht wäre die lineare Liste genauso gut geeignet. Zum anderen sind allerdings Such- und Einfügeaufwand im Binärbaum im Vergleich zur Liste vor allem bei großen Datenmengen in aller Regel deutlich niedriger (sofern dieser nicht entartet, was im Anwendungskontext aber nicht zu erwarten ist), weshalb sich der Binärbaum besonders anbietet. Eine Sortierung nach Zeitstempeln wäre unsinnig, da alle Messungen in zeitlich aufsteigender Reihenfolge stattfinden und vergleichsweise selten zwei Fahrzeuge in derselben Sekunde die Zählstelle passieren. Somit würde ein entsprechender Suchbaum schnell degenerieren und damit den Vorteil des schnellen Suchens und Einfügens verlieren.

d) Entwerfen Sie eine erweiterte Modellierung in Form eines Implementationsdiagramms.

Lösung: Erweiterung des Implementationsdiagramms: - Neue Klasse `Zaehlungsverwaltung` mit Konstruktor `+Zaehlungsverwaltung()` und gerichteter Assoziation `-zaehlungen` auf `List<ContentType: Zaehlung>`. - Erweiterte Klasse `Zaehlung` mit Konstruktor `+Zaehlung(pStandort: Standort, pBeginn: Zeitstempel, pEnde: Zeitstempel)` und gerichteten Assoziationen: - `-standort` auf `Standort` - `-beginn`, `-ende` auf `Zeitstempel`. - Neue Klasse `Standort` mit den privaten Attributen `-strasse: String`, `-nummer: String`, `-plz: String`, `-ortsname: String` sowie dem Konstruktor `+Standort(pStrasse: String, pNr: String, pPLZ: String, pOrtsname: String)`.

d) Erläutern Sie die von Ihnen erweiterte Modellierung.

Lösung: Die neue Klasse Standort verwaltet die geforderten Daten für jeden Standort. Der Konstruktor versieht neue Objekte der Klasse bereits bei der Initialisierung mit einem vollständigen Datensatz, der durch einzelne Parameter übergeben wird. Die neue Klasse Zaehlungsverwaltung verwaltet alle Zählungen in Form einer generischen Liste als Assoziation zaehlungen. Die Klasse Zaehlung wurde um die Assoziation standort erweitert, welches auf ein Objekt der neuen Klasse Standort verweist. Ebenso wurde sie um zwei Assoziationen beginn und ende erweitert, die den Zeitraum der Messung beschreiben. Da jede Zählung einen Standort, einen Beginn und ein Ende haben muss, wird auch der Konstruktor der Klasse Zaehlung um entsprechende Parameter ergänzt.

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 1 - Objektorientierte Modellierung mit Im… · LK · Nachtermin 2021

Mehr Aufgaben zu Objektorientierte Modellierung mit Implementationsdiagrammen