Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel.

Post on 05-Apr-2015

110 views 0 download

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

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