Objektorientierte Modellierung

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Programmieren im Großen von Markus Schmidt und Benno Kröger.
Objektorientierung Auffassung der Software als eine Sammlung
Objektorientierte Programmierung
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Rollenbasierter Entwurf am Beispiel eines benutzeradaptierbaren Hyperbooks Institut für Informatik Rechnergestützte Wissensverarbeitung Universität Hannover.
Nachhaltige Unternehmensführung WS 2008/2009
Kapitel 4 Datenstrukturen
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
HG13_ Herzgen, Jung & Lorkowski
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Gliederung der Vorlesung Software Engineering WS 2001/2002
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Modellierung komplexer Realität mit Objekten
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Betreuerin: Kathleen Jerchel
DVG Klassen und Objekte
1 Teil 4 Übung: Uhr. 2 Zielsetzung Ziel ist es, mit Hilfe objektorientierter Modellierung ein System zu entwickeln, mit dem eine einfache Uhr simuliert.
Rational Rose und UML: Erstellung einer Kontoverwaltung
UML Begleitdokumentation des Projekts
Grundkurs Informatik Jahrgang 10 Der Grundkurs der Jahrgangsstufe 10 bereitet den an den Vorgaben für das Zentralabitur ausgerichteten Unterricht in der.
Visualisierung objektrelationaler Datenbanken
Objektorientierte Modellierung
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Simulation komplexer technischer Anlagen
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Spezifikation von Anforderungen
20:00.
Objektorientierte Programmierung
Unified Modeling Language Repetition / Einführung zu UML
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Generalisierung/Spezialisierung Subtypisierung/Vererbung
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Konzepte der objektorientierten Programmierung
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Objektorientierte Analyse
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
Analyse von Ablaufdiagrammen
UML-Kurzüberblick Peter Brusten.
Vom Geschäftsprozess zum Quellcode
SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 1.
Objektorientierung.
Objektorientierte Modellierung mit UML
Klassen und Klassenstruktur
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
1 VeranstaltungThemaVortragende AINF-Lehrgang 2003 Titel: Grundlagen der Objektorientierten Programmierung Name: Gruppe Programmierung.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Einführung in die Programmierung mit Java
Sichtbarkeit einschränken
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Objektorientierte (OO) Programmierung
 Präsentation transkript:

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 Smalltalk Alan Kay Komplexität reduzieren Objekte der realen Welt abbilden Quelle: http://en.wikipedia.org/wiki/Alan_Kay

Grundlagen der Oo. Daten aus Problembereich gruppieren Eigenschaften Attribute Operatoren Methoden Akteure sind Instanz einer Klasse

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

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

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

Grundlagen der Oo. Vererbung Polymorphismus 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

Grundlagen der Oo. Polymorphismus Späte Bindung gleichnamige 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 Programms Klassenzugehörigkeit des Objekts bestimmt welche Methode verwendet wird

Grundlagen der Oo. Macht`s einfach einfacher 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

Einführung in UML Unified Modeling Language Hilfsmittel zur Modellierung Dokumentation Spezifizierung Visualisierung komplexer Softwaresysteme

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

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

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

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

Einführung in UML Beziehungen zwischen Klassen Assoziation: Vererbung Implementierung Quelle: http://informatik.unibas.ch/lehre/ws06/cs203/se5.pdf

Einführung in UML Komposition Aggregation Elemente leben & sterben gemeinsam Aggregation part of Quelle: http://upload.wikimedia.org/wikipedia/commons/2/2b/Komposition_Aggregation.png

Einführung in UML Quelle: http://upload.wikimedia.org/wikiversity/de/b/b9/Klassendiagramme.pdf

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

Lehrplan Zu vermittelnde Kompetenzen: Grundideen und Grundkonzepte kennen Objektorientierte Modelle zu einfachen Problembereichen entwickeln und implementieren

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

Lehrplan Additum Leistungskurs: Verschiedene Beziehungsarten Vererbung 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

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

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

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

Stundenentwurf Eine Gruppe von Hundebesitzern möchte ihren jeweiligen (Quelle: http://www.hsf-degerloch.de/img_inh/ths_vm_05_2.jpg 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.

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 Schüler erhalten BlueJ-Projekt. PC

Stundenentwurf Quelle: eigener Entwurf

Stundenentwurf

Stundenentwurf Zeit Funktion Sozialform Medien 20 Methoden dressiereHund() sageKommando() HoereKommandoUndReagiere() implementieren. PA PC 5 Pause Kontrolle der Methoden, Fehlersuche 2 Mensch und 2 Hundobjekte erzeugen Dressur durchführen

Stundenentwurf

Stundenentwurf

Stundenentwurf Zeit Funktion Sozialform Medien 5 Objektdiagramm erstellen GU Tafel Notausstieg 1 10 Main Methode implementieren 3 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 HA: Welche Vorteile könnte Objektorientiertes vorgehen haben?

Vielen Dank für die Aufmerksamkeit!

Diskussion Sollte von Beginn an Objektorientiertes Programmieren und Modellieren vermittelt werden?

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