Kann jedes System auch ohne Objektorientierung geplant und gebaut werden?
Ja, grundsätzlich lässt sich jedes System auch ohne Objektorientierung planen und bauen. OO ist also keine zwingende Notwendigkeit, sondern ein Ansatz mit nachgewiesenen Vorteilen.
Was haben die Erfahrungen der letzten 20 Jahre Software Engineering gezeigt?
Bei konsequenter Anwendung der Objektorientierung gibt es weniger Probleme mit der Skalierung, der Stabilität und der Erweiterbarkeit von IT-Systemen.
Als was kann Objektorientierung bei der Softwareentwicklung verstanden werden?
Als Prinzip und Mittel, um die Komplexität von Softwaresystemen in den Griff zu bekommen (zu beherrschen).
Welche drei Qualitätsziele lassen sich durch objektorientierte Konzepte relativ einfach realisieren?
: 1) Einfache Erweiterbarkeit, 2) bessere Testbarkeit, 3) bessere Wartbarkeit.
Was ist die zentrale Eigenschaft der gezielten Objekterstellung in OO-Systemen?
Objekte werden gezielt für abgeschlossene, klar abgegrenzte Funktionen und Aufgaben erstellt – jedes Objekt hat genau eine klar definierte Zuständigkeit.
Wie werden konkrete Funktionen und Aufgaben eines Objekts von außen aufgerufen?
Über Schnittstellen, konkret über die Methoden des jeweiligen Objekts – nicht durch direkten Zugriff auf dessen Daten.
Was ermöglichen klare Kapselung und klar definierte Schnittstellen für die Zukunft eines Systems?
Sie ermöglichen einen späteren einfacheren Austausch von Objekten oder eine Erweiterung des Systems – ohne die Stabilität oder Funktionalität des gesamten Systems einzuschränken.
Definiere Kapselung.
Kapselung bedeutet, dass die Daten (Attribute) eines Objekts vor direktem Zugriff geschützt sind. Andere Objekte können ausschließlich über die vom Objekt bereitgestellten Methoden auf diese Daten zugreifen.
Welche vier Vorteile bringt die Kapselung mit sich?
1) Fehler werden vermieden, 2) Daten werden geschützt, 3) Wartbarkeit wird verbessert, 4) Erweiterungen werden erleichtert.
Wie lautet der zentrale Merksatz zu Objekten und Kommunikation in OO-Systemen?
Jedes Objekt besitzt genau eine klar definierte Aufgabe und kommuniziert mit anderen Objekten ausschließlich über Methoden
Zeige am Kaffeemaschinen-Beispiel, wie "gezielte Erstellung von Objekten für abgeschlossene Aufgaben" konkret aussieht
Jedes Objekt hat genau eine Zuständigkeit: Wasserbehälter/Trinkwassernetz → Wasserversorgung; Wasserleitung → Wasser transportieren; Rückschlagventil → Strömungsrichtung regeln; Heizelement → elektrische Energie in Wärme umwandeln; Warmhalteplatte → Kaffeekanne wärmen; Filter → Kaffeepulver zurückhalten und Wasser durchlassen; Uhr → bei erreichter Zeit ein Signal auslösen.
Zeige am Kaffeemaschinen-Beispiel, wie sich Austausch und Erweiterung ohne Einschränkung der Stabilitätvollziehen lassen.
Der Wasserbehälter wird durch das Trinkwassernetz ausgetauscht – die Wasserleitung kooperiert einfach mit einem neuen Partner über dieselbe Schnittstelle. Die Uhr wird als neues Objekt an das Heizelement angeschlossen und erweitertdessen Funktion "Heizen" um eine Zeitsteuerung. In beiden Fällen bleiben alle anderen internen Zusammenhänge der Kaffeemaschine unverändert bestehen – das System bleibt stabil und funktionsfähig.
Welchen konkreten Vorteil für die Qualitätssicherung zeigt das Kaffeemaschinen-Beispiel (Bezug zu "bessere Testbarkeit")?
Da Zuständigkeiten klar gekapselt sind, muss bei einer Änderung (z. B. Einbau der Uhr) nicht das gesamte System neu getestet werden – es reicht, nur die betroffenen Teile zu testen.
Erklären Sie das Grundprinzip der objektorientierten Systementwicklung sowie die Rolle der Kapselung.
Die Objektorientierung betrachtet ein System als Zusammenspiel vieler kleiner, eigenständiger Objekte, die jeweils für eine klar abgegrenzte Aufgabe zuständig sind. Obwohl sich jedes System auch ohne OO bauen lässt, zeigen 20 Jahre Software-Engineering-Erfahrung, dass konsequente OO-Anwendung weniger Probleme bei Skalierung, Stabilität und Erweiterbarkeit verursacht. OO ist somit Prinzip und Mittel zur Beherrschung der Komplexität von Softwaresystemen und ermöglicht die Qualitätsziele einfache Erweiterbarkeit, bessere Testbarkeit und bessere Wartbarkeit. Zentral dafür ist die Kapselung: Daten eines Objekts sind vor direktem Zugriff geschützt und nur über bereitgestellte Methoden erreichbar. Dadurch werden Fehler vermieden, Daten geschützt, und Wartung sowie Erweiterung des Systems erleichtert.
Zuletzt geändertvor 20 Tagen