Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

36
OBJEKTORIENTIERTE MODELLIERUNG Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel

Transcript of Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

Page 1: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

OBJEKTORIENTIERTE MODELLIERUNG

Didaktik der Informatik

Sommersemester 2009

Referent: Martin Wendel

Page 2: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

2

Objektorientierte Modellierung

Grundlagen der Objektorientierung Einführung in UML Lehrplan Unterrichtsreihe Stundenentwurf

Page 3: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 4: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

4

Grundlagen der Oo.

Daten aus Problembereich gruppieren

Eigenschaften○ Attribute

Operatoren○ Methoden

Akteure sind Instanz einer Klasse

Page 5: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 6: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 7: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 8: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 9: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 10: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 11: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

11

Einführung in UML

Unified Modeling Language

Hilfsmittel zur

ModellierungDokumentationSpezifizierung Visualisierung

komplexer Softwaresysteme

Page 12: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 13: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 14: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

14

Einführung in UML

Quelle: http://www.sts.tu-harburg.de/teaching/ss-07/se-ss-07/05-Spezifikation-UML-Teil-1a.pdf

Page 15: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 16: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

16

Einführung in UML

Beziehungen zwischen Klassen

○ Assoziation:

○ Vererbung

○ Implementierung

Quelle: http://informatik.unibas.ch/lehre/ws06/cs203/se5.pdf

Page 17: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

17

Einführung in UML

○ KompositionElemente leben &

sterben gemeinsam

○ Aggregationpart of

Quelle: http://upload.wikimedia.org/wikipedia/commons/2/2b/Komposition_Aggregation.png

Page 18: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

18

Einführung in UML

Quelle: http://upload.wikimedia.org/wikiversity/de/b/b9/Klassendiagramme.pdf

Page 19: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 20: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

20

Lehrplan

Zu vermittelnde Kompetenzen:

Grundideen und Grundkonzepte kennen

Objektorientierte Modelle zu einfachen Problembereichen entwickeln und implementieren

Page 21: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 22: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 23: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 24: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 25: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 26: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 27: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 28: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

28

Stundenentwurf

Quelle: eigener Entwurf

Page 29: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

29

Stundenentwurf

Page 30: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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

Page 31: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

31

Stundenentwurf

Page 32: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

32

Stundenentwurf

Page 33: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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?

Page 34: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

34

Vielen Dank für die Aufmerksamkeit!

Page 35: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

35

Diskussion

Sollte von Beginn an Objektorientiertes Programmieren und Modellieren

vermittelt werden?

Page 36: Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

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).