didaktik der informatik sommersemester 2009 referent: martin wendel
TRANSCRIPT
OBJEKTORIENTIERTE MODELLIERUNG
Didaktik der Informatik
Sommersemester 2009
Referent: Martin Wendel
2
Objektorientierte Modellierung
Grundlagen der Objektorientierung Einführung in UML Lehrplan Unterrichtsreihe Stundenentwurf
3
Grundlagen der Oo.
OO entstand in 1960ernSimula-67Smalltalk Alan Kay
Komplexität reduzieren
Objekte der realen Welt abbilden
Quelle: http://en.wikipedia.org/wiki/Alan_Kay
4
Grundlagen der Oo.
Daten aus Problembereich gruppieren
Eigenschaften○ Attribute
Operatoren○ Methoden
Akteure sind Instanz einer Klasse
5
Grundlagen der Oo.
Klasselegt Attribute und Methoden festBauplan für Instanzen beliebig viele Instanzen
Jede Instanz einer Klasse besitzt ○ eigene Werte für Attribute ○ eine eindeutige Identität.
Quelle: http://informatik.unibas.ch/lehre/ws06/cs203/se5.pdf
6
Grundlagen der Oo.
Instanz / Objekt
Verhalten durch Methoden bestimmtZustand durch Attribute beschriebeneigenständige Programmeinheitinteragieren mit anderen Objekten Kein unkontrollierter Zugriff von Außen
○ Datenkapsellung
7
Grundlagen der Oo.
Datenkapsellung
Die Implementierung des Objekts für die Außenwelt nicht sichtbar.
beschränkt die Sichtbarkeit von Attributen und Methoden
Schnittstellen regeln wie andere Objekte auf Objekt zugreifen können
Interner Zustand kann nicht unerwartet geändert werden
Quelle: http://informatik.unibas.ch/lehre/ws06/cs203/se5.pdf
8
Grundlagen der Oo.
Vererbungredundanzfreies Programmieren
Klassen übernehmen Eigenschaften und Verhalten von Ihrer „Superklasse“
Vererbte Attribute und Methoden können redefiniert werden.
PolymorphismusQuelle: http://www.der-wirtschaftsingenieur.de/bilder/it/klassendiagramm1.PNG
9
Grundlagen der Oo.
Polymorphismusgleichnamige Methoden
verhalten sich unterschiedlich in unterschiedlichen Klassen
Interfaces stellen sicher, dass die Aufrufe der Methoden immer gleich sind
Späte Bindung Zuordnung einer konkreten Methode erst zur Laufzeit
des ProgrammsKlassenzugehörigkeit des Objekts bestimmt welche
Methode verwendet wird
10
Grundlagen der Oo.
Nutzen der Objektorientierung
Verringerung der Komplexität○ Aufbau der Realität abbilden
Änderungen in objektorientierten Systemen meist auf Klassenebene○ Geringerer Änderungsaufwand
Polymorphismus und Vererbung ermöglichen
Wiederverwendung von Komponenten. Macht`s einfach einfacher
11
Einführung in UML
Unified Modeling Language
Hilfsmittel zur
ModellierungDokumentationSpezifizierung Visualisierung
komplexer Softwaresysteme
12
Einführung in UML
Funktionen der UMLAbstraktion / Vereinfachung Kernpunkte des Systems darstellenVerhindert sich beim Entwurf eines
Systems in Details zu verlieren!
Die meisten Systeme werden in Teamarbeit erstellt
→ Kommunikation ist notwendig
13
Einführung in UML
Nicht nur Programmierer sind in den Entwicklungsprozess involviert
gemeinsame, verständliche Sprache notwendig○ natürliche Sprache mehrdeutig und unpräzise○ Programmiersprachen nicht für alle
verständlich○ Graphische UML füllt diese Lücke
Vielfältige Beschreibungsmöglichkeiten
14
Einführung in UML
Quelle: http://www.sts.tu-harburg.de/teaching/ss-07/se-ss-07/05-Spezifikation-UML-Teil-1a.pdf
15
Einführung in UML
KlassendiagrammeStellen statische Struktur eines Systems dar
Zeigt Klassen mit Attributen und Operatoren
○ Klassen, Attribute und Operationen haben Namen
Sichtbarkeit bei Attributen & Operationen ○ + public○ private○ # protected
Quelle: http://informatik.unibas.ch/lehre/ws06/cs203/se5.pdf
16
Einführung in UML
Beziehungen zwischen Klassen
○ Assoziation:
○ Vererbung
○ Implementierung
Quelle: http://informatik.unibas.ch/lehre/ws06/cs203/se5.pdf
17
Einführung in UML
○ KompositionElemente leben &
sterben gemeinsam
○ Aggregationpart of
Quelle: http://upload.wikimedia.org/wikipedia/commons/2/2b/Komposition_Aggregation.png
18
Einführung in UML
Quelle: http://upload.wikimedia.org/wikiversity/de/b/b9/Klassendiagramme.pdf
19
Einführung in UML
ObjektdiagrammeAnordnung von Objekten zur Laufzeit
○ Art Schnappschuss des Systems Objekte haben Namen und Typ Optional Werte für Attribute angeben
Ähnliche Notation bei Klassen- und Objektdiagrammen
Quelle: http://info12.t-butsch.net/images/4/43/Objektdiagramm.jpg
20
Lehrplan
Zu vermittelnde Kompetenzen:
Grundideen und Grundkonzepte kennen
Objektorientierte Modelle zu einfachen Problembereichen entwickeln und implementieren
21
Lehrplan
Inhalte Grundideen und Grundkonzepte
Basiskonzepte der Objektorientierung: ○ Klasse, Objekt, Nachricht, Beziehung
Prinzipien der Objektorientierung:○ Abstraktion, Kapselung, Vererbung, Polymorphismus
Inhalte entwickeln und implementieren
Entwicklung Objektorientierter ModelleDarstellung Objektorientierter ModelleImplementierung Objektorientierter Modelle
22
Lehrplan
AdditumVerschiedene BeziehungsartenVererbung
Leistungskurs: gleicher WortlautObjektorientierte Modelle zu komplexen
Problembereichen entwickeln und implementieren
Vererbung gehört zu den Grundprinzipien der Oo. Daher unbedingt auch im GK zu vermitteln
23
Unterrichtsreihe
Kognitive Ziele:Schüler in die Lage versetzen:
Einen einfachen Sachverhalt aus objektorientierter Sicht zu begreifen
Klassendiagramme zu erstellen Klassen mit deren Beziehungen zu erkennenKlassen als Bauplan für Objekte zu begreifenEinfache Sachverhalte objektorientiert zu
modellieren und zu implementieren
24
Unterrichtsreihe
Psychomotorische Ziele
Fähigkeit der Schüler Wissen anzuwenden und Anderen zu erklären vertiefen.
Sich eigenständig in Gruppen mit der mit der Erfassung und Lösung eines informatischen Problemgegenstandes auseinandersetzen
25
Unterrichtsreihe
Aufbau der Unterrichtsreihe mehrere kleine Projekte
○ Motivation der Schüler hoch halten○ Binnendifferenzierung
Modellieren zunächst gemeinsam ○ Schrittweise mehr auf Schüler übertragen○ Modellierungskompetenz sicherstellen
Abschlussprojekt : ○ gemeinsames eigenständig in Gruppen
erarbeitetes Softwareprojekt
26
Stundenentwurf
Eine Gruppe von Hundebesitzern möchte ihren jeweiligen
Hund dressieren. Dazu gehen Sie mit Ihrem Hund auf einen
Dressurplatz. Dort geben sie Ihrem Hund verschiedene
Kommandos und der Hund reagiert darauf- oder auch nicht.
Je nach Reaktion des Hundes verhält sich der Hundebesitzer
unterschiedlich. Er lobt seinen Hund oder sagt, dass man das
noch üben muss.
(Quelle: http://www.hsf-degerloch.de/img_inh/ths_vm_05_2.jpg
27
Stundenentwurf
Zeit Funktion Sozialform Medien
5 Begrüßung, Aufmerksamkeit bündeln
FU OH / Beamer
15 Lehrer entwirft zusammen mit Schülern ein Diagramm zur Aufgabenstellung.• Identifikation der Klassen• Identifikation der Attribute• Identifikation der Methoden
GU Tafel
5 Schüler erhalten BlueJ-Projekt. PC
28
Stundenentwurf
Quelle: eigener Entwurf
29
Stundenentwurf
30
Stundenentwurf
Zeit Funktion Sozialform Medien
20 Methoden • dressiereHund()• sageKommando()• HoereKommandoUndReagiere()implementieren.
PA PC
5 Pause
5 Kontrolle der Methoden, Fehlersuche
PA PC
5 2 Mensch und 2 Hundobjekte erzeugenDressur durchführen
PA PC
31
Stundenentwurf
32
Stundenentwurf
33
Stundenentwurf
Zeit Funktion Sozialform Medien
5 Objektdiagramm erstellen GU Tafel
Notausstieg 1
10 Main Methode implementieren3 Menschobjekte &3 Hundobjekte erzeugt und eine Dressur durchführt.
PA PC
Notausstieg 2
15 Das Projekt selbstständig erweitern. Dabei Klassendiagramm und Objektdiagramm nutzen
GA PC
HA: Welche Vorteile könnte Objektorientiertes vorgehen haben?
34
Vielen Dank für die Aufmerksamkeit!
35
Diskussion
Sollte von Beginn an Objektorientiertes Programmieren und Modellieren
vermittelt werden?
36
Quellen BAUMANN, R. (19962): Didaktik der Informatik. Stuttgart. Berkenkötter, K. (2004):Unified Modeling Language. Internet: http://www.informatik.uni-
bremen.de/~roefer/pi2-04/10.pdf(12.06.09) Elmer, F.-J. (): Software Engineering. Klassendiagramme. Internet:
http://informatik.unibas.ch/lehre/ws06/cs203/se5.pdf()20.06.09) HARTMANN, W., NÄF, M. & REICHERT, R. (2006): Informatikunterricht planen und durchführen. Berlin. HUBWIESER, P. (20042): Didaktik der Informatik. Berlin, Heidelberg & New York. LAHRES, B., RAÝMAN G.(2006): Praxisbuch Objektorientierung. Internet:
http://openbook.galileocomputing.de/oo/oo_01_einleitung_000.htm#Xxx999137 (20.05.2009)) Marrone, R. (2007): Software Engineering. Internet: http://www.sts.tu-harburg.de/teaching/ss-07/se-ss-07/05-
Spezifikation-UML-Teil-1a.pdf
Ministerium für Bildung, Wissenschaft, Jugend und Kultur(o. J.): Lehrplanentwurf Informatik. Internet: http://informatik.bildung-rp.de/extern/service/lehrplaene.html (27.05.2009)
Ministerium für Bildung, Wissenschaft, Jugend und Kultur (2008): Lehrplanentwurf für das Wahlfach und das Wahlpflichtfach Informatik an Gymnasien und Integrierten Gesamtschulen. Internet: http://informatik.bildung-rp.de/extern/service/lehrplaene.html (27.05.2009)
Müller-Olm, M. ()2006) Softwareengineering. Internet: http://cs.uni-muenster.de/sev/teaching/ws0607/se/SE231106-6.pdf (3.06.09)
OESTERREICH,B.(20046): Objektorientierte Softwareentwicklung. Analyse und Design mit der UML 2.0. München.
Ram, S. (o. J.): Was ist Objektorientierte Programmierung. Internet: http://userpage.fu-
berlin.de/~ram/pub/pub_jf47ht81Ht/begriff_objektorientierte_programmierung_de RITTERSHOFER, A. (2003): Objektorientierte Hundedressur – ein anschauliches Beispiel für den
Informatik-Unterricht. Internet: http://www.dbg-metzingen.de/Menschen/Lehrer/Q-T/Rittershofer/Informatik/Objektorientierung/hundedressur.pdf (24.05.2009).
THOMAS, M. (o. J.):Objektorientierung?! Stellenwert und Konkretisierung im Informatikunterricht. Internet: http://ddi.cs.uni-potsdam.de/Personen/marco/Objektorientierung_mit_BlueJ_Thomas_LOGIN_3.pdf
(24.05.2009).