Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht
|
|
- Maria Beyer
- vor 8 Jahren
- Abrufe
Transkript
1 Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht
2 Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung?? Was sind Ihre Erwartungen an diese Fortbildung? 2
3 UML-Klassendiagramme: Sprachkonzepte
4 Übung zum Einstieg Ein Pizza-Lieferdienst möchte seine Bestellungen elektronisch verwalten. Welche Informationen muss das geplante Informationssystem erfassen bzw. vorhalten? Modellieren Sie ein UML-Klassendiagramm. 4
5 Grundlegende Sprachkonzepte 5
6 Klasse: Klassenname Attribute Methoden UML-Klassendiagramme: Grundlegende Sprachkonzepte (1) Assoziation Achtung: Assoziationen müssen bei der Implementierung! übersetzt werden (i. d. R. zu Attributen). 6
7 i Weitere Konzepte? Was wird hier modelliert? 7
8 Aggregation Abstrakte Klasse Vererbungsbeziehung! Weitere Sprachelemente können den Unterricht unterstützen. 8
9 Domänen vs. Implementierungsmodelle
10 Klassendiagramme werden in unterschiedlichen Phasen der Software-Entwicklung genutzt insb.: Domänenmodelle (frühe Entwurfsphasen) Implementierungsmodelle (späte Entwurfsphasen) Übersicht! Werden im Schulunterricht in unterschiedlichen Aufgabentypen genutzt. 10
11 A Implementierungsmodelle
12 Modellieren die Domäne einer Software aus Anwendersicht insb. Verwaltete Informationen Zentrale Funktionalitäten Domänenmodelle Kommunikationsinstrument zwischen den Beteiligten Programmierer Anwender Auftraggeber Abstraktionsebene: Verzicht auf Besonderheiten einer Programmiersprache Häufig unvollständige Modellierung 12
13 ? Was wird hier modelliert? i Beispiel Beispiel 13
14 Gemeinsam modellieren (Gruppenarbeit, Plenum) Bestehende Modelle interpretieren (siehe vorangegangene Beispiele) Modelle vergleichen Anwendung im Unterricht Entwurfsentscheidungen diskutieren! Domänenmodellierung ist Programmieren im Großen 14
15 Entwurfsentscheidungen diskutieren Beispiel: Rechteck Quadrat Gesucht: Repräsentation von Rechtecken und Quadraten für ein Geometrie-Programm. 15
16 1. Rechtecke sind spezielle Quadrate Entwurf Quadrate sind spezielle Rechtecke 16
17 Entwürfe Alles ist ein Rechteck 4. Alles ist ein Graphical Object 17
18 Welcher Entwurf ist geeignet?
19 Bewertung von Modellen Es gibt häufig verschiedene Lösungen für eine Problemstellung. Die Entscheidung für einen Entwurf wirkt sich auf nachfolgende Design- und Technologieentscheidungen aus.! Diskussion von Entwürfen ist typische Aufgabe aller Ingenieurs- und Technikfächer 19
20 B Implementierungsmodelle
21 Spezifikation und Dokumentation von Softwarekomponenten. Zielgruppe: Software-Entwickler Implementierungsmodelle Modelliert auch Implementierungsdetails (z. B. View- und Control-Klassen) Verfasst in der Notation der Programmiersprache Attribute (z. B. protected int zahl1) Methodendeklaration (z. B. public int setzahl1(int wert))! Besonderes Augenmerk gilt Softwareschnittstellen. 21
22 Übersetzungsaufgaben: Klassendiagramm -> Code. Anwendung im Unterricht Ergänzungsaufgaben: Klassendiagramme dokumentieren den bereitgestellten Code. Verteilte Entwicklung: Klassendiagramme spezifizieren die Softwareschnittstellen. (z. B. elektronischer Spieler)! Herausforderung: Assoziationen in Programmierkonzepte übersetzen. 22
23 C Software-Entwicklung
24 IT Perspektive Anwender-Perspektive Software-Entwicklung: Durchgängige Nutzung der Diagramme Analyse der Domäne Domänenmodell Entwurf: Implementierungsmodell Implementierung: Quellcode 24
25 Software-Entwicklung im Unterricht Modellierung ermöglichen schülerzentrierten Zugang zu den Phasen der Softwareentwicklung Klassendiagramme sind intuitiver als (nur) Pflichten- und Lastenheft. Durchgängige Beispiele sind möglich z. B. Freundesnetzwerk ( Class Book ) Stundenplanverwaltung Pizzalieferdienst Allgemein: Datengetriebene Anwendungen 25
26 Zusammenfassung, Tipps und Tools
27 Dienen statischem Entwurf (Komponenten, Daten) (in Abgrenzung zu dynamischem Entwurf: Prozesse) Fokus auf Klassen (OO-Sprachen) bzw. Module (nicht oo Sprachen) UML-Klassendiagramme Software-Entwicklung: Durchgängige Verwendung möglich (Domänenmodell, Implementierungsmodell, Code) 27
28 Klassendiagramme als Werkzeug im Unterricht nutzen (nicht nur Klassendiagramme unterrichten) Verdeutlichen, dass man je nach Zweck des Modells unterschiedlich präzise (und damit durchgängig) modellieren kann. Tipps Modellieren ist Programmieren im Großen: Man kann Software modellieren, die man im Unterricht sinnvoll nicht programmieren könnte. 28
29 Modellierungswerkzeuge Tools für Analyse und Design Modellierungswerkzeuge +Entwicklungsumgebung Microsoft Visio yed Violet UML Editor BlueJ JavaEditor AmaterasUML/Eclipse 29
30 Vielen Dank! Fragen? 30
31 Ergänzungen / Ausblick 31
32 Modelle vergleichen: Beispiel / Übung Erstelle ein UML-Klassendiagramm für die Mitgliederverwaltung von Sportvereinen. Modelliere die Klassen Verein, Person, Mitglied und Vorstandsmitglied und verbinde sie sinnvoll mit Assoziationen. Gibt es unterschiedliche Wege, das Modell korrekt zu erstellen? 32
33 Aus Klassendiagrammen lernen Beispiel Delegationsproblematik? Was ist hiervon zu halten? H. Schauer: Debugging-Aufgaben 33
34 dann doch besser so H. Schauer: Debugging-Aufgaben 34