programmiermethodik ss 09 prof. albert zündorf fachgebiet für software engineering wilhelmshöher...
TRANSCRIPT
Programmiermethodik SS 09
Prof. Albert Zündorf
Fachgebiet für Software EngineeringWilhelmshöher Allee 73
34121 Kassel(Raum 1339 im Altbau)
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 2
Organisatorisches
Umfang: 4 SWS teils Vorlesungen teils Übungen Übungsbetreuung: Jörn Dreyer und Tutoren Ort und Zeit:
Vorlesung: Dienstags 12:00 - 13:30 Raum 0446 (Erste Vorlesung: 14.04.08)
Übung: Freitags 14:00 - 18:00 , Raum -1201 (CIP Pool unter der Mensa)(Erste Übung: Freitag, den 23.04.2008)
Prüfung: Pflichtübungsaufgaben (korrigiert, unbenotet, Voraussetzung zur
Klausur) Klausur in der vorlesungsfreien Zeit
Folienskript & Screen Videos: http://www.se.eecs.uni-kassel.de.
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 3
Literatur
Grundlegend: Helmut Balzert: Lehrbuch der Software-Technik (Bd.\ 1 und 2), Spektrum
Akademischer Verlag 1996 (viele Details, sehr umfassend, eher ein Nachschlagewerk)
Unified Modeling Language: Grady Booch, James Rumbaugh, Ivar Jacobson: The Unified Modeling
Language - User Guide, Addison Wesley 1999 (die haben das erfunden) Jochen Seemann, Jürgen Wolff von Gudenberg: Software Entwurf mit
UML; Springer 2000 (finde ich ziemlich gut) Martin Hitz, Gerti Kappel: UML @ Work, dpunkt.verlag (ziemlich gut) Albert Zündorf: Rigorous Software Development with UML, Draft,
Fachgebietsseiten
Hintergrund: Frederick P.\ Brooks: The Mythical Man Month, Addison Wesley 1975 (ist
nur kurz aber Gründungsmanifest der Softwaretechnik, unbedingt mal lesen)
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 4
Gliederung
1. Einführung
2. Objektdiagramme zur Analyse von Beispielen
3. Methodenentwurf
4. Test-First Prinzip
5. Story Driven Modeling
6. Zusammenfassung
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 5
1. Einführung
Ziele der Veranstaltung:
objektorientierte Modellierung
objektorientierte Szenarios
objektorientierte Programmierung
Test-First Prinzip
Unified Modeling Language
Story Driven Modeling
methodische Vorgehensweise zur Entwicklung größerer Programme (> 10000 LOC)
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 6
Modellierung: Kernkompetenz der Informatik
Am Anfange war das Bit:
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 7
Modellierung: Kernkompetenz der Informatik
Am Anfange war das Bit
Hex Codes: 9F A1 01
Assembler: add i 1store i
Hochsprachen: i = i + 1;
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 8
Modellierung: Kernkompetenz der Informatik
„Modellierung“
m = 3000 // Masse in Tonnenh = 1000 // Höhe in Kilometerv = 0 // Geschwindigkeit in m/secr = 1250 // Treibstoff in Tonnena = 0,6 // Mondanziehung in m/sec^2
F = m * a, s = v * t, . . .
„Reale Welt“
Modellierung
Interpretation
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 9
Modellierung: Kernkompetenz der Informatik
Am Anfange war das Bit
Hex Codes: 9F A1 01
Assembler: add i 1store i
Hochsprachen: i = i + 1;
Records, Pointer und Arrays: dist[1, 2] = 12;
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 10
Modellierung: Kernkompetenz der Informatik
„Reale Welt“ „Modellierung“
Modellierung
Interpretation
4km
12km
4km
4km
1km
1km
1km
6km6km
8km4km
1
2
3 4
56
7
8dist[1,2] = 12;dist[1,3] = 4;dist[2,5] = 1;dist[2,4] = 1;dist[3,4] = 4;dist[4,2] = 1;dist[4,5] = 4;dist[5,6] = 6;dist[5,8] = 4;dist[6,7] = 6;dist[8,7] = 8;
result = findDist(1,7);
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 11
Modellierung: Kernkompetenz der Informatik
Am Anfange war das Bit
Hex Codes: 9F A1 01
Assembler: add i 1store i
Hochsprachen: i = i + 1;
Records, Pointer und Arrays: dist[1, 2] = 12;
Objekte: bank.transfer(automat, kunde, datum, betrag);
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 12
Modellierung: Kernkompetenz der Informatik
„Reale Welt“ „Computer Vorstellung“
Konto: A. Muster 400,- € 200,- €
Modellierung
Interpretation
Automat: S-Bank1 1000,- € 800,- €
ort
kunde
Auszahlung: 4.3.09 200,- €
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 13
Beispielbrettspiel: Risiko
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 14
Vorlesungsbeispiel: rettet Prinz(essin) Ada
Aufgabe:
Wegesuche
Handicaps:
Räume kosten
genaue Geldmenge ausgeben
versteckte Geschenke
Fallen
. . .
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 15
Ausblick
Objektdiagramme selber entwerfen
Klassendiagramm ableiten
Klassen in Java implementieren
Objektstrukturen mit Java Programmen erzeugen
OO Algorithmen bauen