1 / 36

Objektorientierte Modellierung

Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel. Objektorientierte Modellierung. Objektorientierte Modellierung. Grundlagen der Objektorientierung Einführung in UML Lehrplan Unterrichtsreihe Stundenentwurf. Grundlagen der Oo. OO entstand in 1960ern Simula-67

marina
Download Presentation

Objektorientierte Modellierung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Didaktik der Informatik Sommersemester 2009 Referent: Martin Wendel Objektorientierte Modellierung

  2. Objektorientierte Modellierung • Grundlagen der Objektorientierung • Einführung in UML • Lehrplan • Unterrichtsreihe • Stundenentwurf

  3. Grundlagen der Oo. • OO entstand in 1960ern • Simula-67 • Smalltalk • 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. • Klasse • legt Attribute und Methoden fest • Bauplan 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 bestimmt • Zustand durch Attribute beschrieben • eigenständige Programmeinheit • interagieren 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. • Vererbung • redundanzfreies Programmieren • Klassen übernehmen Eigenschaften und Verhalten von Ihrer „Superklasse“ • Vererbte Attribute und Methoden können redefiniert werden. • Polymorphismus Quelle: http://www.der-wirtschaftsingenieur.de/bilder/it/klassendiagramm1.PNG

  9. Grundlagen der Oo. • Polymorphismus • gleichnamige Methodenverhalten 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 Programms • Klassenzugehö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 • Modellierung • Dokumentation • Spezifizierung • Visualisierung komplexer Softwaresysteme

  12. Einführung in UML • Funktionen der UML • Abstraktion / Vereinfachung • Kernpunkte des Systems darstellen • Verhindert  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 • Klassendiagramme • Stellen 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 • Komposition • Elemente leben & sterben gemeinsam • Aggregation • partof 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 • Objektdiagramme • Anordnung 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 Modelle • Darstellung Objektorientierter Modelle • Implementierung Objektorientierter Modelle

  22. Lehrplan • Additum • Verschiedene Beziehungsarten • Vererbung • Leistungskurs: • gleicher Wortlaut • Objektorientierte 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 erkennen • Klassen als Bauplan für Objekte zu begreifen • Einfache 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

  28. Stundenentwurf Quelle: eigener Entwurf

  29. Stundenentwurf

  30. Stundenentwurf

  31. Stundenentwurf

  32. Stundenentwurf

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

More Related