Zum Inhalt springen
Informatik · Klasse 12 · Objektorientierte Modellierung und Software-Engineering · 1. Halbjahr

Einführung in die Objektorientierung

Die Schülerinnen und Schüler identifizieren die Kernkonzepte der Objektorientierung und ihre Vorteile in der Softwareentwicklung.

KMK BildungsstandardsKMK: Sekundarstufe II - Modellieren und Implementieren

Über dieses Thema

Die fortgeschrittene Modellierung mit der Unified Modeling Language (UML) bildet das Rückgrat moderner Softwarearchitektur in der Oberstufe. Schülerinnen und Schüler lernen hier, komplexe Realwelt-Szenarien in präzise Klassendiagramme zu übersetzen. Dabei stehen Konzepte wie Vererbung, Aggregation und Komposition im Mittelpunkt, um Abhängigkeiten sauber abzubilden. Die KMK-Standards betonen hierbei die Kompetenzbereiche Modellieren und Strukturieren, da die Lernenden Abstraktionsebenen schaffen müssen, die über reines Programmieren hinausgehen.

Besonders wichtig ist das Verständnis von Polymorphie und Interfaces, um flexible und wartbare Systeme zu entwerfen. In der 12. Klasse bereitet dieses Thema auf professionelle Entwicklungsprozesse vor, in denen die Planung vor der Implementierung steht. Die Modellierung verknüpft theoretische Informatikkonzepte mit praktischer Anwendung und schult das analytische Denken. Dieses Thema gewinnt massiv an Tiefe, wenn Schüler ihre Modelle in Kleingruppen gegenseitig prüfen und durch kollaborative Korrekturschleifen die Logik ihrer Entwürfe schärfen.

Leitfragen

  1. Analysieren Sie, wie Kapselung die Wartbarkeit und Sicherheit von Software verbessert.
  2. Erklären Sie die grundlegenden Prinzipien der Objektorientierung (Kapselung, Vererbung, Polymorphie).
  3. Begründen Sie die Notwendigkeit objektorientierter Ansätze für komplexe Softwaresysteme.

Lernziele

  • Erklären Sie die Konzepte von Klasse, Objekt, Attribut und Methode anhand eines einfachen Beispiels.
  • Analysieren Sie ein gegebenes Problem und identifizieren Sie potenzielle Klassen und deren Beziehungen.
  • Demonstrieren Sie die Anwendung von Kapselung durch die Implementierung von Getter- und Setter-Methoden.
  • Vergleichen Sie die Vorteile der Objektorientierung gegenüber prozeduralen Ansätzen für die Softwareentwicklung.
  • Entwerfen Sie ein einfaches Klassendiagramm für ein gegebenes Szenario.

Bevor es losgeht

Grundlagen der Programmierung: Variablen, Datentypen, Kontrollstrukturen

Warum: Ein grundlegendes Verständnis von Variablen, Datentypen und Kontrollstrukturen ist notwendig, um die Konzepte von Attributen und Methoden einer Klasse zu verstehen.

Einführung in Algorithmen und Datenstrukturen

Warum: Das Verständnis, wie Algorithmen Probleme lösen und Daten strukturiert werden, bildet die Basis für die Modellierung von Software mit Klassen und Objekten.

Schlüsselvokabular

KlasseEine Vorlage oder ein Bauplan für Objekte, die gemeinsame Eigenschaften (Attribute) und Verhaltensweisen (Methoden) definieren.
ObjektEine Instanz einer Klasse, die konkrete Daten (Attribute) und die zugehörigen Operationen (Methoden) enthält.
AttributEine Eigenschaft oder ein Merkmal eines Objekts, das seinen Zustand beschreibt (z. B. Farbe, Größe, Name).
MethodeEine Funktion oder ein Verhalten, das einem Objekt zugeordnet ist und Aktionen ausführt oder Daten manipuliert.
KapselungDas Bündeln von Daten (Attributen) und den Methoden, die auf diese Daten zugreifen, innerhalb einer Einheit (Klasse) und das Verbergen der internen Implementierungsdetails vor der Außenwelt.

Vorsicht vor diesen Fehlvorstellungen

Häufige FehlvorstellungVererbung wird nur genutzt, um Code zu sparen.

Was Sie stattdessen lehren sollten

Vererbung dient primär der Abbildung von 'Ist-ein'-Beziehungen und der Ermöglichung von Polymorphie. Durch Peer-Review von Diagrammen erkennen Schüler, dass eine falsche Vererbungshierarchie die Logik des Programms zerstört, auch wenn sie Tipparbeit spart.

Häufige FehlvorstellungEin UML-Diagramm muss jedes Detail des späteren Codes enthalten.

Was Sie stattdessen lehren sollten

UML ist ein Abstraktionswerkzeug zur Kommunikation von Architektur, kein 1:1 Abbild jeder Hilfsmethode. In Modellierungs-Workshops lernen Schüler, sich auf die wesentlichen Beziehungen und öffentlichen Schnittstellen zu konzentrieren.

Ideen für aktives Lernen

Alle Aktivitäten ansehen

Bezüge zur Lebenswelt

  • Softwareentwickler bei Automobilherstellern wie Volkswagen nutzen objektorientierte Prinzipien, um komplexe Systeme wie das Infotainmentsystem oder die Motorsteuerung zu modellieren und zu implementieren. Jedes Bauteil (z. B. Motor, Getriebe, Radio) kann als Objekt mit eigenen Attributen und Methoden betrachtet werden.
  • App-Entwickler für mobile Anwendungen, beispielsweise bei Zalando oder Lieferando, verwenden objektorientierte Ansätze, um Benutzeroberflächenelemente (Buttons, Textfelder) und Geschäftslogik (Bestellvorgang, Nutzerprofil) zu strukturieren. Dies ermöglicht eine modulare und wiederverwendbare Codebasis.

Ideen zur Lernstandserhebung

Lernstandskontrolle

Geben Sie jedem Schüler eine Karte mit einem einfachen Objekt aus dem Alltag (z. B. 'Auto', 'Buch'). Bitten Sie die Schüler, drei Attribute und zwei Methoden für dieses Objekt zu definieren und kurz zu erklären, wie Kapselung hier angewendet werden könnte.

Kurze Überprüfung

Stellen Sie eine Liste von Begriffen bereit (Klasse, Objekt, Attribut, Methode, Kapselung). Lassen Sie die Schüler jeden Begriff mit eigenen Worten definieren und ein kurzes, selbst gewähltes Beispiel für die Anwendung in der Programmierung geben.

Gegenseitige Bewertung

Teilen Sie die Klasse in Kleingruppen auf. Jede Gruppe erhält ein einfaches Szenario (z. B. 'Ein Online-Shop mit Produkten und Kunden'). Die Gruppen erstellen ein einfaches Klassendiagramm mit mindestens zwei Klassen und deren Beziehungen. Anschließend tauschen die Gruppen ihre Diagramme und geben sich gegenseitig Feedback zu Klarheit und Vollständigkeit der Modellierung.

Häufig gestellte Fragen

Warum ist UML in der Oberstufe trotz moderner Coding-Tools noch relevant?
UML fördert das abstrakte Denken unabhängig von einer spezifischen Programmiersprache. Es hilft Schülern, komplexe Probleme zu strukturieren, bevor sie sich in Syntax-Details verlieren. In der Oberstufe ist diese Fähigkeit zur Systemanalyse eine Kernkompetenz der KMK-Standards.
Wie kann aktives Lernen das Verständnis von Klassendiagrammen fördern?
Durch Methoden wie den Museumsgang oder Peer-Teaching müssen Schüler ihre Design-Entscheidungen verbalisieren und verteidigen. Dieser soziale Austausch deckt logische Lücken in der Modellierung schneller auf als das einsame Zeichnen am PC, da andere Perspektiven die Robustheit des Modells prüfen.
Welche Rolle spielt die Polymorphie im Abitur?
Polymorphie ist oft zentraler Bestandteil von Prüfungsaufgaben zur objektorientierten Programmierung. Schüler müssen zeigen, dass sie dynamische Bindung verstehen und wissen, wie ein allgemeiner Typ zur Laufzeit verschiedene konkrete Formen annehmen kann.
Wie unterscheidet man Komposition und Aggregation am besten?
Die Unterscheidung liegt in der Existenzabhängigkeit. Bei der Komposition kann das Teil nicht ohne das Ganze existieren (z.B. Raum in einem Haus). In Gruppenübungen lässt sich dies gut durch das 'Lösch-Szenario' simulieren: Was passiert mit den Objekten, wenn das Hauptobjekt gelöscht wird?

Planungsvorlagen für Informatik